I've been expanding my programming language base lately. Being a web developer, I don't have an immediate need to learn other languages. However, learning them seems to pass time and it doesn't seem like a worthless endeavor. Who knows, being the one who creates the next "killer app" could be worth it. Here's an overview of some of the languages I've been experimenting with:
I like Python. It has a ridiculously easy to read syntax and it's on most Unix servers by default. The downside? Getting it ready to serve web applications seems difficult (like most other languages that aren't PHP). There seems to be a library for anything which is a plus.
Ruby (and Rails)
Seems like a good language but I haven't had a chance to really dig in. Rails is the web framework which sets up as MVC when you start a new project. Has a very odd way to serve web content by default with its own proprietary web server. The best way to serve it on the web looks like Phusion Passenger with Apache which is relatively new and requires server admin installation beyond the norm.
I feel like I'm most interested in C++ because the majority of apps are coded in it for the PC. From the tutorial at Cplusplus.com I've noticed it has a very advanced OOP approach which means large apps are very organized. The flexibility of the language is astounding. Microsoft's Visual C++ Express (free IDE) seems very easy to use. I was able to compile and run a .exe in seconds from the first time using it. The downside is the ugly syntax, especially compared to Python.
sed and awk
These are useful commandline programming languages used on Unix systems. They are old and powerful if you work with a lot of text manipulation and/or shell scripting. The emphasis on regular expressions means sed has a high learning curve. Overall, very useful utilities to make your life easier if you use Unix.