Is functional programming a fad?
Sign up for weekly Clojure tips, software design, and a Clojure coding challenge.
I wanted to just get this out of the way and clear up any myths about functional programming. Functional programming is trendy right now. People talk about it online. It's achieving buzzword status. The question is: is it just buzz? Or is it here for the long term?
FP is decidedly not new. Lisp, the first functional programming language, was created in 1958, a few years after FORTRAN. Lisp has been evolving and influencing programming language design since its creation. For instance, Lisp was the first language to have garbage collection and a lot of modern compiler design comes directly from Lisp research.
ML, another functional language, was created a year before C was released. Java generics come right out of type system research in Haskell. And Java 8 streams and lambda are pure FP. Needless to say, FP has a long, fruitful history. Will that history continue?
From my perspective, yes. Many companies are investing in functional programming. Facebook created React as a functional frontend view framework. They've also built Immutable.js, a library of immutable data structures inspired by Clojure's. Big tech companies like Facebook, Twitter, Amazon, and Paypal use functional languages like Erlang, Scala, Haskell, and Clojure. Walmart, Staples, and Monsanto have Clojure divisions. Google, Target, Intel, and Microsoft use Haskell. These giant companies are not letting functional languages go anywhere. Meanwhile, functional programming conferences are popping up everywhere.
That's why we are excited about the future of functional programming. There has never been a better time to be a professional functional programmer. And it's only getting better. That's why we create courses that teach the practicalities of functional languages and the deeper wisdom that functional programming has developed over its long history. If you're excited to get started, sign up for membership today.
Action for the day:
Make a list of your functional languages of choice. It might just be one. Do a little light Wikipedia research about them. When were they created? By whom? What languages influenced them, and what have they influenced?
Now make a secondary list. These are languages that are "stepping stones" to working in your preferred languages. For instance, if you're working in Java right now, but you really want to do Haskell, maybe working in Clojure would be a good step along the way. It's better than Java and might help you along your path to work in the language you love.
Keep these lists. You'll use them throughout the course. It can help you plot your journey to getting a functional job.
Is functional programming just a fad? I don't think so. But just because there are companies using it, are there jobs out there? That's what we'll address next time.