68 comments

[ 7.8 ms ] story [ 139 ms ] thread
Interesting read, but I am afraid Lotus notes should have more haters than lovers than shown.
The number of people using (and hating) Notes is greater than the people developing for it.
Since 1997, you should accurately refer to it as IBM/Lotus Domino.

An annoying email client, to be sure.

But the Domino project was a fork of Apache, with support of server-side JavaScript (as well as VB-Script variant) talking to an HTML based templating system. This allied to an embedded NoSQL database engine that's the ancestor of CouchBase, with a granular ACL system of authentication based on RSA keys.

So, totally uncool then. :-)

A lot of the difference seems to be about outdated languages versus trendy languages. (Maybe the newer ones are better which is why they gain popularity).

For example, I personally see the power in git, but find it a pain in the arse to use other than for basic stuff. CVS was far simpler, and I never had much trouble with that back in the day. But git is pretty much the standard version control these days, and it doesn't make much sense to use the others.

c+equality
Did they have a full spec, or implementation though? It's not like getting the folks at Github upset is very difficult or truly reflecting controversy. Everyone I know that's read the underlying research (there is literally a researcher looking into what a "feminist" programming language would be, though the main pull from the published work was "what does this mean?").
c+equality was "implemented" as a macro package. (The response-to-parody hyperventilation went well beyond github.)
Got a link to other hyperventilation? All I noticed was that the "real" "feminist programming language" stuff now 404s. C+= was pretty masterful.
C+= was hounded off many other public git hosting services, and even a few days ago when one reappeared, is was hounded anew. Much hard feeling amongst the parodied.
C vs C++

Pike vs Stroustrup

But I'll be gracious enough to give Linus the final word :

I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.

        — Linus Torvalds
As someone who does database driven web apps (the opposite end of the spectrum from Linus), there is so much truth in this statment.
What do you mean by database driven web apps? Could you please elaborate more on this part?
That seemed pretty clear to me: a web app where the primary function is to let the user interact with (e.g. search in) a database. What else could it mean?

  > Pike
I think you're confusing Rob Pike with Dennis Ritchie. :) Pike has designed many languages, but C was not among them. I say this especially because Dennis Ritchie Day was just last week: http://radar.oreilly.com/2011/10/dennis-ritchie-day.html
No I'm not. Pike worked at developing the C language, especially on Plan 9. Plan 9 C has a few unique features added by Pike when Ritchie was his team leader at the labs and Stroustrup was there developing C++. Pike is not a fan of C++, E.g. "object oriented design the is Roman Numerals of computing"
Torvalds paraphrasing Niklas Wirth.
Well, or Fred Brooks.
My favorite observation from that data: people who write Haskell on OS X are more likely to hate things.

I know it's not really a solid principle, but I think it's funny regardless.

While people who write c# code on windows tend to take it easy...
Neither C# nor Windows is on the graph the parent comment is referencing. On the other end of that graph is linux and scala.
You're both wrong. The graph the GP references is solely the top 12 most polarized. You need to go down one more char to get the opposite end (It includes asp.net but not C#).
Another interpretation, since these are voluntarily reported on a CV, is that the people citing OS X and Haskell are more likely to be trying to differentiate themselves. They want to be seen to "Think Different." In the likes column, they add a prestigious and difficult language or an OS associated with an exclusive brand. In the dislikes, they put items that are seen as mainstream.
Hey, that's me! And I do hate a lot of things... including Haskell and OS X sometimes :)
I'm surprised Ruby wasn't more polarizing. On the Erlang forums all we do is make fun of Ruby people.
Funny that jQuery is one of the most liked technologies/tools on SO given the hate it gets recently from the community.

I have a neutral stance on jQuery. I love some parts of the library like its Sizzle engine and the extended selectors it provides out of the box and on the other hand, there are parts that I dislike like animation (very quirky to my taste) but I can't really feel any disdain or negative emotions toward it because I am still well versed in JS/DOM API and I can really accomplish a lot of stuff in the absence of jQuery.

So, this animosity toward jQuery is but unfathomable to me.

Most of the people who I have met who hate on jQuery haven't used it extensively and can't write a piece of software without npm.
Just my $0.02... I don't think there's anything wrong with jQuery, and these days it might be a smart choice to lightly augment a website, as opposed to powering a webapp.

I've inherited jQuery and Angular codebases on freelance jobs in recent years, and I can say for certain that I'd much rather inherit an Angular project than a jQuery one. You have a fighting chance that the logic will be segregated into the components you would expect, rather than spaghetti markup/js mashups with bits of event handling logic blurted all over the place. That is of course the worst case scenario for a bad jQuery project, but it's often the reality when you step into a messy codebase where a procession of people have hacked around for a short while and then departed. I'm thinking in particular of a situation when a crappy, derelict jQuery plugin had been chucked into the project a while previously, and was triggering "stop script" prompts in certain versions of IE. Fun to debug.

It's a framework/library thing. Angular is opinionated, but that's worked in my favour to date.

The good thing about jQuery is that it makes developing web apps easier. The bad thing about jQuery is that it makes developing web apps easier.
I'm not sure whether the distinction between sub-categories and their parents was treated correctly in this analysis. There is a huge gap between the popularity of HTML and HTML5, CSS and CSS3, and Javascript and its assorted heap of technologies.

My guess is that if you like HTML, you will mark yourself as liking both HTML and HTML5. However, it would be odd to like one and not the other, and pointless to dislike them both.

In that case, it might be more correct to count people who liked/disliked at least one of HTML or HTML5 as being HTML-positive/negative people, but I am not sure that this won't distort the data in some other way.

Based on personal observation and experience I would have predicted that dislikes are based on things we've been forced to use, and legacy technologies that have been a PITA for us to support.

That fit well with the results. Windows is disliked by Unix people because it is something we're often forced to use by the business. (By contrast Windows developers are rarely forced to use Unix.) Older technologies are more disliked because developers are more likely to have had to support legacy products using those technologies.

But I would have missed the "enterprise technologies suck" issue if I hadn't read the article.

Given that these are all people looking for a job, it's not surprising that the "likes" appear to be slanted towards things that commonly show up in job postings.
Right. This is from a resume site. How many people are going to put on their resume that they dislike something?

Analyzing the main Stack Overflow site would be more useful. You go to Stack Overflow when something doesn't work.

No it's good, you don't want to be bait-and-switched. So many job ads now say "Haskell/OCaml/Erlang..." But they're actually Java shops. Better to put the warning up front.
> So many job ads now say "Haskell/OCaml/Erlang..." But they're actually Java shops.

Why would they do that?

They are hiring for the new system they are trying to develop, and supporting the legacy code they can't get rid of. They are always overoptimistic on how much time will be spent on new vs old.
That's a charitable idea but the real reason is bait-and-switch, a "creative" solution to being unable to recruit.
I, for one, am amazed that PHP isn't even near the top
Because the situation around PHP has massively improved with PHP supporting real OO programming, huge performance gains and cutting cruft like register_globals and other insanities.
That doesn't change the fact that a lot of people still hate on PHP like it's 2008.

"What do you mean it's not real object oriented programming? PHP5 has been out for TEN YEARS."

Probably because the haters never took the time to re-evaluate PHP.

I've written daemons, GUI programs (!) and even stuff like custom binary network protocols in PHP, in a fraction of the time it'd have needed in C/C++...

I wonder if it would have been better to have changed the name of PHP - maybe follow the fortran approach and tack on the year.
Can vs Should. While PHP is turing complete, there are much better toolkits for the jobs you described.
Sure, but PHP abstracts a load of stuff when you're doing cross-platform stuff - and what's more important, it allows you to keep one language (thus reusing codebase) when you're also doing stuff with web interfaces.

Neither Java, Ruby, Python nor anything else are as simple to setup and resource-friendly to run as a PHP-FCGI+nginx setup.

The guys behind MtGox were working on a PHP implementation of SSL, before it all went south there.
PHP5 didn't fix deranged fundamental stuff like ($x == $y) && ($a[$x] != $a[$y]).
Um, I'm working on a PHP codebase at the moment. I hate the PHP standard library. It's awful and awkward, but my job is to make shit work, so I do, even if I hate every minute of it.
So much this. Plus, we have certified CentOS servers that are only allowed to run 5.4 for the next years to come. Not to mention that the syntax and stdlib are a nightmare.

Thank god, we convinced our bosses to rewrite our legacy systems in elixir, since ~10years of iterative php progress grinded to a halt with lasagna layers of spaghetti code of homegrown-everything. Unmaintainable now, but the feature request keep coming in, and will do for years to come.

Lucky you, I'm stuck with 5.3, because of old CentOS too.
(comment deleted)
Its funny, when I saw the title the first thing I thought of was "COBOL vs FORTRAN". I guess FORTRAN (as Fortran) did make it into business use, but I'm pretty sure COBOL never made the equivalent jump.
People like JSON? A format that forces spurious quotes, making it hard to read, as well as lacks comments, making it hard to document. Or do they mean as a pure transport format? In which case... Who "likes" these kind of things? I might have strong feelings about endianness (LE just doesn't feel natural) or stupid bases like 10, but a mediocre serialization format?

And it doesn't surprise me that Haskell users dislike thing. Once you use a superior language, you really realize how much things suck. People warn about this in jest: don't learn <fp lang> because you'll hate working in other languages. But it's quite real and true. After being in a high level language with a good type system, working in a "mainstream" language is like trying to explain stuff to a subpar 6-yr-old. It's just incredibly frustrating.

(Working with one customer that chose C for their large codebase due to performance... Except the incredible verbosity ended up hiding terrible algorithms, and the lack of abstraction means changing things is a huge undertaking. Or on C# projects, every 5 lines of code I write I realise how it'd only be one in F#. Or how a long-standing bug would not have been possible due to more sane compiler checks.)

People who have used XML love JSON.
I still find XML easier to read (not all the time, but often). And no trailing comma problems.
I've used both. JSON's quotes everywhere make it annoying to type and read. Zero benefit, just silliness. The lack of comments is also a huge pain. No easy way to document config files. No easy way to cut out part of a message. Just stupid really.

XML's fatal mistake was requiring the name in the closing tag. Had they just used <> or </ or </> people wouldn't mind as much. Also ask the stupid external entity, DTD, and association with "enterprise" terrible designs. But JSON will get there over time. Already people are pushing the equivalent of XSD and WSDL because they are useful.

I'm sad that Perl is not listed. Has it sunk into irrelevance? (For the record: I like Perl.)
Python really stole its thunder. That and Perl6 being stuck in development hell for 15 years.
Python really stole its thunder. That and Perl6 being stuck in development hell for 15 years.
Perl should be up there. People either love it or hate it.
Perl is indeed quite polarizing (about 30% disliked, a bit more disliked than .NET). It's just not mentioned often enough to show up on the graphs.
I love the perl I write, I hate the perl anyone else writes.
They filtered the data for each by criteria such as top 25 or > 2000. Hence, Python and Ruby but no Perl, or Clojure and Scala but no Groovy.
(comment deleted)
I like that the java-ee people are least polarized and have the least number of dislike tags.