Refactoring
to
maintainability

Into Adventure - Intro And Contents

2015-09-22
Functional Programming

What is this?

This, and a a number of other posts that will follow, have come about after starting a presentation called “Into Adventure - moving from Object-Oriented Programming (OOP) to Functional Programming (FP)”. They are an expansion of the ideas and points of the talk.

The road to Functional Programming

A long, long time ago, in a galaxy … Well, a few years back I started investigating functional programming. The first thing that made me interested was a quote by Eric S. Raymond:

Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.

Then came the posts by Paul Graham. Well, I actually read first his compilation book “Hackers and Painters”. Not sure if it was a recommended reading at University, or I saw the name of the book in a bookshop and it piqued my curiosity. He had one post (or several, for that matter) in which he talked about the startup that he co-founded, ViaWeb. One of the things that he mentioned was, as a startup, you need every single advantage that you could muster and that, for them, the language that they choose to use was important.

Although I do agree that having a good team is far more important, if two companies have equally (or similarly equal) good teams, then the tooling becomes of relevance. Of course, marketing is important (but not my concern right now).

I stayed on OOP land, though. C# mostly, as it is the language that I have used professionally for the last 8 years, then some Python at home (which I prefer).

Until two things happened:

So I decided to get myself finally into it, properly.

Let’s begin the adventure!!!

The Posts

Here is the list of posts related to this journey. I will try to talk about a single point on each post, to not muddle too much the points.

One last warning: The only element of the ones that I’m going to show that is exclusive to FP is immutability of state. The rest can be found in other paradigms.

In chronological order:

References

[1]How to become a Hacker back up
[2]Beating the averages back up
[3]Seven languages in seven weeks back up
[4]Functional Programming: What?Why?When? back up


Return to Index

Unless otherwise stated, all posts are my own and not associated with any other particular person or company.

For all code - MIT license
All other text - Creative Commons Attribution-ShareAlike 4.0 International License
Creative Commons BY-SA license image