Over the years I have played with a whole bunch of languages here and there and have had a lot of fun hacking different things together. But in my second year of university I was introduced to a language called Scheme.
Scheme is a popular variant of Lisp and as such is a functional language.
This was my first introduction to functional programming and I still vividly remember my confusion over those first few lectures trying to understand what on earth was going on here. Where were the variables? How can one possibly create a useful program without state? How can anyone stand all these parentheses?
While I did relatively well in Scheme (relative to my contemporaries) I did not pursue any more functional programming. However, after reading “Seven Languages in Seven Weeks” by Bruce A. Tate, I noticed something; four of the seven languages were functional languages. This seems to be a very high ratio, considering enterprise adoption of functional languages. And the more I read the more it seems as though there definitely seems to be somewhat of a shift towards using functional programming languages more.
At Caplin we are always encouraged to use some of our time investigating new technologies and so it is with that impetus that over the next few weeks I will be writing about my experience of trying to become a functional programmer.
I plan to be writing a blog every week about how I get on, what I learn and what I wish someone had told me before I started. Hopefully, I can learn something and encourage others to try their hands at functional programming as well.