Oddly enough, I tend to think of Ocaml as a "functional C". You can do low-level imperative stuff with it, if you wish, but you usually end up abstracting the unimportant details out and going functional quickly.
How to Pick a Language
21–30 of 73 posts
Re: How to Pick a Language
#22Earlier quoted context omitted.
Pick PHP if you want to use Wordpress, phpBB, Drupal, and a wealth of other great open-source web apps. P.S. Final post; great community here!
What do you mean final post???
You don't really learn PHP so much as catch it. Like a disease.
At the risk of being modded down, the comment has some merit. PHP programmers usually gravitate to PHP without having much experience with related, but supposedly better, languages like Ruby, Python, Lua, etc. But PHP programmers who really dig into programming often leave for other languages. The Ruby and Python communities are full of ex-PHPers. But how many people from the Python or Ruby communities leave for PHP?
This isn't to say that PHP has no merit. It was my first web programming language. But maybe its merits don't stack up well against other languages, which is the subject of the original article.
Re: How to Pick a Language
#23Earlier quoted context omitted.
What do you mean final post???
I think he doesn't like all the upvotes for the snarky anti-PHP comment: You don't really learn PHP so much as catch it. Like a disease. At the risk of being modded down, the comment has some merit. PHP programmers usually gravitate to PHP without having much experience with related, but supposedly better, languages like Ruby, Python, Lua, etc. But PHP programmers who really dig into programming often leave for other…
Sometimes you just get bored with a place and feel like moving on :^)
I think I'll spend less time on sites like these and more playing this fine Buffet clarinet I picked up on Saturday. It's been a while, but my embouchure's returning already.
Re: How to Pick a Language
#24Re: How to Pick a Language
#25However it is a bit confusing to me who the intended audience is. The decision criteria--choose this language if...--seem a little beyond what a novice or would-be programmer can answer with certainty ("Pick Perl if: ...your mind fits the mind of Perl."). For someone looking to expand his/her programming repertoire, perhaps a goal-oriented approach would also be useful? (systems, Web, mobile, desktop programming, etc.) And a seasoned hacker probably won't be in need of this help.
I enjoyed reading it, but then, I'm not at the moment trying to decide what language to pick.
Re: How to Pick a Language
#26My only gripe - it missed out on my favorite - Groovy - which is my favorite because it combines the best features of most of the others.
Re: How to Pick a Language
#27Re: How to Pick a Language
#28ML deserves mention here. It's not quite a functional strait-jacket, and was a source of many Haskell ideas, e.g. pattern matching. Oddly enough, I tend to think of Ocaml as a "functional C". You can do low-level imperative stuff with it, if you wish, but you usually end up abstracting the unimportant details out and going functional quickly.
Re: How to Pick a Language
#29Nice and thorough. I only have two qualms: 1. Reading through the Matz book on Ruby ( http://oreilly.com/catalog/9780596516178/index.html ), there's a very good explanation as to why Ruby/Python/Perl are "scripting" languages as opposed to "programming" languages: no main! That is, whichever file is fed to the interpreter is run (with some exceptions) in order. So these are, and probably always will be, scripting lan…
Now, I don't know what you think, but these two languages seem to me to be almost perfect exemplars of the opposite extremes from how this definition would classify them. x86 assembly for .COM files has no type checking, no type coercion, no strings, no hash tables, very little in the way of runtime support (it pretty much owns the whole machine when it's running, under actual MS-DOS anyway, and you have to build everything yourself), takes months to learn enough about a computer to program in, typically is only used by fairly hard-core programmers, and there are no compatible interpreter implementations. VBScript is strongly dynamically typed, has strings, is used to "script" an existing application, runs in an interpreter, and is typically used by people who don't think of themselves as programmers.
So I suggest that Matz's definition may not really express what people are normally thinking of when they say "scripting languages".
Re: How to Pick a Language
#30It's opinionated, but this article serves as a good FAQ for people who might be asking what language should they learn.
Remember, a programming language is not a technology. It's a community. Choose the community you want to join, then use what they use.