The rise of front end functional programming- hacking with ELM
11 November 2015
Last night I went to the Elm hack night with the creator Evan Czaplicki.
This strategy is pragmatic - front-enders who want an efficient solution to their real-life problems and are enjoying the advantages of ReactJS are now looking for something even better and coming across the beautiful world of functional programming.
There were many people in the room and everyone learnt something useful. Functional programmers proved to themselves that you can solve different kinds of problems using FP. Front end engineers saw how you can write easy-to-maintain JS, by avoiding JS, but retaining the capabilities. You could choose between two playground projects: tree creator and Spotify album cover presenter. Evan structured the projects to make people think about modules and functional approach for solving real problems. Evan made sure people with less FP experience didn't get too scared by foreign concepts and focused on the usefulness of the language and how easy it is to get something up and running. One of the advertised advantages of Elm is its ease of maintenance and ability to add new features without breaking three (looking at you, 10000+ LoC JS projects) and unfortunately the nature of a hack night, doesn't allow people to see that advantage in action. As a beginner coming from python and basic understanding of algos and data structures, I am yet to see the light and fully embrace the Elm way. However, the higher level overview and the well-advertised advantages of Elm are definitely appealing.
As a headhunter I enjoy observing new trends and seeing what takes hold and how. FP is definitely on the rise, as seen by the increasing number of clients who look for proficient Erlang and Haskell programmers. Reactive front-end and web apps is a necessity now for every product. I hope Evan and us, as the community, open more front end engineers to functional concepts and people make that leap of faith and adopt a strict paradigm, which might help them in the long run.
What do you think about the spread of functional reactive programming in general and Elm in particular? If you already code in Elm - how easy is it to maintain?
Get in touch with your thoughts,