More Brain Exercises
Jun 25th, 2006 by phil
An earlier post suggested that reading outside of one’s field of interest is way to sharpen critical thinking (and, by extension, writing) skills. Another good approach is to diversify within a field. For developers this means learning a new programming language or environment.
So, what is a good language for a dyed in the wool Java programmer to learn? Right now Ruby is receiving a lot of attention in the Java community. Ruby is an easy language to learn and use and it has a killer app that is driving a lot of the renewed interest: Ruby on Rails. There is a list of online resources for learning both Ruby and Rails in this post. Finally, there are two excellent books available right now to help an inquisitive developer get started with Ruby and Rails: Programming Ruby and Agile Web Development with Rails.
So, you have mastered scripting languages and are looking for something a little more interesting. Smalltalk is the grand-daddy of all OO languages, and yet is significantly different from current popular OO languages. A good place to start is the open source Smalltalk implementation called Squeak. Seaside is a Smalltalk web framework that looks very interesting.
Lisp is also a good choice. Many modern language features originally come from Lisp. The book Practical Common Lisp is an excellent introduction to the language. Personally, I am trying to take the time to learn the functional programming language Haskell, but it is quite a change from the other languages that I am familiar with.
The Pragmatic Programmers recommend learning one new language a year. I think that is excellent advice. I have certainly learned quite a bit more than just syntax whenever I learn a new language. And there are plenty of interesting languages out there.




