What are the Most Disliked Programming Languages?
On Stack Overflow Jobs, you can create your own Developer Story to showcase your achievements and advance your career. One option you have when creating a Developer Story is to add tags you would like to work with or would not like to work with:
This offers us an opportunity to examine the opinions of hundreds of thousands of developers. There are many ways to measure the popularity of a language; for example, we’ve often used Stack Overflow visits or question views to measure such trends. But this dataset is a rare way to find out what technologies people tend to dislike, when given the opportunity to say so on their CV.
(I posted some of this analysis on my personal blog two years ago, but this post is updated with both a more recent dataset and more visualizations and explorations).
Programming languages
As a measure of how polarizing each tag is, we’ll look at what fraction of the time it appears in someone’s Disliked tags compared to how often it appears in either someone’s Liked or Disliked tags. Thus, 50% would mean a tag was disliked exactly as often as it was liked, while 1% means there were 99 people who liked it for each one who disliked it. (We used the empirical Bayes method I describe in this post to estimate these averages, and this method to calculate 95% credible intervals).
Let’s start by looking at a selected list of programming languages (as opposed to platforms like Android or libraries like JQuery), all of which have at least 2,000 mentions on Developer Stories.
The most disliked languages, by a fairly large margin, are Perl, Delphi, and VBA. They’re followed by PHP, Objective-C, Coffeescript, and Ruby. On our team we’re certainly happy to see that R is the least disliked programming language, relative to the number of people who liked it.
If you’ve read some of our other posts about the growing and shrinking programming languages, you might notice that the least disliked tags tend to be fast-growing ones. R, Python, Typescript, Go, and Rust are all fast-growing in terms of Stack Overflow activity (we’ve specifically explored Python and R before) and all are among the least polarizing languages. Similarly, many of the shrinking tags, such as Perl, Objective-C, and Ruby, are ones we’ve previously observed to be among the fastest-shrinking tags on the site.
We can examine this by comparing the size and growth of each language to the % of people disliking it, with orange points representing the most disliked languages. To keep our analysis consistent with the last few posts, we’ll limit the statistics to high-income countries (such as the US, UK, Germany, and Canada).
Generally there is a relationship between a tag’s growth and how often it’s disliked. Almost everything disliked by more than 3% of stories mentioning it is shrinking in Stack Overflow traffic (except for the quite polarizing VBA, which is steady or slightly growing). And the least-disliked tags— R, Rust, Typescript and Kotlin— are all among the fast-growing tags (Typescript and Kotlin growing so quickly they had to be truncated in the plot).
One tag that stands out is the functional language Clojure; almost nobody expresses dislike for it, but it’s still among the most rapidly shrinking (based on question visits, it only started shrinking in the last year or so). Another exception is MATLAB, which is shrinking despite not many people expressing dislike of it. This may indicate a limitation of the data for measuring sentiment: while any web developers might have an opinion on PHP, C# or Ruby, people who don’t work in data analysis have little reason to express an opinion on MATLAB. (This is probably part of the reason R is so rarely mentioned in “Dislikes” as well.)
We’re not necessarily suggesting a causal relationship, where tags being disliked by a component of programmers leads to them being abandoned. Another possibility is that people feel comfortable expressing their dislike publicly if they sense that the language is already shrinking in popularity. It’s also conceivable that developers often use this field to note technologies they used to work with, but no longer do. This would lead to a natural progression of “replaced” technologies ending up in the Disliked field.
Most disliked and liked tags
The above analysis considers only programming languages, not operating systems, platforms, or libraries. What are the most disliked technologies overall? To focus on large technologies for which we have enough data, we limited them to technologies mentioned at least 1,000 times.
Several are Microsoft technologies, particularly Internet Explorer and Visual Basic, as well as the “Microsoft” tag (“Apple” also makes the list, though it’s not as dramatically disliked). We have good news for the majority of people who dislike Flash. Older languages such as COBOL, Fortran, and Pascal also make appearances.
It’s worth emphasizing again that this is no indictment of the technologies, their quality, or their popularity. It is simply a measurement of what technologies stir up strong negative feelings in at least a subset of developers who feel comfortable sharing this publicly.
We could also zoom in on the most uniformly popular technologies, those that are almost never disliked. (This time, since highly-liked tags are more common, we’re focusing only on technologies mentioned at least 10,000 times.)
Git might be a source of frustration to many developers (it certainly is for me!), but it’s rare that people admit it on their resume, as it’s the most lopsidedly-liked tag in our Developer Stories. R makes this list, but it’s not the only data-science-related tag that’s uncontroversial; the machine learning tag was liked by 23 thousand people and was quite rarely disliked. Tags such as Python-3.X, CSS3 and HTML5 could indicate that developers rarely specify that they dislike a specific version of a technology (even if they specify). And of course, jQuery is as popular as ever on Stack Overflow.
Network of polarizing tags
We can combine all these tags into one story by organizing them into a network. In a recent post, Julia Silge showed how we can construct a network of technologies to represent the overall software ecosystem. If we color the nodes according to how disliked each tag is, we can understand what parts of the ecosystem are more controversial than others.
By laying out Developer Story tags into sub-ecosystems, this network tells a story about what types of tags tend to be polarizing. There are clusters of polarizing tags within the sub-ecosystems for Microsoft (centered around C# and .NET), PHP (along with WordPress and Drupal), and mobile development (particularly Objective-C). Within the cluster of operating systems (lower right), we can see that systems such as OSX and especially Windows have their detractors, but tags like Linux, Ubuntu and Unix don’t.
Rivalries
If someone likes a particular tag, are there any tags they’re unusually likely to dislike?
We can measure this using a phi coefficient between the appearance of a particular liked tag. (When computing these correlations, we considered only people who had disliked at least one tag.)
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.
Conclusion
I don’t have any interest in “language wars,” and I don’t have any judgment of users who share technologies they’d rather not work with. Thinking about how polarizing Microsoft technologies often are does encourage me to share my personal experience. I’ve been a lifelong Mac and UNIX user, and nearly all of my programming in college and graduate school was centered around Python and R. Despite that, I was happy to join a company with a .NET stack, and I’m glad I did— because I loved the team, the product, and the data. I can’t speak for anyone else, but I’m glad I defined myself in terms of what work I wanted to do, and not something I wanted to avoid.
If you’re interested in sharing what technologies you like and dislike, and perhaps find the next step in your career, you can create your own Developer Story.
Want to work with the technologies you love? Find your next move on Stack Overflow Jobs, where you can search by tech you like working with.
250 Comments
I don’t like the tags [microsoft] and [apple]; not because I dislike those companies, but because those tags shouldn’t exist: https://meta.stackoverflow.com/q/284167/4751173. Fortunately, [apple] has been burninated already and won’t make the next survey.
I think you’re fundamentally misinterpreting these data. People don’t use that feature [just] because they “dislike a language”, they do it because they have observed (either in SO question lists, or in the typical volume of jobs on offer, or some similar collection of material) a disproportionately high amount of material on languages they’re not interested in.
For example, I am almost constantly spammed with C# job information, for no apparent reason, so I tend to make sure to “ignore” C# on job sites with a tagging system — that doesn’t mean I utterly despise C#, just that I’m not interested in it right now. On the other hand, I really would not want to work in C, but since nobody ever tries to get me to do so, I don’t bother adding it to ignore lists.
Your conclusions above seem to ignore this factor and just treat users’ tag selections as a straight-up indication of what languages they like the most.
The field I’m analyzing isn’t Ignored Tags, which is an entirely separate feature (set in User Preferences, and private). Disliked tags are set in the Developer Story profile and are public (and adding tags to it doesn’t cause them to be ignored on Stack Overflow).
You’ve misunderstood my comment, too! Why does somebody add to Disliked Tags in their Developer Story? Is it to tell people all the things they don’t like just for interest’s sake? No, I don’t think so. I think it’s to tell prospective employers “you often suggest people work in this, and I’d rather not right now”. It’s a direct analogue to how ignored tags are used on SO.
I understand that hypothesis, but does it fit the data above? If so we’d have expected large and growing tags to be especially disliked, but the third image shows shrinking tags are disliked much more often.
As another example, four of the most common languages for Stack Overflow job listings are C#, Java, Javascript and Python (you can count them in Jobs search, e.g. for Java: https://stackoverflow.com/jobs?sort=i&q=%5Bjava%5D ), while the more polarizing Perl and Delphi are much more obscure (currently 4 jobs tagged Delphi).
It’s always worth taking these results in context, but I think the context is as I described it late in the post: people tend to dislike tags they consider outdated.
I don’t know why we’d expect growing tags specifically to be involved. Let’s just agree to disagree.
Here’s the thing. Your example with Clojure highlights this perfectly, so let’s look at that for an example.
First of all, why are Clojure tags on SO shrinking? It could easily be argued that for this and many others in the newer crop of technologies, people increasingly turn to communities for that technology instead of the generalist resource of StackOverflow; this is amplified by the lack of presence of the language in SO to begin with, meaning people are less likely to _start_ adding questions here as well, much less looking to it as an authority.
Second of all, why are Clojure tags seemingly not represented that much in people’s resumes? Perhaps because they don’t see it as a marketable skill, more than because they don’t have negative or positive opinions of it. It’s not one they’d expect to see at any given work environment, so they leave it off.
I’ve noticed this trending pattern with each ‘statistical analysis’ post from StackOverflow – you extrapolate patterns of behaviour of devs on SO as being representative of all developers, when in fact it’s becoming more likely that SO has come to represent a repository of common problems more than a repository of common popularity, and that is a distinction I suspect is _very important_ to address when making broad conclusions about the data. The context of SO makes far more assumptions than you’d like to claim.
This is an important question and we consider it a lot (for example, I addressed it in the final two sections of this post: https://stackoverflow.blog/2017/08/01/flash-dead-technologies-might-next/ ). It’s important to consider and be upfront about such caveats and confounding factors. But I feel that the majority of the variation we examine is useful and informative: while visits to Stack Overflow aren’t a perfectly random sample of what developers are using, they’re representative enough to draw conclusions from.
But we don’t have to go on opinions. The hypothesis that Stack Overflow data is biased, in a way that makes it not useful for this kind of analysis, is one that can be tested. Try making predictions about how Stack Overflow data would differ from other data sources, and see if they’re borne out.
Consider Clojure vs Scala. The Stack Overflow traffic data above (and in similar posts) suggests that Clojure has a smaller userbase than Scala, and has been staying level or shrinking while Scala is growing rapidly (particularly within high-income countries). We’re not the only dataset that shows this: it’s also borne out qualitatively by Google Trends data (https://trends.google.com/trends/explore?date=all&geo=US&q=%2Fm%2F03yb8hb,%2Fm%2F091hdj ) and GitHub activity (http://githut.info/ ). (In some data Clojure looks more flat than shrinking, but that could be explained by the fact that we’re looking at % of total Stack Overflow visits, and indeed the “shrinking” in our own data started only in the last year).
After the fact, could you construct a story why all three metrics are wrong, and don’t represent the true amount of Clojure development? Sure. But did you expect them to in advance? And what is the evidence on the other side, that justifies jumping through hoops to explain why all the data is pointing in one direction?
This is an important self-test when we’re criticizing a data source: see if we can make predictions about how it will be wrong. I once encountered a Haskell programmer who was sure that Haskell questions were underrepresented on Stack Overflow, and gave the example that while Lua and Haskell had the same number of users, Haskell SO questions were much more scarce than Lua. He proceeded to construct a convincing-sounding story as to why Lua devs may need to ask SO questions while Haskell had other ways of getting answers. But he was going off of his anecdotal impression, which was in fact quite wrong: there are regularly twice as many SO Haskell questions asked per month as Lua. If his mental model of the programming ecosystem wasn’t even able to predict existing facts, why expect it to have hidden insights into under- and over- represented technologies?
I get a lot of hypotheses wrong myself. For example, when I first saw that the % of new Ruby questions was declining in the last few years, I was surprised. I theorized that it might be because so many questions were already answered that people were visiting existing ones rather than asking new ones. But instead of just deciding the metric was useless and trusting my own story, I looked at the data, and in fact visits to existing Ruby questions have been declining just as fast as new questions have. (In fact, it’s almost never true that question views are rising while new questions are declining, except for short time periods). I could tell a new story about how Ruby developers were particularly unlikely to visit existing questions. But wouldn’t you start getting a little suspicious of the post-hoc additions, and start thinking Ruby may actually be shrinking?
I’ve sometimes heard the response of “well, all data sources- Stack Overflow, GitHub, Google Trends, are biased, so we should throw them all out.” But when we throw out all our data, we don’t get left with a perfectly unbiased answer: we get left with nothing but our own biases and subjective impressions (“I’m sure Clojure is growing, I’ve got two friends that both just started using it!”) Data has its problems, but it’s the only game in town.
I can’t argue to reject all sources because they are biased, but rather to better declare clear ways in which that bias may lean or shape results.
My thoughts exactly. I actually enjoy working with Perl, but at this point any job that focuses on Perl is a dead-end-job, so I might add Perl to the “prefer not to work with” field. The assumption made in this blog post that “prefer not to work with” directly equates to “dislikes” is an incorrect assumption in my opinion.
I would say we dislike some tags to indicate what stacks/skills we prefer to avoid dealing with.
There’s also some odd cases… I “like” the Internet-Explorer tag not because I like IE, but because I have to deal with it… I’m sadly overly well versed in its quirks and want to ensure I get exposure to the ones I’ve yet to discover. However even though I have 2 badges for IE and IE8 on StackOverflow… they are not really the badges I’m “proud” of. 😉
Hmm, David writes below that these tags are purely from the developer story… not from ignored tags/watched tags on StackOverflow… so uhm… yeah likely a different set of reasons for liking/not liking.
You’re definitely misunderstanding the data if Java and JavaScript aren’t much more disliked.
People can’t put down that they dislike Java and JavaScript – pretty much every job requires that you know those languages. I despise those languages, but every job I’ve ever had involved writing both at least some of the time.
I noted this as a caveat in the post:
“It’s worth emphasizing again that this is no indictment of the technologies, their quality, or their popularity. It is simply a measurement of what technologies stir up strong negative feelings in at least a subset of developers who feel comfortable sharing this publicly.”
In other words, “it says nothing, really” 😉
It says what languages people are comfortable disliking publicly. I found the results interesting.
Not without, effectively, a control group, it doesn’t. There is no context to the results. It basically just says “some people have said on their Developer Story that they dislike these languages”. Well, that doesn’t tell us anything.
It says what languages people are comfortable disliking publicly, in the very specific context of a job search or career advancement. Maybe SO should put polls on the home page to collect this kind of data instead of trying to extrapolate broader meaning from a field on a resume than that field was ever meant to convey.
That avatar is amazing
Or… your opinions are different from others at orders of magnitude more than you might have realized.
He has a point that publicly stated opinions reflect the personas that people want to project.
I would expect to see languages such as Malbolge, Whitespace, and Brainfuck on the top. Really noone wants to write code in them.
Probably because no one takes them seriously so no one feels bothered to include them when comparing.
Right. However, the question was about “tech you prefer not to work with”, not “serious tech you prefer not to work with”. In a sense, the point is that the question is ill-defined in the strict sense of the word. Or were there not tags for esoteric languages at our disposal?
There is no problem with the question; the problem here is with overly-pedantic readers who were unable to construe what the article aimed to analyse.
Insulting people is no way to start a rational discussion on the mater.
What are you talking about? We use Fetlang extensively in the financial industry
Brainfuck is a programming language, that is the whole point of the brainfuck exercice, to create a programming language.
When I read the question Brainfuck was the first thing to pop into my mind. I do not dislike Brainfuck, however it is the last programming language I would want to have to use, by far. I would much rather code in assembly.
Thankfully nobody is forcing me to use it.
Does it mean I dislike it? I’m not sure – there is a fine distinction that I missed at first.
By the way, I have programmed in all 4 top hated languages (although not extensively). I don’t think they really deserve their top 4 place, especially perl. Granted, it is painful to grasp everything happening around @, $, hashes and whatever, and I never totally did, however when it is is used in what it was build for – processing text data – it can shine. It just has a nasty learning curve, and that’s most probably why it got taken over by PHP. With PHP I have a love-hate relationship, it gets things done, nothing less, but unfortunately nothing more either. Delphi I kind of liked (Pascal Script, actually, but close enough, IMHO). It’s quite verbose. Unfortunately not the best kind of verbose – more like inelegant, repetitive words when I would much rather use braces, commas, operators and then add a few comments in the spared space. For some reason, I tend to write huge functions in these languages.
Anyway, I’m sure there is much worse out there. How about, COBOL. I would guess it’s considered dead but I’m sure there are a few banks somewhere still running it. It’s actually likable too, but more like how I would enjoy a visit to the museum and seeing historic machines.
I missed the fine distinction, thanks. The title says “disliked”, while the actual question was “prefer not to work with”. There is a difference.
Why is VBA considered a programming language when Visual Basic and VB6 are considered “technologies”? Surely they are all languages, and should all feature in the language graph?
I actually think the language is Visual Basic and the VBA and VB6 are technologies. It would be rendudant to feature them. it’s like making a distinction between IronPython and Jython as languages. The language is still Python.
I think that “programming languages” is intended to be a subset of “technologies”, and that the reason some programming languages were included under “technologies” rather than “programming languages” is the difference in the minimum number of mentions. (Obviously, COBOL, Fortran, and Pascal are programming languages.)
That’s right; including anything that counted as a programming language but was as small as Fortran would lead to a lot more obscure inclusions (and more debates). As noted in the post, I set a threshold of 2000 mentions for the first figure describing programming languages.
Why would someone bother listing JSON as a tag to work with? It’s not like companies are looking for people proficient in JSON…
There are currently 23 jobs on careers.stackoverflow.com that show up searching for [json] as a tag, and 168 that show up searching for just the text “json”.
Though looking at the first result for the text without the tag, it’s a crazy mishmash of technologies that looks like someone just dumped anything they could think of.
It’s not a significant qualification, but only because it’s so braindead simple (compared to XML) that it’s reasonable to expect any half-decent programmer to be proficient in it.
Yar, it be the curse of the Black Perl https://en.wikipedia.org/wiki/Black_Perl
How many SO readers really write COBOL, in order for their hate to be anything more than “tradition”?
I work with a lot of COBOL programmers, and most of them have probably never even heard of SO. I’ve also never heard anyone here say anything negative about COBOL in 17 years. For most of them, it’s the only language they’ve ever used, so it just is what it is.
🙂
In college, I hated COBOL. The “GOTO is teh Evil, so we must do all sorts of crazy convoluted stuff to avoid it” textbook made it so. Then when I got a real job and learned it from experts, I learned to love it. But that was almost 30 years ago, and only did it for about 18 months…
They don’t really teach the real evils at college – such as criticizing your manager or boss, publicly giving your opinion, publicly offering suggestions to do things differently, hitting on your coworker, being late or sick during probation.
Nobody really cares about GOTO (not sincerely, anyway). They’re just pretending that they can make somehow turn people into good programmers by teaching them such rules. Nasty programmer will find other ways to mess up, and skillful programmers will know when to use a GOTO.
I was also taught COBOL – that was like 15 years ago. I didn’t really enjoy using it, nor was I impressed by it in any way, but I still think it’s nice to learn older languages and I think there is something to learn from it.
I had to get “reacquainted” with COBOL a couple years ago. It was not a happy reunion. I kept saying to myself, “I could be *done* with this, if only I could use (name of any other language here)”.
Fair enough, but I say things like that all the time when trying to use emacs lisp.
I wrote in COBOL as a beginner programmer. Never again.
What are the most disliked posts? Well I dunno…how about reoccurring blog posts using R about who likes or dislikes what?
frontend:backend vs backend:frontend -> Need to clean your data, looks amateurish with simple errors like this in the data, and diminishes credibility,
Why? There could be different numbers of people who liked frontend and disliked backend, and people who liked backend and disliked frontend.
The connections aren’t symmetrical.
really wish the Stack Overflow “Developer Story” had more “non-developer” aspects (or that it was easier to aspect-away from “developer” to sysadmin, devops, consulting, etc – Server Fault, for example, is a huge site in its own right, but doesn’t have a “dedicated” careers-like service (nor should it))
I found the “Developer Story” map to be quite interesting. There is mainly 3 large clusters: Microsoft related, Web related and System related.
Flame bait, this blog post! Given a choice, why would you use Bash over Perl????
Ummm…because I know Bash pretty well. Perl not so much…
I’ve never used Perl. I see that on the relationship graph, it seems to be related to regex which I have used (maybe people who use Perl are doing a lot of text processing?).
@ke@kelvinshadewing:disqus , Sure, when they are breaded and fried, squirrel is very tasty!
Emacs > Vim
Only because it has viper mode so it’s basically a superset of Vim 😉
Why aren’t the paragraphs in this article linkable?
for the first chart, how did you incorporate the percentage of dislikes versus the percentage of popularity? R may be the most non-disliked, but is that only due to the lack of people who would ever think about R putting it there? Sure is it growing – but on a pound-per-pound basis what is the outcome? I’m wondering if there could be a more in-depth data science blog? where you talk about WHY you did what you did? I’d also like to see some unstructured analytics alongside these topics as SO has a TON of text data attached to these tags
I wonder whether Perl’s top spot is only because people felt they needed to add *some* dislike, and Perl is the “traditional” language to hate.
(I’d really be surprised if that many people actually *knew* Perl. Given the decade-long decline and constant hate, I honestly don’t think it is the case.)
For those of us to whom the term “geezer” can fairly be applied, I believe the “traditional language to hate” is COBOL – for well-deserved reasons, I might add. 🙂
Perl in many times better then PHP, but it is traditional scape goat.
haha … nice .. perl wins (and I like it for that) !!!!
The rivalry between C# : webforms is, kinda funny?
How well liked are each of the languages? I personally couldn’t care less about what people hate. What they value matters much more!
Slash sounds pro on a kiddie guitar, A chef can still cut better than you with a cheap knife. etc. etc.
There is value an significance in each language, but discussing which hammer and nails to use all day, and no house is being built.
You clearly haven’t been to Programming Puzzles and Code Golf (https://codegolf.stackexchange.com/) 😛
They’d run out of memory trying to process all the esoteric languages. 😛
Hmmm, ever occured while doing this analysis that people may just be tagging things in order to be considered part of the ‘gang’ ? That what they do say on SO may have very little in common with what they actually do ?
Actually, this article has exposed trends I’ve noticed for quite a long while now in terms of languages people complain about (even while using them).
I would definitely expect Javascript and Assembly to rank higher on the dislikes, along with PHP then.
I think these dislikes are more about preferences.
And as long as there are no better alternative for solving the same problem, you can’t dislike something.
What will you replace js with?
Assembly is great. I don’t usually have to write it and it tells me what the compiler did !
This article is trash. Any data scientist drawing some sort of conclusion from this article should simply give up. To dislike something you have to be aware of something, so unless the pool you’re sample consist of people who have experience with ALL these languages, they’re not really qualified to dislike anything, since they are not AWARE. Kotlin? What about Eiffel or Assembly? Some languages aren’t even popular enough to merit an opinion. Maybe of each language, how many people are happy with the language and how many want to switch away or has switched would be more indicative of what this article was trying to illustrate.
This comment is trash. This blog post was interesting and fun. Climb down off of your high horse and joing the rest of humanity as a reasonable human being.
If you’re going to represent yourself as “qualified data scientist” on the internet. Represent at that level. This article belongs on some satire site. I don’t mind if you discredit plethoras of languages and the professionals that work in them, but have some respect for the field. Discredit them with some sort of meaningful argument, some sort of metric, something that the community can absorb, adapt, and refine, but this? Just a massive waste of time. This is effectively a troll against the programic industry, and that’s all it really is.
You might as well say “my language is better than yours… na na na na”
And which language of yours did you see up there? That would explain this behavior
Your reply ironically borders confirming Jay L’s point. Even if it’s meant tongue in cheek, that reply objectively stems from giving weight to the value of the article.
Jay L;
You might as well say “my language is better than yours… na na na na”
My language is better than yours… na na na na! 😉
Of course they’re not qualified, no one is claiming they are. This is an analysis of people’s unqualified opinions.
It may not be a dislike. It could be a fear, or a bias, or whatever… It’s still possible to draw some conclusions for the data. Though, perhaps the author of this article has taken a few too many liberties in broadly interpreting what the data means.
I think it’s valid to interpret that the kind of people that would use stack overflow jobs believe they have something to gain by listing certain languages over other ones.
Assembly? There you go. I hate programming in PDP 7 opcodes with no comments. Intensely. To the point where I refuse to ever do it again. Per previous comments, apparently at least one person would refuse to hire me and one refuses to consider people unlike me, although I don’t know whether either has hiring authority.
Assembly is great because you don’t usually have to write it and it tells you how well the compiler did ! And if you didn’t have assembly, you would have to use MACHINE LANGUAGE ! how do you like that?
Don’t say that, some blogger might say that people love to code in machine language because it’s the least disliked language.
It will be interesting to see how the “Windows Subsystem for Linux” alters the Microsoft hate. OSX users can no longer claim to have the more unix-like dev environment.
As long as I have to keep typing the slash the wrong way, I’ll stick to OSX (but Windows for gaming of course ;))
Windows has supported both slashes for decades
It would be nice to be able to ping from the windows subsystem. Until then I’d say osx still wins.
Should be possible, according to this: https://github.com/Microsoft/WSL/issues/18#issuecomment-222017700
It is possible since first Creators Update
It would be more wise for Microsoft to go the other way. Get rid of their internals and make Windows subsystems Linux.
Actually WSL is too late to change the game. Now many people use some form virtualisation for dev, so OS doesn’t matter anymore.
JavaScript is a programming language? I guess the word “Script” in the name isn’t obvious enough.
You certainly haven’t heard of Node but I will give you the benefit of the doubt.
Let’s all stop writing code and go back to writing binary instructions directly.
Why stop there? Let’s stop making a distinction between program and data. It’s all automata.
Bash is a programming language? Last time I checked it was a script (and one that isn’t nearly as developed as JS)
I guess it depends on how you interpret your system, really.
When you are on a primarily compiled, backend-focused architecture (C, C#, Java, etc.), where the “real” workload is done on the server and only some JavaScript snippets are sent to the client to add some interactivity to the webpage here-and-there, the distinction of “code” and “scripts” is, IMO, most definitely accurate.
On the other hand, when you are on a full-JS stack, the distinction is irrelevant: there is no “script” and “code” at the same time.
Like Node.js?
Those “Ruby haters” just don’t know the difference between Ruby and Rails. Even most of Rubyists don’t know it — they just switched from PHP and don’t care what’s going on.
It is usually not a love-hate game with those tags. IMHO people dislike stuff in SO that they simply do not use or understand and if there are too many questions about it people will simply use dislike to remove them from the lists. It also be good to add a weight to the charts based on the number of questions for let’s say last 2-3 years. If people use some rare tech then the number of publications for it will be much less intrusive, so many people won’t even bother disliking it.
I can’t believe there are actual living people who “dislike” Linux in favour of “Windows”. Who they are? How did they end up like that?
Maybe they like the superior windows explorer or the aesthetics. And linux feels too complicated
People like Justin Bieber above Bach, Mcdonalds above an intricate curry. People will be people, irregardless off thing.
I wish this article was written in Japanese, English lacks certain types used to express emotion. Such a stupid simple, boring language. Why am I even speaking it?? Oh yea because everyone else does.
True emotions are not meant to be expressed in words, silly. You experience them and that’s it! Likes or dislikes of a programming language are very primitive and basic emotions and can be very well expressed in English or through emoticons. 😉 https://uploads.disquscdn.com/images/fa97408a62535071d4fe50c972a1cdf2070ae62d40ac198b06c38d2a174dc36a.jpg
I’ve used Windows all my life.
I’m most comfortable using windows because I know it’s ins and outs.
Linux while it has it’s own advantages also have issues, that I rather not deal with if I don’t have to.
It’s not that I dislike Linux, it would be a clear choice for a lot of problems.
But when it comes to the OS I work from day to day, I prefer the option that solves the same problem as any of the others but is the most familiar to me.
They dislike Linux, because it is associated with command-line interfaces (in contrast to GUIs). For instance, they were forced to learn it or they had some other bad experience (like meeting an arrogant operator from hell).
I think this was an extremely arrogant comment. You like Linux and you can’t believe others don’t.
There’s a very good reason to hate Linux: people like you.
I don’t “dislike” Linux but let me give you some perspective.
As a kid my first experience with computers was DOS, then Windows 3.1 etc. Eventually I discovered Linux and learned to use it both for work and personal use and its a perfectly OK alternative operating system that for work at least is better than windows in many ways. But I ‘m not going to lie, having to use the CLI to do things always felt (and still feels) like a step back to me. The same with the originally unfamiliar structure of Linux, I can use it just fine but the Windows structure still “feels” like the right one.
Now don’t get me wrong I know why the structure is different and I don’t mind using the CLI instead of a GUI but that’s just me and I can understand with ease someone who looks at these things and has a response along the lines of : ” %^&$@ that this is 2017 I don’t want to have to commit CLI commands to memory! ” and that causes them to dislike the OS.
I’m shocked nobody is defending perl.
Well, to be honest, not really.
I still have the scars
I love Perl. It doesn’t need defending.
I love Perl. I hate Perl.
s/Perl/programming/g
Perl is the best language on the list by an order of magnitude, IMHO. The main reason people aren’t listing it (again IMHO) is they don’t see lots of perl jobs to match to.
The best langauge by an order of magnitude? That is a bold statement.
Perl developers are in high demand, and the work usually pays very well. Perl programmers enjoy the language and don’t care if the rest of the world hates them.
I can only imagine that those people that dislike Perl are amongst the least able programmers.
What I hate are new languages that are un-necessary, because they do not improve on languages that already exist.
Oh, and the dreadful Focus report generator that makes queries that could be coded in minutes in SQL into significant development projects.
What is the “Focus report generator”? Something from Microsoft?
https://en.wikipedia.org/wiki/FOCUS
Well I dislike Perl and I have been coding for 30+ years… I suppose my dislike of Perl could correlate with an inability to code, yet I still manage to get the gigs… I definitely went through the Perl phase with everyone else. it’s a fine scripting language and should be used as such. I would never want to work on a large project written in Perl… NOT because the language isn’t capable, but because Perl coders (I once was one) have a tendency to try and do everything on a single line or regex everything. it’s not Perl’s fault totally and sure these things could be enforced in code reviews, but they aren’t. Literally every Perl project I have inherited from another developer or team has had to be rewritten from scratch. Why? Because it was faster to rewrite it than to understand all the crazy Perl idioms that were used… no using obscure features of a language doesn’t make a person elite…it makes their code hard to maintain.
Anyway once I moved to Python there was literally never a need for Perl again… And sure Peal could do a lot of the heaving lifting I do with Python, but I’d never in a million years try to maintain a 100,000+ line code based that was written in Perl. NEVER…tried it once with a few thousand line code base. I’m not saying it cant’ be done, but I am saying that I would not enjoy it at all.
You are describing bad programming. Every good programmer knows that one of the most important aspects of coding is to make the code readable and readily understandable. You seem to have had the misfortune to inherit the work of smart-alecs that wrote obscure code because they thought it made them look clever. In fact it makes them look like the incompetent, unprofessional idiots that they are. They probably would be unable to maintain even their own code if they had to come back to it a few months later. Unfortunately Perl, with its great freedom in how things are done, seems to attract that sort of person more than languages like Python where the language offers fewer options, and goes some way to preventing the worst forms of obscurantism.
I would not blame the language. I’d blame the managers and team leaders that did not enforce coding standards or, more likely, never put any in place to begin with.
Tom I agree, but I ultimately blame both. Look Perl is what it is. It’s literally a language that powered the web for it’s early life. That alone is impressive. I am not bashing Perl per-say, but I am declaring that there are better alternatives out there for this use case today.
Python/Django, Ruby/Rails, etc. Can Perl do all of that? Sure it can. But will that code be as readable/maintainable as say the same application written with Python/Django or Ruby/Rails.. IMHO having used them all.. Perl is the hardest to read and maintain in a team of people.
The irony in my next statement is that before coming to Python I was appalled that it enforced a white space rule… After learning Python and working on larger teams I have come to understand that this is in fact one of my favorite features of the language. Something about writing code that a software engineer from any background can easily read and understand. Perl is not an easy language on the eyes (yeah yeah that is subjective), but with plenty of experience hiring coders and ramping them up I can honestly say it’s harder with Perl than a language like Python and YES that could be because there are more Python coders these day’s than Perl coders…
Python is a great language. It is easier to learn than Perl and does not seem to make people want to write obfuscated code. Nevertheless Perl is a more powerful and versatile language. In any case our likes and dislikes have little influence. Unless we are lone geniuses or running the company we, as software developers, have to use whatever language or languages our employer has chosen … unless it really cannot do the job, in which case we are allowed to suggest alternatives. In the same way Agile methods are imposed on us as the one true way to manage all and every project that can ever be conceived, rather than being used for those projects where it is appropriate, and put aside for those where it is not.
A software developer that intends to do a good job will try to write readable and maintainable code, regardless of language and regardless of whether the company has coding guidelines. I have no time for those “geniuses” that quickly hack together something unmaintainable that more or less works and thereby impress managers that know no better.
Having said that it is rarely the un-readability of code that makes for unmaintainable software. It is almost always quicker to re-implement buggy code than track down its problems and fix them. So long as compilation units (or individual scripts) are reasonably sized that is. Of course the same fools that write obscure code also tend to write 100-page programs. I have found that it it is the poorly designed architecture of an application that is a bigger problem. Having been denied the use of GOTO, many software designers have instead created Spaghetti from the interactions between modules.
Perl is a great general purpose language with tremendously wide applicability. For any development work that does not need such versatility other languages are often easier to learn and use. Take PHP for instance. It is rather a simple language, but quite elegant. Coming from a long career in software, and having used Perl extensively for about 20 years I learned enough PHP in a day to code up efficient and correct implementations of a couple of complex algorithms. [And I am not claiming any exceptional ability. I expect any similarly experienced developer would be able to do the same easily enough]
Horses for courses yes. Favourite languages … okay. But hatred of programming languages. Maybe some … but not Perl.
Maybe the author of the article was merely struggling for suitable click-bait to suck people into StackOverflow? Because as a rigorous piece of analysis, the article sucks. The data cannot be trusted and the logic is full of holes. I wonder if he designs software?
Tom I do agree on some points. Perl is a powerful language. But so is Python.. if we had this conversation 10 years ago I’d have agreed that Perl was more powerful, today I certainly would not agree with that…though hands down Perl pawns everyone else when it comes to regular expression IMO.
Python has come a long way and as far as power goes I’d probably declare them equals, but one of them is in fact easier to learn and has a more expressive syntax. So I guess define power?
They have both been around since the 80’s.. Most people don’t know that about Python. They think it’s a web language, but truthfully it was a science language Bio, and Chem first. I used it in that capacity for a long time.. then Django came out.. and well the rest is history. lol
Besides if I’m looking for raw power I’d revert back to my C/C++ day’s or golang.. man I am loving golang on a few hobby projects. I can’t believe how awesome it is for concurrent programming. But I have to admit I feel like I stepped backwards 10 years on expressive ability with the language….but then Python can’t even really do multithreading programming.
I definitely agree with you about Agile being forced as the One.True.Way.. God I hate Agile at times. You are right there are projects that are totally suited fro Agile… aka web programming. Everything else not so much IMHO. You can’t just release a math module early and often and hope to fix the bugs that people find.. LOL..
And I agree the article may have had some click bait in it. Truth is.. when a person has mastered a language they can do damn near anything in it quickly.
And just to ramble a bit. It took a LOT of convincing to get me to start using Python instead of C++….and even then I did it by embedding the python interpreter into the application I was working on to provide a scripting interface.. and then later exported a lot of those functions to Python code.. it was a molecule modeling package… yeah I’m a damn dinosaur. lol
Cheers
Nice to see that although we seemed to disagree initially that we have quite similar views of the state of our profession and its tools.
All the best
Tom
Get rid of those silly images that are at the top of the blog posts that take up half the screen and mean absolutely nothing.
It’s a thumb-down, so it means something 😛
Get a mouse with a scroll wheel?
I actually thought it was a loading image or something and that my net was being slow. Stared at it for 5-6 seconds before I saw the thumb. Yes I will gladly admit to doing dumb things
matlab tag traffic could be decreasing because of MATLAB Answers: https://www.mathworks.com/matlabcentral/answers/
It is MATLAB, not matlab or Matlab.
[bracketed-lowercase] is how Stack Overflow users often refer to tags, like [ruby-on-rails] or [javascript].
It is a pretty awful LANGUAGE too !
I think a major driver of dislike is the installed base. COBOL, Perl,
VB, PHP – there are lots and lots of production systems out there (with business users attached, unlike many of the scientific and exploratory languages with experts clicking on the front end). The folks who inherit the code, especially if they are fresh out of school where
they learned to use the shiny new things, will be suffering. And they will not suffer in silence. I think this is an anti-pattern.
Keep in mind that all these languages are Turing complete. Anything you can do in one you can do in another. (Unless it’s so poorly implemented you crash the machine.) The only real question is how easy it is. Furthermore, if you already code in 3 (from different families) you can pick up any other in a week.
That said, just trying to read someone’s legacy Cobol code from the 60s, let alone change it to get the data you actually _want_, is enough to give you a headache. Yes, I’m looking at you, HHS. (Yes, seriously, at the time I looked, the only way to get Medicare data was to run a Cobol program. No SQL, no jquery, no INFORM. There’s a database back there somewhere, but the only access is through those Cobol programs. Medicare allows users to write programs to access “scrubbed” [no personal identifiers] data. But only in Cobol. But what are the protocols on their computers?)
I can’t consider this article valid until someone explains to me why Javascript isn’t in the area of most hated language.
Because, somehow, PHP is worse 😉
Or why is perl hated more than php.
Technical people don’t actually make technical decisions based on technical reasons.
great line – i’m going to steel it.
Why is PHP worse? I find it my second favorite language…
If you explain what you hate about it, maybe I could explain the areas where it shines that outweigh its quirks.
Modern JS has quite some options to write OO, makes it less messy. Once you know it, it feels like a fine language, with a lot of WTF’s; sure.
Because it isn’t 😉
thank goodness that I’m not the only one!
The article, although interesting, it contains a large flame-bait..
Another possible explanation is that stack overflow itself selects towards a certain segment of programmers and may not be representative of the industry as a whole. It’s sort of like saying “we surveyed 100 people at our local coffee shop and found that most people enjoy drinking coffee.” The problem then becomes when the lemmings read that and say “Oh, I need to start drinking coffee also.”
Personally, I don’t think I’d want to hire anyone that has registered a strong dislike for any language. A smart programmer tries to have as many languages in their toolbox as they can get. Of course, we all have our favorites, which is usually a function of the kind of programming we do most often as some languages are more suited for certain types of work than others.
I wouldn’t hire a programmer that didn’t have strong dislike for
obsolete technologies where the replacements have clear advantages.
sweet, you guys now don’t have to complete for programmers…
Apparently they didn’t before.
Well said.
Measuring how often people list expertise in a language is a measure of how marketable they think the skill is, not how much they like it.
Why does your analysis of programming languages never include XSLT? It has much more SO traffic than some of the languages you include, like erlang, rust, or kotlin. And it’s certainly a “love it or hate it” language.
> it’s certainly a “hate it or hate it” language
FTFY
Languages that are very different from the mainstream tend to be “love it or hate it” languages because (a) they are good for some problems and bad for others, and (b) because you have to approach problems differently to take advantage of what the language offers.
A lot of it is flat out snobbery, I’m afraid. I’m a perl guy who
watched the anti-perl smear campaign get rolling in the late-90s… to
this day I see anti-perl people who’s big argument is “no one cool uses
that”. I ran into a guy the other day who says he quit using perl
solely because of the way people reacted to him. Take a look at Steve Yegge on the subject… he pretty much admits his big objection is
he was personally offended by things Larry Wall said about his favorite languages.
Personally I learned to dislike Perl once I had to pick up Perl code that other people wrote. I alway’s thought it was a great scripting language and I still feel that it’s an OK scripting language. But it simply doesn’t compete, in my opinion, on larger projects with languages like Python that force some element of syntax formatting on you. I shudder to imagine working on a 100,000+ line code base written in Perl.
Does anyone remember the day’s of seeing just how much logic you could cram into a single line of Perl? <— I think that more than anything led to the demise of the language.
Back during the bubble 1.0 gold rush perl was picked up on by huge numbers of people who had no clue what they were doing. The fact that they could do anything at all with perl is impressive, not the fact that a lot of it was a mess.
Being the hottest language on the planet brings some drawbacks, as the Javascript guys have been learning.
No doubt and I totally agree.
As someone who took a Perl class in college and really enjoyed it at the time, I have to say, I find other languages a lot easier to work with. I think half the fun for me in Perl was just how short I could get my programs, not that that made it easier to use.
“As someone who took a Perl class in college and really enjoyed
it at the time, I have to say, I find other languages a easier to work with.”
Okay, this is a tricky thing to talk about, because I don’t want
to deny your own experience here, but I think that the fact that
so many people say things *like* this is much more of social
phenomena that a reflection of technical circumstances.
The CS intelligensia decided many years back that it was cool to be
a perl-hater, but suppose we were talking about something that they
were pushing as the greatest thing ever. My contention is that
you’d be reluctant to stand up and disagree with them, you might
even be doubting your own experience– you might be thinking to
yourself things like “I don’t see what’s great about this, but
gee, maybe I didn’t really learn it all that well. I should
take a look at it again someday.”
Myself, I really think we could use better ways of making
collective decisions than this…
I used to be a Perl guy too, but of course, what you hear most is that its hard to read and that’s undeniable. For all the great size of CPAN, it just wasn’t keeping up with where other languages were going. It tried to be all things to all people and that’s just not feasible. Finally, there were the many years that Parrot was under construction and the growth of Java and the other upstart languages such as Ruby and Python. Perl, which was once king of the web hill, just didn’t stand a chance. Then, the framework and CMS craze of the mid-2000s lifted Python and Ruby firmly above Perl. There are Perl web frameworks but they are clunky. And, there are virtually no Perl CMSs.
> I used to be a Perl guy too, but of course, what you hear most is that its hard to read and that’s undeniable.
I’d deny that, myself. It can be written so that it’s harder to
read, particularly if you don’t make any effort to think about
how it’ll be read later.
> For all the great size of CPAN, it just wasn’t keeping up with
> where other languages were going.
I’m really not sure what you mean here… CPAN module continue
to be maintained and updated.
> It tried to be all things to all people and that’s just not
> feasible.
True enough, and I’m not telling you you need to be a perl guy
or any other kind of guy for that matter.
> Finally, there were the many years that Parrot was under
> construction
You mean perl6: rakudo actually runs (mainly) on the mohrvm.
They gave up on parrot for some reason.
Among perl5 people there’s some annoyance that Larry Wall named
his next project “perl”: when it got hung up it contributed to
the “perl is dead” story (actually, perl6 has very little
connection to perl5, and if anything perl5 development
improved– a bunch of new blood moved in when the perl6 project
started).
> and the growth of Java and the other upstart languages such as
> Ruby and Python.
All of which means perl isn’t the hottest language on the planet
any more, which is to say that there are other languages that
are doing well too. The weird thing is the perception that no
one uses perl, perl is dead, etc. Actually, just as an example,
perl5’s unicode support was far more complete than most
languages for many years (they might’ve caught up there, though
at a guess perl5 would still compete on performance).
> Perl, which was once king of the web hill, just didn’t stand a
> chance.
Not of remaining the only king of the hill, no. Continuing to
be one of the king’s of the hill, yes, arguably: there are a lot
of large, established projects (and a few new ones, like
duckduckgo) that had no great interest in staying trend compliant.
> Then, the framework and CMS craze of the mid-2000s lifted
> Python and Ruby firmly above Perl. There are Perl web
> frameworks but they are clunky. And, there are virtually no
> Perl CMSs.
I don’t claim to be an expert in either field, but from what
I’ve seen of the various perl frameworks (Catalyst, Mojolicious,
not to mention more obscure ones like Poet) I don’t think they
deserve to be called clunky, and I doubt that Bricolage has much
to apologize for as a CMS.
I don’t disagree with much of what you write, however, while Bricolage may have been an ‘enterprise’ CMS back in 2011, it hasn’t seen any development since then. Of the CMSs in active development, there are only two: IkiWiki and Foswiki. https://en.wikipedia.org/wiki/List_of_content_management_systems#Perl
Didn’t read the entire post, just because I believe it’s wrong. For example, I’ve put Ruby as dislike as well as a bunch of other technologies, but not because I dislike it, but because I don’t know how to use them instead. I don’t want to see jobs about Ruby because I cannot apply to them. There are a bunch of technologies that I personally admire but know nothing about it.
Interesting angle. Yes, that could potentially show different data is the source for tags was tags Erin stack overflow itself (starred, ignored question tags) instead of career resume.
It still studly shows something. What technologies are still happy to work with, and ones they ignore/dismiss (which might be more accurate than dislike).
Beyond that, as I said in another comment, if people think a technology has no future, they’ll try to find jobs using something else, regardless of how much they like working with it.
this is a little slanted because it wont let you dislike “microsoft” anymore… so those are all legacy haters.
oh my poor little darling…
I always thought you used the appropriate language for any programming task, all things considered. VB6 is the fastest way to crank out many Windows desktop program applications that I’ve ever seen. And in plenty of places javascript, and PHP were fast and easy to use to accomplish a task.
Right, which is why popularity is not always the same as liking a language
I believe Clojure shrank because too many other question are posted. Based on my observation, Clojure(especially ClojureScript) is still growing.
I think it’s wrong to conclude that this indicates exactly how much people like or dislike a given language for its inherent qualities. People are choosing what to work with or not work with based upon what pays and what has a future, not just what they like working with. Obviously Visual Basic and Cobol are not a good career choice. I think this explains other results like why Bash is so highly regarded, according to that chart, and why, despite people “hating PHP”, they apparently love Laravel.
In truth the tag input should say “Used to match you with jobs that fit your skills, interests, *and career goals*”
As a data scientist you should know better. You have to focus on the facts first, like more people tagged Python as a tech they want to work with than Java, and check your assumptions on each inference you make about this. Someone else’s first inference would be that there are simply more Python jobs available nowadays. Or they think those jobs pay better. Or they think they’ll work on more interesting problems, just because companies happen to use Python for those kind of problems. Which reason(s) is it? You don’t know at all.
Indeed. For instance, Docker is likely high on the list of “liked” technologies because people are seeing it show up more and more in job listings and have concluded that they want to go work at a job where they can learn it, not necessarily that they already _have_ used it and liked it.
Would be interesting to add Labview to the list. From my experience people either hate it or love it.
True, but there’s not much LabVIEW traffic on Stack Overflow – it seems LabVIEW developers tend to use different online resources, including jobhunting resources.
My favorite is the person that had to put several screens together to see the gigantic LabVIEW VI program he created. Thank goodness monitors are scalable !
I disagree that Php is more disliked than Java !
They have learned to love the T_PAAMAYIM_NEKUDOTAYIM
I would agree if the last version someone used was 5.3 or 5.4, but from 7.x and on it’s been much nicer to use. Could many things be done better? No question about it, but what language (looking at you JS) doesn’t have ridiculous quirks? I have a much easier time planning and developing our frameworks now than I did 4-5 years ago.
If Pascal is less disliked than Apple, does this prove Apple should never have abandoned Pascal? 😉
The world seems to have abandoned Pascal independently of Apple. I never used any of their stuff, but it was my favorite programming environment on CDC NOS, RT-11, DEC Vax/VMS, and MSDOS.
If you ever heard Bitcoin, dig in PascalCoin 🙂 https://coinmarketcap.com/currencies/pascal-coin/
If you know Bitcoin, dig in PascalCoin 🙂 https://coinmarketcap.com/currencies/pascal-coin/
I notice that, as “hated” as Fortran is, no one has gone back and rewritten all those old numerical libraries in a modern “good” language. Instead every new machine has to have a Fortran compiler so the programs we write in the new, good languages on the new, good machines can go back and link to the (compiled) programs written in old, bad Fortran. (Well, I guess only machines that numerical analysis.)
Qualification: some have been. And advances since the 70s have often NOT been written in Fortran.
That’s because there is quite a bit of magic in writing numerical software to achieve stability for super-small and super-large numbers and to maximize bits of precision in the results, the order of operations is very important (e.g. such as sorting an array from smallest to largest before adding up the elements), and this work is tedious and therefore nobody wants to reimplement these numerical libraries in a new language. Just something as simple as finding the best pivots to solve a matrix might be quite complex.
PERL is fun, and you can write it in a way that isn’t obfuscated. Plus people use PERL for things it shouldn’t be used for. Best to stick with (Text In) -> PERL -> (Text Out) .
I personally enjoy writing in Perl. Could you mention some of those ‘things it shouldn’t be used for’?
don’t know what other people are using it for (and shouldn’t use it for that)
But i’ve experienced, that you should not use it for GUIs, multithreading and COM interection.
> multithreading
Much as I’m a perl booster, I’ve got to concede it’s threading support has always been weak.
It’s decent for multiprocess, not so much multithread.
Really? R the less disliked one??
R advocates are not programmers – they are mostly statisticians who don’t know any better. Programmers with a moderate amount of experience should cringe when forced to use R. They cringe a lot more when they see R code written by statisticians and scientists. Even Hadley, as immensely talented as he is, is not a programmer. He’s just more obstinate than most and is making awesome additions to what is otherwise a hopelessly crude language.
I’m a programmer who’s been messing with R of late, and it doesn’t strike me that there’s anything unusually terrible about it, what it is old and well-established, so there’s multiple entrenched oddities you need to dance around, and multiple layers of competing fixes, and you need to know your way around the ecosystem of available libraries (yes, you’d better keep an eye on Hadley Wickham and cohorts, i.e. the “tidyverse”). This describes *every* software project that’s over a decade old.
There’s something profoundly strange about saying “man, this language sucks except for the superb libraries and the excellent developers”.
I don’t know of anything that rivals “ggplot2”, for example…
Everyone in web development (with their eye on open source) knows that *P*eople *H*ate *P*erl …
Of course, the replacement, though more popular, also has its detractors, and at least a few reasons for that….
Not especially smart people.
Hmmm, I omitted COBOL from my dislikes because I didn’t think anyone would be interested for work in COBOL. I didn’t want my profile to sport a large list of dislikes for fear of projecting an image of snobbery or negativity, so I imposed myself a limit of three entries: windows, .net, and c#. I wonder how widespread my logic is. And how that bends the statistics?
You would be surprised how many COBOL job openings there are these days, although the language has virtually none of the (built-in) features we value in languages today. The mainframe culture out there has learned to extend the language through various means, however. I do remember working at a place in the late 90’s that was able to divide work across each of the 32 CPUs on their 32-way server. It was a payroll application for a huge installation, so it saved probably 10 hours of precious runtime on each run.
COBOL – the oldest language … by far ..
FORTRAN is a bit older, and still in use.
01001101 01000001 01000011 01001000 01001001 01001110 01000101 00100000 01001100 01000001 01001110 01000111 01010101 01000001 01000111 01000101 00100000 01000110 01001111 01010010 00100000 01010100 01001000 01000101 00100000 01010111 01001001 01001110 00100001 00100001 00110001 00100001
What is the significance of such research? How does one justify like or dislike without at least trying to solve a real problem with all the languages listed here. There is no better programming language but one language better for specific set of problems.
It would be interesting to know how liking/disliking a language correlates with experience and competence in that language. Conjecture: early on in our experience with a language, the things we don’t like about it tend to be features that we regard as unfamiliar or counter-intuitive or just difficult to grasp, usually because they are different from the language we came from. When we’ve been using a language for years, the things we don’t like about it are more likely to be genuine design faults in the language. However, the kind of criticisms that an experienced user would voice would probably not cause them to say in a job application that they aren’t prepared to use the language. Saying that probably marks you out as someone who has never really mastered the language in question.
In my experience it’s a great mistake to be too choosy about the tools you’re prepared to use. In the end what matters is whether the problem you’re tackling is interesting.
And I think a lot has to do with the kinds of problems you’re trying to solve. For some problems, one language might be far superior to another, say when trying to implement something needing a command pattern, while another problem requiring heavy vector math would be most elegantly solved in a different language. In other cases it isn’t the language itself, but the availability of certain libraries, gems, packages or what have you, that make solving a particular problem easy.
Extra credit for “not enough jQuery” reference
Wonder why ruby is disliked…now rails I could understand… 🙂
I agree. I like Ruby but hate Rails.
I understand Rails is long in the tooth and has deficiencies such as no concurrency but if you have to prototype a web app *quickly*, you can hardly do better than Rails. It is still a popular framework in the surveys and has tons of features. If you want to move to Elixir & Phoenix from RoR, I understand but that is a new learning curve. That said, I too was confused about Ruby being trashed like that… Ruby inspires loyalty like few languages and it works for many common problems that don’t require concurrency or high performance. You would have a hard time beating Ruby’s expressiveness within an object oriented context.
Peresonally I hate VBA. Am surprised it is so well liked by everyone.
I am in luck! PHP is my second Language after python.
Is it possible that vba and vb.net and pre-vb.net stuff are all being conflated into “vba”? Clearly the count of dislikes is also a matter of how widespread it is, and I have trouble believing proportionately so many people use VBA.
VBA is used with Access databases, some organisations which don’t have money to buy anything better use them for real processes in-house, as I can say from experience with a council. Also some banks apparently have legacy VBA on Access applications perhaps?
more people ought to dislike ASP.net
Why? Because you do?
1) I find it very hard to get a good answer for most of my questions on ASP.net MVC.
2) The Visual studio IDE does not provide good support for UI development
3) Most of the security mechanisms like Identity require long learning curve and often have easier implementation in other languages
4) EDMX solves ORM problems but complicates things when DB schema changes in DB first approach. On multiple occasions, my project has gone bonkers when i used the update EDMX from updated DB option.
5) Error handling needs to be user defined and hard to figure out and most of the errors are directly showin in the View (Browser), with hapazard stack trace, which is difficult to understand.
6) When NuGEt packages are updated, several dlls are added which dont contribute to the code quality, they are mostly addons which dont serve any purpose unless some arcane function gets used in a corner case which is usually not required.
For these reasons and so much more, I completely dislike development in ASP.net.
Fair enough. I’m far from an expert when it comes to ASP.NET, but it does serve my purposes pretty well. I guess I need to try some other web development frameworks!
You know, your technology is really dead, if people do not even care to dislike it…
Delphi and Object Pascal are really great programming languages, even for learning programming and OOP in general. People judge languages without using it for sure! VBA should be the worst progamming language, even before Perl. VBA was the first programming language where I thought, why the f*ck are this common concepts from other languages not or so complicated implemented 😉
Just what I though the moment I saw the chart.
The very same action can be written in terse and dense (and unreadable) or in exuberant (like basic or pascal) code in perl or something reasonably short AND yet readable – the programmer has the choice.
VB’s verboseness is so exaggerated that it ruins its readability – and no option not to write that way.
I like the post, but the network has been developed in other site https://graphofknowledge.appspot.com
A shame the data is from 2015
nice blog
The heading is: “Tech you want to work with” / “Tech you prefer not to work with” — I don’t think that translates very directly into “likes” / “dislike.”
One might well love a particular language but have many reasons to prefer not to work with it at some moment.
I think the profile information in developer stories mostly indicates what languages they don’t want to work with, not exactly what languages they “dislike”. There’s considerable difference between the two. e.g. Javascript might be a relatively unpleasant language to work with. However, since you can’t avoid it at all when working with the web, you’re forced to use it if you ever want to work on anything web-related. That doesn’t mean it’s not a bad language in itself though.
I think you are ignoring a critical factor. What you are really measuring is, the number of people who know and prefer not to use a language, and the amount of people who know the language well enough to claim expertise. These do not indicate the polarity of language in terms of developer satisfaction.
Well said and agreed.
Well, I am not sure if there isn’t a YUGE number of people that make claims of disliking a certain programming language but NEVER have used it seriously/at all. And on the other side claim to like a certain language, without having it used seriously, just so they feel like running with the kool kidz on the block.
That is at least my real life experience…
How did Sharepoint avoid a placement on the most disliked platforms list?
+1 for the conclusion
If a team’s members are people with good attitudes and personalities then it is not essential what is the primary project’s computer language or the operating system. I always dream to be in a team with good people. From time to time it was happened in my past.
I’d like to see a dimension of time applied here! I’d like to know which are the most liked and *oldest* languages, and the ones that have grown long in the tooth (e.g. never addressed evolving development needs) and are disliked.
It looks like C/C++ and Perl may be on the opposite spectrum.
How in the world did these escape any “hate”?
1. PowerShell
2. TCL
I LOL’d when I saw Lua there. Lua doesn’t suck per se enough to “hate” I suppose it but it just seems like it was written as someone’s school project. Lua “solves” a problem which doesn’t exist in the first place.
The rivalries crack me up… not so much “rivalries” in a lot of instances but new versus obsolete. REST v. SOAP? Seriously?! I’d love to see a cogent argument for why writing all that SOAP IDL is better than REST.
The charts read like a Star Wars battle with all the TIE Fighters lining up.
The “rivalries” chart is kind of amusing. But rivalry usually implies a two-way street. That is, if A dislikes B, then B dislikes A approximately the same amount. Does your chart indicate that? For example, you have a linux : Windows rivalry, which says that a large percentage of people who liked linux disliked Windows. Does it go the other way? Is there a similarly large number of people who liked Windows who also disliked linux? People who liked json disliked xml? Do people who like xml dislike json?
Developers are expressing their emosional side and taking things personally on seeing the results of the Love / Hate Survey conducted by SO.
Great post.
it’s a well-known fact that your choice of a programming language decides the growth of your career as a developer.
If you tie your career to a single language, you’re doing it wrong. I started programming in 1979. The last time I tried to recall all the languages I’ve learned, I stopped counting around 30 (of course, most of those have been obsolete for decades).
Regex is disliked by anybody?
Really?
Anybody exists who prefers writing and testing dozens of lines for the simplest matching instead of building a line using the rules of RE?
Must be a joke.
Genuinely surprised that Python wasn’t any higher up on that list.
I question the methods that conclude that bash isn’t among the most hated languages. Honestly, using bash for anything more than a 5 line script is a mistake.
Re: Clojure usage shrinking – Clojure has a basic problem: it doesn’t look at all like C. No curly braces. No #MACROS. No int or char or *. In many minds, if a language doesn’t look an awful lot like C it’s automatically a bad language. Never mind that it’s better. Never mind that you’ll be more productive. Never mind that you’ll learn something just by figuring out how to use it. To far too many developers, anything that’s new or different is bad. C is old and they spent a whole lot of time learning to do it (perhaps badly), so therefore C is good.
And it uses **squiggly braces**!!! Oh, frabjous dei!!!!
I Love JavaScript more than any of the others. it’s versatile and lightweight. Go or Python for Backend <3 Great post by the way
Interesting article Career fairs are very helpful when you need to know about career services and choices. Thank you for sharing
What a shock, there seems VBA more number of dislike, my salary every year increase not less than 20%, the most higher 40% where i getting paid to develop automation using VBA.😏
Python’s continued popularity surprises me. While I like Python and it is good for data science I don’t understand why people use it for websites. The PHP and Ruby ecosystems are far more mature if you consider ease of use and if you are going for performance, Go and Java-based frameworks are better. Even in the data world, I kind of like R over Python.
how do you ask people to dislike what they do not know?? Of course they are going to say php and visual basic because that is what they know. So where does that leave you? That the most liked programs are the most disliked?
Well, like or dislike all depends on one’s preferences and demands in language selection. If one language can do well for other project and the other on a different project, then it’s just a choice of usage.
I feel it is more like people are familiar with something and can answer possible questions. It is not about they like it or not.
If you are forced to use TypeScript at work, does that mean you like it?
All this shows is that the more ignorant you are about a language, the more you dislike it.
Very sad to see!
I think you forgot to include the programming language brainFuck
In the latest StackOverflow 2022 Survey of most loved languages, Delphi ranked #7 just behind Python. Interesting what can happen in 5 years.