Do you program or code?
Metaphorguy: Do you ever program or code for work, or as a hobby? Some people develop independent games, apps, or it helps them make a better web site.
There's so many languages out there that it's easy to know several: Java, C++, PHP/Mysql, CGI & Perl, C, Visual Basic, Actionscript for Flash, Assembly, Fortran, Python, ColdFusion, etc.
Geoff: LAMP and JS.
I have used BASIC, VB, C, ActionScript, ASP (), CGI. I'm currently teaching myself RoR
Metaphorguy: I was surprised at how many programming books I have stacked up in storage. Pascal, some MS Office stuff, Python, HTML/CSS, etc. I remember when first getting into programming people were always saying learn CGI and Perl, but I've never really seen any web sites use it other than for e-mail. What is Ruby on Rails like?
I've seen a couple job offers for people that want experts in languages like ColdFusion or something. Stuff you don't see taught in classrooms. Problem is they want those guys and the job could take two months and then for the rest of year you're an unemployed CF expert. But if you learn another language then you're CF skills decline and you aren't an expert anymore.
Geoff: Ruby is wonderful. It's flexible and intuitive, while encouraging you to write efficient code (since it's easier to do it the efficient way).
Here's the article that sold me on it.
And, CGI/Perl is useful for doing those things on a LAMP platform that you really shouldn't do in PHP (like dynamic changes to the server - managing FTP accounts for instance) for security reasons.
There's so many languages now that it's important to know more than one, even if they do exactly the same thing. But the problem is that learning new stuff can make my dominant language weaker by getting confused with syntax. Some people probably will say that learning another programming language improves your understanding of programming skills in general, but I need some review and polishing up of my initial skills first.
There's some things I'd like to try out with those new languages, but I still need to master a few concepts. Push myself to use different libraries, or build bigger applications, or maybe trying to edit a driver, etc. but of course those insane technicalities always get in the way. Should I use a linked list? Will I need to free the stack? Can I write the code more efficiently? If I have to create a binary search tree, or decide if something is NP-complete I'll probably just accidentally have a stroke.