Last semester I have worked mainly with Ruby (a Shoes app, and a Sinatra web-based game) and Scala (XMPP server, CLI and web-based clients). Now I’m back to Python.
Man, I miss Scala and the functional programing I did, and I wouldn’t feel so bad programming in Ruby, since I used blocks almost as Scala’s lambdas. Now I’m stuck with Python1 (yeah, me, the guy who started PythonLovers) where multi-line lambdas are still in my dreams.
I know Python can be used in a functional way (just like Ruby) but it doesn’t feels the same. Learning Scala really changed something about the way I write code. And for better, I’d say.
So if you are into programming, or just computer science, take some time and learn a functional programming. And yes, Scala is a bastard since it’s half function, half OO. Here’s a few slides that might make you interested in this elegant and scalable language2.
1 I’m not really stuck, I chose it over C and C++.
2 Okay, it has static typing… Bearable with type inference.