The Rise of Functional Front-end Languages
If you’re reading this blog, chances are you’ve heard of Functional Programming. You may have played around with Scala, Clojure or Haskell. You might even be one of the lucky few to be working commercially with a Functional language. But I would hazard that there are very few developers out there using Frontend Functional languages — am I wrong?
A basic GitHub search throws up the number of repositories written in certain languages.:
Back-end Functional Languages
- Scala — 71,086
- Haskell — 51,816
- Clojure — 37,611
- Erlang — 17,399
- OCaml — 8,378
Frontend Functional Languages
- Elixir — 14,954
- Elm — 3,672
- PureScript — 1,146
[GitHub’s language detection wasn’t built for my survey and categorises ElixirScript under Elixir]
So why is this? Well one explanation is simply that languages such as Scala and Haskell have been around longer. Scala first appeared in 2004 and Haskell in 1990, whereas Elixir and Elm didn’t show their faces until 2012. Obviously this means that the backend languages have been continuously improved and polished to the point where they can be used commercially and spread throughout the industry. With this, the community has had a chance to grow, with learning opportunities becoming more and more frequent through talks, conferences and dojos.
So how do frontend Functional languages compare against one another in growth terms? I wrote (ok, forked…) an SQL query to compare the monthly question count of each of the languages as tags.
Stack Overflow offers a function to plot the results but I decided to export them and create my own graph instead; the main reason for this is that I only saw the SO function afterwards.
As the graph is plotted using ‘Questions Asked’ data, it is indicative of the interest levels surrounding a certain language. However if history repeats itself (I’ve been informed that this is often the case), this interest will cause a real upturn in the commercial application of Frontend Functional languages. If I had to bet my life savings on which of these languages will be the most popular 5 years from now, I would have to go with Elixir(Script). Just looking at the graph the growth rate of indicated interest levels is far higher than those of Clojure, Elm and PureScript, all of which still have steady but healthy growth. Furthermore, the fact that Elixir(Script) appeared in the market more recently than Clojure(Script) and is currently achieving around double the number of ‘Questions Asked’ really speaks volumes!
Want to get into these languages but don’t know how? Check out the learning resources below:
- Elixir: http://elixir-lang.org/learning.html
- ClojureScript: http://clojurescriptkoans.com/
- Elm: http://elm-lang.org/docs
- PureScript: http://www.purescript.org/learn/
Already have experience in one or more of these and want to explore opportunities to use it commercially? Get in touch with us!