Hi all, On Tuesday 20 Jul 2010 00:01:09 Uri Guttman wrote: > gack, this thread is annoying. so here are some high level philosophical > questions to think about regarding languages. > > first off, why are there so many languages? and by many, i mean > thousands and more. how many of you have invented a language (even a > mini-lang)?
Well, part of the reason why there are so many languages is that people invent new languages to fix problems they see in older languages: http://www.paulgraham.com/fix.html ("What Languages Fix") Or as someone told me on IRC once (from memory) "People do incremental improvements on languages and come up with somewhat better languages, and then someone says 'That's a kludge. Let's redesign everything', and so the cycle starts all over again'. I have invented a few languages of my own for various purposes. Some of them are formatting languages or XML grammars for various purposes. But I also have had stuff like http://search.cpan.org/dist/Test-Count/ which is more like programming. > > no one seems to have mentioned turing compatibility. this means > something deep in all the langs mentioned. discuss. Turing completeness? What do you wish to discuss about it? > > what about all those langs that were meant to conquer computing > civilization? PL/I, COBOL, ALGOL and even the dreaded ADA. c actually > conquered more than all of them. do you consider c a high level > language? Well, most code out there is still written in COBOL: http://www.codinghorror.com/blog/2009/08/cobol-everywhere-and-nowhere.html The term high-level language used to mean every language above Assembly. However, C is already considered more low-level than, say, Perl, Python, Ruby, Lisp, etc. So you might say it is a "mid-level programming language". > > should you learn assembler? is there work in it (yes)? what would > assembler teach you when using a high level lang? Yes, you should learn Assembly. See: http://onlamp.com/pub/a/onlamp/2004/05/06/writegreatcode.html ("Why Learning Assembly Language Is Still a Good Idea") Assembly would teach you how a computer executes your program and what can be done to write good, efficient and safe code. > > what does it mean when you like or dislike a lang? in a non-technical > way why did you make that decision? Well, I can normally point to aspects of a language I dislike that I dislike about it. > > have any of you ever read an ANSI standard for a language? or tried to > implement parts of a standard like that? hell, reading ANSI standards is > a major skill in its own right! I have read portions of standards but not the whole thing. > > are languages for people or computers? > Well, humans would likely have little use for programming languages if we didn't need them to instruct a computer what to do. So primarily programming languages are intended for computers. SICP ( http://mitpress.mit.edu/sicp/ ) claims the opposite, but as a commenter on a web forum noted they contradicted this statement due to their decision to switch to introducing programming using Python due to its better support for robotics. Regards, Shlomi Fish > enuff for now. let's see what you all have to say before i drop my $.02 > back in. > > uri -- ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ Understand what Open Source is - http://shlom.in/oss-fs God considered inflicting XSLT as the tenth plague of Egypt, but then decided against it because he thought it would be too evil. Please reply to list if it's a mailing list post - http://shlom.in/reply . _______________________________________________ Boston-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/boston-pm

