Introduction

As a child, I played many games that were very similar—games like Super Mario Bros., Donkey Kong, The Lion King, and Aladdin. I could switch between them without much work; the learning ramp-up was quick. They all shared the same core mechanics: you move straight to the right, jump on platforms, and avoid being hit by enemies. They were all 2D platform games.

Switching between programming languages is similar. In my work, I have needed to switch between Ruby, JavaScript, and CoffeeScript, and between Java, Python, and Objective-C. It wasn’t too painful to do. All these languages are very different, but in some ways they are similar. I could use object-oriented programming with all of them. When I learned how to create objects and ...

Get Learn Functional Programming with Elixir now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.