Monolingual no more
January 7, 2011 12:01 PM Subscribe
I've been doing LAMP web development for about ten years. I'd like to learn a new language to diversify my skills. What language should I choose?
posted by ixohoxi to computers & internet (32 answers total) 17 users marked this as a favorite
Here's why I want to learn a new language:
1. I've heard it said that you can never really be a great programmer if you're just a "good PHP programmer", or a "good C++ programmer". That is: to really excel in any given language, it helps to be fluent in several other languages. This makes intuitive sense to me.
(PHP isn't the only language I've ever programmed in, but it's definitely the language I know the best.)
2. Curiosity. I enjoy learning new things.
3. I've often seen PHP criticized as an amateurish and poorly designed language, which encourages sloppy habits. I think some of this is just the partisan snobbery that always arises between rival technologies, but I can also see some of the points. PHP seems to be more a product of incremental evolution than intentional design.
I keep hearing that various other languages are cleaner, more elegant, more expressive, more scalable, more flexible, etc. I'd like to try them out for myself, and see what the hype is about.
4. Future employability. I'm more-or-less happily employed right now, but having a broader skill set will broaden my options in future job hunts. And I don't want to lock myself into one language, and find myself SOL when it falls out of fashion in ten or fifteen years and I'm too old to learn new tricks.
5. As a bonus, it would be cool to learn a language that will enable me to write desktop apps, not just web apps and scripts.
So, what language should I be learning? At least to begin, I'll be using it mainly for web stuff.
I've been dabbling (very lightly) with Python, and it seems pretty easy to learn. I'm also looking into Ruby. And I'm open to any other suggestions. (Except that I have zero interest in anything Microsofty.)
I'm intrigued by Lisp, but I'm not sure how much practical use there is for it (especially for the web), or whether it's just going to turn my brain into a pretzel. It seems best-loved by mathy / formal-comp-sci folks, and while I admire that world, I have no such background.
I prefer stronger typing, but that's not a requirement, and the trend these days (at least in the web-scripting world) seems to be toward loose typing.
If you have experience with PHP and the language you're recommending, please tell me why I'm going to love this new language. Bullet lists of language features are one thing—but I want to hear, in practical terms, why this language is better / easier / more powerful than PHP, and how those language features are going to help me build sexier web sites (and, perhaps, other kinds of applications).