Tired of ads? Enjoy an ad-free experience by signing up.
  • Insights
    This article was written by a TIA community member. Insights pieces undergo the same rigorous editorial process that newsroom-produced articles have.
Richard Kenneth Eng · · 3 min read

Is functional programming overtaking the IT industry?

space crafts on earth

Photo credit: Javier Rodriguez.

There’s no question that interest in functional programming (FP) has grown significantly in recent years. However, it is not the functional renaissance that its advocates have been claiming. Let’s look at the evidence.

FP languages, in general, are not popular as all the major language rankings show. At Tiobe, the top 20 languages are not FP. At Redmonk, Haskell is at number 16 and Clojure at number 20, no other top-20 language is FP. At IEEE Spectrum, there’s no FP language until Haskell at number 25. At PYPL, Haskell is 20th. In the Stack Overflow Developer Survey of 2016, none of the top 12 most popular technologies are FP.

So, where are all the FP languages?

Scala is not an FP language. It’s multi-paradigm with support for both FP and OOP. Scala has attained a measure of popularity by being a “better Java” but not by being FP.

Javascript is not an FP language as well. It’s a procedural language with weak support for FP and object prototypes. Its phenomenal popularity for web development has indeed raised the profile of FP, but otherwise this paradigm is hardly taking the world by storm.

While nearly all of the major languages (Java, Python, C#, C++, Php, and Ruby) have added first-class functions and closures to their feature set, no one uses these languages in a heavily FP manner. Lambdas exist as a convenience for those who care to write some FP code.

How many colleges and universities even teach FP languages? MIT professors have taught programming to freshmen using Scheme (and SICP) for decades, but evidence of FP in the university’s CS curricula is scarce.

In fact, functional programming is generally harder for people to wrap their heads around. It’s hard for them to relate to the notion that everything in their world can be modeled as functions.

(What the heck is a function? A function is a relation between a set of inputs and a set of permissible outputs with the property that each input produces exactly one output.)

It’s far more intuitive for people to model their world as objects. Everybody knows what an object is. You can look at it, touch it, and point to it to show someone. A kindergarten child knows what an object is.

Despite the benefits of functional programming, it is not the panacea that FP fans would have you believe. FP and OOP are merely tools that have their appropriate uses. FP is not a universal solution. It is also not free from downsides (You can read this, this, and this).

It’s worth noting that Smalltalk, despite being a pure object-oriented language, has always had lambdas. Lambdas, in combination with objects, are one of the reasons Smalltalk is such a powerful and productive language. Yes, it is not an FP language in the usual sense but there is more than one way to skin the “functional programming cat.” Meow.

This article was first published on Medium.

Editing by Charmaine de Lazo

Stay ahead in Asia’s tech landscape

You've reached your 2 free content limit for the month. Sign up for free to read the full story.

🏄 For casual readers / 👶 Free

Basic

US$0

Free forever

Get instant access to this article and more every month

0 premium content

Unlimited news briefs

5

5 articles

Ad-free reading experience

Just US$0 per day

⌛Sign up in 20s. No payment details needed.

📖 For learners / 👍 Starter

Lite

US$4.92/month

Billed annually at US$59/year

Get instant access to this article and more every month

4

4 premium content

Unlimited news briefs & articles

Ad-free reading experience

Just US$0.17 per day

Cancel anytime

Our subscriber community includes professionals from these companies:

Stay updated on the go with our mobile app.

Get latest insights with smoother, more personalized experience through TIA mobile app.

Community Writer

Richard Kenneth Eng

Richard Eng is a software engineer with over 30 years experience in the IT industry. He has served as the Director for Smalltalk Renaissance. Richard spends most of his time writing these days.