How hard is it to get started in functional programming?
Let’s have a look at how quickly you can get started on a selection of simple expression-oriented programming languages.
Today let’s try Clojure, Elm, F#, Haskell and OCaml.
Online REPL
No install required just point your browser at a URL and you’re off:
Each language has an easy to use online REPL with simple lessons to get you through the basics. Elm’s online offering lets you edit multi-line programs, as does Try F#, which also includes intellisense in the online editor.
Development environment
Now you’ve covered the basics you probably want to install a lightweight development environment and start building larger programs:
Clojure
I found LightTable very quick to install and setup. The editor comes with psychedelic colours to help you track opening and closing parenthesis:
I’ve been using Stuart Holloway’s Programming Clojure book as a guide.
Elm
Elm has a very usable online editor, a simple installable REPL, and a wonderful playground feature with Elm Reactor:
F#
If you’re on Windows and have Visual Studio installed then you’ve already got F#. From the file menu click New and select a new F# project or script file.
No Visual Studio, no problem, for Windows the Tsunami IDE is a fast 25MB download, which gives you the latest compiler and an editor with intellisense:
On Mac I’d recommend Xamarin Studio and for Linux MonoDevelop or Emacs.
Functional Programming using F# and Dave Fancher’s recent Book of F# are both great introductory texts.
Haskell
The Haskell platform gives you a compiler and REPL from a simple 100MB install. A combination of a text editor along with the REPL gets you going in no time:
As a guide I’ve been using the Real World Haskell book. Learn you an Erlang some Haskell for great good! looks like a fun read too.
OCaml
Like Haskell, OCaml is bundled in a simple installer and includes the compiler and REPL. Choose your own editor and use the REPL to explore your programs.
I recently picked up OCaml from the Very Beginning and More OCaml, which are both nice concise introductions.
Conclusions
Using an online REPL you can get started with any of these languages in seconds, and there are plenty of lightweight install options too. Combine that with a good selection of learning resources from books to online courses, and we can conclude that nowadays it’s really not that hard to get started with FP.