On
Stack Overflow Jobs, anyone can publish their own
Developer Story to share achievements and contribute to their career growth. When publishing, you can add tags to the article that correspond to languages ​​and technologies that you would like to work with and would
not like:

This gives us the opportunity to study the opinions of hundreds of thousands of developers. There are many ways to measure language popularity. For example, we often used statistics
on Stack Overflow visits or question views to study trends. But tag data is a unique opportunity to see what people
do not like when they have the opportunity to say this in a resume.
')
(I
published some analysis
in my personal blog two years ago , but this article is supplemented with more recent data and more illustrations).
Programming languages
As a measure of measurement, we will look at how the share of Dislike tags in all summaries compares with the Like tags for each specific language. That is, 50% means that the tag does not like exactly as often as it likes, while 1% means for every 99 people who like, there is one with a negative rating. (We used the Bayes empirical method, which I described in
this article , to estimate the average values, but it
calculates a confidence interval with a confidence level of 95% ).
First, let's take a look at the list
of programming
languages (as opposed to platforms like Android or jQuery type libraries) that have at least 2000 mentions in Developer Stories.

Perl, Delphi and VBA lead the list of the most unloved languages ​​by a large margin. They are followed by PHP, Objective-C, Coffeescript and Ruby. Our developers were especially pleased to see that R is the most favorite programming language in terms of likes and dislikes.
If you read any of our articles on the growth and decline in the popularity of specific languages, you might have noticed that the smallest number of dislikes usually accompanies languages
whose popularity is growing rapidly , such as R, Python, Typescript, Go and Rust (we separately investigated
Python and
R ), and all of them are among the languages ​​with the most unanimous estimates. Similarly, many of the languages ​​with a large share of dislikes — Perl, Objective-C, and Ruby — were simultaneously
seen before among the languages ​​in which the number of tags on a website is the fastest falling.
This can be verified by comparing the size and height for each language with the percentage of those who put him dislike. On the heatmap, the orange color corresponds to the languages ​​with the most dislikes. In order for our analysis to be compatible with the last few articles, we restrict statistics only to high-income countries (such as the USA, Great Britain, Germany and Canada), where the popularity of languages ​​differs slightly from low-income countries.

There is usually a relationship between the growing popularity of a tag and the share of dislikes for it. Almost all languages, if they do not like more than 3% of users, at the same time demonstrate a decrease in traffic Stack Overflow (except for highly controversial VBA, which is stable or slightly increasing). And all the languages ​​with the largest share of positive tags - R, Rust, Typescript and Kotlin - are also among the fastest growing tags (Typescript and Kotlin are growing so fast that they do not fit on the diagram).
Clojure's functional language is knocked out of the general trend; almost no one expresses aversion to him, but he is among the most rapidly falling traffic (the fall in the number of visits to the site with questions began about the last year). Another exception is MATLAB, whose popularity is also declining, although no one puts dislikes to it. This may indicate a data limitation for measuring moods: although any web developer may have an opinion about PHP, C # or Ruby, but people outside the scope of data analysis have no reason to express an opinion about MATLAB. (This may also be the reason why R so rarely gets dislikes).
We do not necessarily assume a causal relationship, when the dislike of some programmers for some languages ​​leads to a decrease in the popularity of these languages. There is another possibility: it’s more comfortable for people to put dislike and show an unwillingness to work with a language that is already losing popularity. Perhaps, such unwillingness is shown by people who have previously written in this language, but no longer want it. That is, a natural process occurs when “replaced” technologies fall into the Dislike field in the summary.
Most favorite and unloved tags
The previous analysis concerned only programming languages, but not operating systems, platforms, or libraries. What are the most unloved technologies in general? In order to focus only on large technologies, for which we have enough data, we have limited the sample to technologies that are mentioned at least 1000 times.

Among the leaders are several Microsoft technologies, in particular, Internet Explorer and Visual Basic, as well as the general “Microsoft” tag (“Apple” also made the list, although it is not so disastrously hated).
We have good news for most of those who have shown aversion to working with Flash. Older languages, such as COBOL, Fortran and Pascal, are also listed.
It is important to emphasize once again that there is no assessment of the technologies themselves, their quality or popularity. It’s just an assessment of which technologies cause strong negative feelings among some developers who don’t mind expressing their attitude publicly.
You can also explore the most popular technologies that almost never get dislikes. (This time, since the likes are much more often than the dislikes, we will include in the sample the technologies mentioned at least 10,000 times).

Git can be a headache for many developers (as it definitely is for me!), But people rarely recognize it in their resumes, and this is one of the most uniquely tagged tags in our Developer Stories. The list got R, but here it is not the only tag from the scope of data science. Machine learning was approved by 23 thousand people and very rarely fell into the category of disapproving technologies. Tags like Python-3.X, CSS3, and HTML5 may indicate that developers rarely indicate their dislike for a particular technology version (even if they do). And of course,
jQuery is as popular as ever on Stack Overflow .
Network with polar tags
We can put these tags in one picture, combining them into a network. In a recent article,
Julia Silge showed how to build a network of technologies that represents the entire software industry. If you mark the level of dislike for each technology in color, you can determine which parts of the ecosystem cause more contradictions than others.

If you impose tags on areas of the ecosystem, then this network shows which types of tags are prone to contradictions. There are clusters of such tags related to Microsoft (with cores around C # and .NET), PHP (along with WordPress and Drupal) and mobile development (in particular, Objective-C). At the bottom of the operating system cluster (bottom right) you can see that systems like OS X, and especially Windows, have detractors, while Linux, Ubuntu and Unix do not.
Competitors
If someone likes a particular tag, are there other tags that he is more likely to dislike?
This can be measured using the
phi coefficient between appearances of specific tags. (When calculating these correlations, we take into account only people who have set at least one dislike).

This is how some “competitors in the software ecosystem are revealed: Linux and OS X against Windows, Git against SVN, vim against emacs, and (to my surprise) R against SAS. For the most part, these pairs are not “opposite” technologies, but different approaches to solving the same problems. Many of them point to a transition from a technology that was popular in the past to a more modern one (Git replaces SVN, JSON replaces XML, C # replaces VB). This makes sense in the sense that people compose a resume; it is typical for developers to indicate that they do not want to work with something that is considered obsolete.
Conclusion
I’m not interested in participating in some kind of “programming language wars” and I don’t judge users who indicate which technologies they don’t want to work with. Greater polarization of opinions about Microsoft technologies often leads me to share my personal experience. I worked all my life on Mac and UNIX and almost all the programming experience at the university and graduate school was in Python and R. Despite this, I gladly joined the company with the .NET stack, and I am glad that I did it - because I liked and colleagues, and product, and data. I cannot say for others, but personally I am glad that I decided what work I was interested in doing, and not what I would like to avoid.