What is the most underestimated programming language?
StackOverflow’s 2018 developer survey revealed the startling fact that F# is the world’s most highly paid language, and the 8th highest paid language in the US. Is this because F# is the most sought-after language? Not exactly.
Some have suggested that its high price tag comes from the possibility that those earning higher incomes while using F# were already in the higher earning bracket before incorporating F# into their systems, hence a carryover of F#’s high salary bracket. StackOverflow also shows that those using F# sit outside the bulk of languages in terms of average years of experience (9.5 years rather than 5–7 years), which may support this theory that F# practitioners have simply been working longer and now earn higher incomes.
Why developers love F#
As a multi-paradigm language (incorporating functional, imperative and OOP methods), F# may be the most underrated language out there today for one main reason: concise syntax and all that this promises developers. In essence, the brevity of the code required in F# frees up developers from getting bogged down by debugging, as they are fixed during compilation, thanks to it being a statically typed language. On top of this, being a strongly typed language, incorrect states are easily avoided. Russian developer Roman Liman wrote a great piece on the other benefits of F#.
Created and maintained by Don Syme, the language is also seen as having been relatively resistant to some of the perceived overcomplications that similar FP languages have adopted (i.e. Scala), and that this resistance maintains accessibility for outside developers who may be interested in dabbling with functional programming.
What is keeping F# back?
In a roundtable discussion (including the previously mentioned developer, Roman Liman), Pavel Smirnov noted that Microsoft has maintained and restricted the language’s popularity, shooting themselves in the foot by placing F# as subordinate to C#, promoting it as a tool to play with in preparation for features within C#.
This attitude towards the language by its very progenitor is one reason why F# has not yet become highly recognised for its suitability, beyond just data science, for both front end and back end development, while the barrier to its adoption continues to be cyclical: there are few jobs advertising for F# developers because there are few F# developers out there, and there are few F# developers out there because there are a limited number of jobs out there requiring the language. But this is changing.
One prominent company that adopted F# early on was Jet.com, an online retailer, who have maintained the language, recently utilising it in the company’s adoption of microservices architecture for its ordering system. Other companies include Kaggle (a Google-owned platform for data scientists) and a suite of financial and insurance services companies.
The main challenge the F# community faces is finding ways to promote the language’s use within companies, especially as a multi-paradigm language and one that can be applied to AI. The best way to do this, perhaps, is in promoting the core benefit of the language’s laconic syntax: shorter runtimes, less bugs and higher productivity. From this the community can begin to break the cycle of underrepresentation in both the job market and in the developer ecosystem, and position F# as a potential game changer in AI development.