Surprise! Here's the language devs play with at home

The quirky functional language Haskell is surprisingly popular for 'weekend' projects, but it won't gain traction at work without a patron

Everyone seems to have a different way of ranking the most popular programming languages. IEEE, GitHub, O'Reilly, Redmonk, and others have their own peculiar methodologies for surfacing which programming languages we're most likely to use. Not surprisingly, C, Java, JavaScript, and Python generally settle into the top spots.

Why? Among other reasons, because the companies that employ developers have standardized on these languages. So what do developers use when not on their employer's clock?

Haskell. Lots of Haskell.

At least, according to Stack Overflow data that measures questions asked about particular technologies during the week and on weekends. Haskell barely scrapes into IEEE's top-25 list, barely faring better in the Tiobe index (#23), but it's where developers seem to spend a disproportionate amount of their downtime, along with stalwarts like C. The question is whether Haskell can carve out a presence during the work week as well.

Working for The Man

Sometimes it takes an office party to reveal the dissonance between someone's buttoned-up work persona and their less-inhibited, inebriated self. But for the data hounds at Stack Overflow, it just takes a few queries to reveal sharp differences between what developers think about during the work week and the weekend:

haskell at home

To be clear, this chart attempts to show those technologies with the biggest break between their public and private personas, as it were. Sharepoint, for example, is heavily used during the week ... and basically not at all on the weekend. Other Microsoft technologies (T-SQL and Powershell) also top the list of technologies that are essential to know for work, but people seem to happily leave behind when they depart the office.

If we assume the technology questions asked on the weekend reflect personal interest, rather than merely professional interest, Haskell shows the biggest disparity between its lowly work status and weekend play.

Haskell, a highly expressive language that's a natural for functional programming, is lauded for allowing developers to write less code and do more with it. In fact, Aaron Contorer suggests that "Haskell is highly regarded for its ability to transform the way developers think about programming." Despite a long pedigree (it was first released in 1990), Haskell still gets credited as being "cutting edge."

Interestingly, Haskell is joined at the top of the weekend warrior pile with two low-level languages. Assembly, a language used to directly manipulate hardware in general and embedded devices in particular (perhaps indicating experimentation with IoT-type devices), comes in second. OpenGL, which gives the developer access to graphics hardware, comes in third, perhaps related to developers writing games in their spare time.

Once we factor in total frequency of questions (the further right, the higher the frequency) and then look at the relative disparity between weekday and weekend (the closer to the horizontal line the smaller the disparity), we see Haskell and Sharepoint pale in comparison to such journeymen as JavaScript and Java:


Even so, what does Haskell need to break free of its (apparent) hobbyist inclination?

Inching toward popularity

More than anything else, Haskell needs a sugar daddy, but that's the very thing it's unlikely to get. C, for example, has benefited from its lockstep association with Linux. Java? It's long been a mainstay of enterprise computing, but has soared in popularity more recently because of its suitability for large-scale web projects and its embrace by Google for Android apps. Objective-C and Swift? Apple-oriented development.

You get the picture. PHP isn't necessarily the best language, but it rose with web development. Ditto JavaScript. Go has boomed because it aligns with modern cloud application development and because, well, Google is behind it.

Haskell, around since 1990, doesn't dovetail with any particular programming niche and isn't backed by an Apple or Google or Facebook or ... anyone. While advocates laud its elegance and maintainability, it has a well-earned reputation for being a pain in the rear end to learn. Couple that with its lack of broad library support and its poor documentation, and it seems likely Haskell will grow slowly in popularity, as it has done for the past few years, or not at all.

Ironically, the crew that may be hoping it avoids the limelight is the Haskell community. As Microsoft Research's professor Simon Peyton-Jones has quipped, "Haskell has a sort of unofficial slogan: Avoid success at all costs." He went on to suggest, "When you become too well known, or too widely used and too successful (and certainly being adopted by Microsoft means such a thing), suddenly you can't change anything anymore." For those that like to dabble in Haskell on the weekend, popularity may be the worst thing to happen to the language.

That would be a shame. Haskell has a lot to offer today's programmer, especially those intrigued by Scala and functional programming in general. If weekend programming habits are any indication, Haskell just might have a future.

Copyright © 2017 IDG Communications, Inc.

How to choose a low-code development platform