The title is rather misleading, IMO. What the article is really about is side-effect free programming.<p>This is indeed covered very well, the author manages to explain both what side-effects are and why it makes sense to avoid them in a clear, succinct style with useful examples. Thumbs up for that!<p>However, functional programming is about much more than avoiding side effects. AFAIK, the defining factor for whether a give language can be classed as functional is whether it has functions as first-class objects. That means: can functions be created (and returned) by other functions? Can functions be passed as parameters to other functions? This is a huge area that was completely ignored in the blog post.