|
PHP is a bad language; it is ubiquitous due to historical accidents and path dependencies. If you have the freedom to pick any language you want, and you don't have some specific urge to write Wordpress plugins or something, then DO NOT PICK THIS. (Also, PHP is likely as popular as it will ever be. There's not really any room for further growth.) Perl is similar to PHP. It's not nearly as bad - in fact it's a great language in many ways - but it's also old. It's about as widely adopted as it's ever going to be, and it doesn't pick up new features as quickly as it once did. The syntax is also a bit quirky. :) Unless you want to work on Perl codebases, I'd recommend staying away, not because it's bad but because it's not really good enough. Haskell isn't really suitable for scripts or simple webapps (your listed use cases). It's a wonderful language, and knowing it will make you a better programmer and a better person...but it doesn't do what you want. Stay away. :) Better choices for you would be: Python/Ruby: Flip a coin and pick one. Both are awesome, but they also have a lot of overlap; you won't regret either choice. They're both excellent for writing short scripts, webapps, etc. They are objectively MUCH better languages for these purposes than PHP, and at least marginally better than Perl. They also have very serious market share (which makes it easy to find tutorials, help, example code, open source projects to contribute to, etc.) Javascript: With the advent of Node, it's a decent choice for what you want. And it's still the omnipresent language for client-side programming. Not as mainstream as Python/Ruby, but still pretty popular and widely adopted - but it's not completely mature, and new and interesting ideas are still popping up. Something else: If those options don't spark any interest - or if you already know them - you might look farther afield. Lua and Clojure are both interesting options, in very different ways. As someone who already knows Python and JS pretty well, Clojure would probably be top of my list of "languages to learn". (I just wish it wasn't JVM based...oh well.) |