Once you have a few programming languages under your belt, it’s easy to get into thinking that they’re all basically the same and that all you need to do to pick up a new language it to master its syntax. That’s not true at all though and sometimes you come across things in a new language that completely alter your computing world-view. For example, did you know that methods in Ruby can return multiple values? Coming from Java I find that quite odd! At the moment—and like many other people—I’m learning Ruby because that’s what Rails is on and I definitely feel like I’m only just scratching the surface of it. However, I already like Ruby’s terseness. Part of my frustration with Java comes from its verbosity and part of that comes from the design of the platform itself. It may use all the correct design patterns but sometimes all you want to do is open a file and read its contents quickly and easily.
The idea that there could be a winner in a World Cup of programming languages had fundamentally not occurred to me until I read Paul Graham, who is perhaps the most famous advocate of Lisp. That the winner should be a language that not only shares its name with a speech impediment, but that is also so old is doubly fascinating.
I would like to learn Lisp purely for academic pleasure if I ever found myself with lots of leisure time, but I wonder whether all roads in programming ultimately lead to Lisp anyway? I suspect they do if you keep travelling.