I find myself drawn more and more to Haskell. Any language that helps a developer write solid code without making you feel like you’re using training wheels is a huge plus in my book. Functional programming has also opened my eyes to all sorts of pitfalls with imperative programming.
Even if you’re put off by Haskell or functional programming there’s a lot you can learn and both can have a positive influence on your imperative programming skills. At least that’s what they say.
The folks over at Valletta Ventures have a short blog post about how their C++ code has changed for the better after thinking about problems functionally:
There is no doubt that time spent playing with Haskell has taught me to exploit the type system when coding in C++, but the most lasting effect may be when I abandon C++ altogether.
I would have liked to see a lot more code and a more complete discussion on how functional thinking can improve imperative code. As I dig deeper into Haskell I’ll post some thoughts on how it’s making my daily imperative programming better or just different.
If you haven’t exposed yourself to Haskell yet I highly recommend watching A Taste of Haskell the next time you have 3 hours to completely geek off. Make sure you download the slides and follow along.