|What Do Developers Dislike?|
|Written by Janet Swift|
|Wednesday, 01 November 2017|
The Stack Overflow blog has just revealed Perl to be the most disliked programming language, which will be controversial in some circles. But to use a well-worn cliche, there's more to it than that.
Here's the chart presented by David Robinson, Stack Overflow's Data Scientist, that is making the headlines:
(click in charts to for enlarged view)
Yes Perl is definitely the clear winner - or rather loser. But notice the scale. It goes from 0% to less than 25% so even though it is an outlier Perl has a dislike score of just 22%, which means that there were more than 4 people who liked it for every person who disliked it.
The thing to understand is that the points are calculated as the number of times a tag is chosen as "disliked" as a proportion of the total of "liked" plus "disliked" on the Stack Overflow Jobs site when you create a Developer Story and are not spontaneous expressions of hate.
You have to come up with at least two technologies you want to work with, i.e "like" to set up your profile, and also specify at least two you do not want to work with, i.e" dislike", being restricted to tags that exist on Stack Overflow.
For the purposes of the analysis in the chart David Robinson looked at languages that had at least 2,000 mentions on Developer Stories, so to a certain extent languages have to be popular to be on the chart at all as the obscure ones that are disliked won't be mentioned enough.
Another analysis looks at the most disliked technologies - widening the scope to operating systems and platforms as well as languages and reporting the 20 most disliked tags for technologies mentioned at least 1,000 times. This revealed a much stronger degree of dislike. Internet-Explorer's 82% means that it was disliked by more than three people for every person who liked it. In all eight technologies had a dislike score over 50% - meaning they were disliked more often than liked - and they are predominantly outdated Microsoft technologies, and Flash and Cobol are there too.
When you consider the context of specifying what technologies you want to work and those you prefer to avoid it is obvious that there is going to be a relationship between pairs of choices that form obvious rivals (a bit like theTabs versus Spaces dichotomy that we reported on earlier in the year). This is explored in this chart:
This highlights some of the “rivalries” underlying the software ecosystem: Linux and OSX vs Windows, Git vs SVN, vim vs emacs and (unsurprisingly to me) R vs SAS. Most of these pairs don’t represent “opposite” technologies, but instead reflect two approaches to similar problems. Many of them suggest a progression from a formerly popular technology to a more modern one (SVN replaced by Git, XML replaced by JSON, VB replaced by C#). This makes sense in terms of what people would list on a resume; it’s common for developers to specify that they’d rather not work with something they consider outdated.
Something that doesn't make sense to me is why liking backend : disliking frontend has the third strongest relationship, but that for frontend : backend is vey much weaker. Presumably backend programmers are fleeing questions about what color this comic sans text should be and the frontend programmers just assume backend is the same sort of thing as they are already doing. However it does suggest that it is possibly wrong to use "like" and "dislike" in this context, even though the labels provde a useful shorthand.
Finally you might be interested in this network diagram of polarizing tags. Again Perl appears as an outlier - which it possibly is - but it continues to occupy its singular niche in the developer ecosystem.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Thursday, 09 November 2017 )|