
What are the most polarizing programming languages? - var_explained
http://varianceexplained.org/r/polarizing-technologies/
======
AdeptusAquinas
I am not sure how representative the data source is of the global programming
community, but I really like his conclusion:

"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. But 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."

A very good principle.

------
MichaelGG
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.)

~~~
gaius
People who have used XML _love_ JSON.

~~~
MichaelGG
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.

------
bovermyer
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.

~~~
ifdefdebug
While people who write c# code on windows tend to take it easy...

~~~
autoreleasepool
Neither C# nor Windows is on the graph the parent comment is referencing. On
the other end of that graph is linux and scala.

~~~
aidenn0
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#).

~~~
autoreleasepool
Yeah, you're right. My apologies.

------
btilly
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.

------
SixSigma
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

~~~
collyw
As someone who does database driven web apps (the opposite end of the spectrum
from Linus), there is so much truth in this statment.

~~~
gotchange
What do you mean by database driven web apps? Could you please elaborate more
on this part?

~~~
semi-extrinsic
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?

------
abeger
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.

~~~
Animats
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.

~~~
gaius
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.

~~~
gruez
> So many job ads now say "Haskell/OCaml/Erlang..." But they're actually Java
> shops.

Why would they do that?

~~~
btilly
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.

~~~
gaius
That's a charitable idea but the real reason is bait-and-switch, a "creative"
solution to being unable to recruit.

------
iblaine
Perl should be up there. People either love it or hate it.

~~~
danieltillett
I love the perl I write, I hate the perl anyone else writes.

------
cfontes
Interesting read, but I am afraid Lotus notes should have more haters than
lovers than shown.

~~~
mschuster91
The number of people using (and hating) Notes is greater than the people
developing for it.

~~~
timrichard
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. :-)

------
noamyoungerm
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.

------
gotchange
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.

~~~
debacle
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.

~~~
timrichard
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.

------
collyw
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.

------
gpvos
I'm sad that Perl is not listed. Has it sunk into irrelevance? (For the
record: I like Perl.)

~~~
jandrese
Python really stole its thunder. That and Perl6 being stuck in development
hell for 15 years.

------
captn3m0
I like that the java-ee people are least polarized and have the least number
of dislike tags.

------
debacle
I, for one, am amazed that PHP isn't even near the top

~~~
mschuster91
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.

~~~
debacle
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."

~~~
mschuster91
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++...

~~~
craigmcnamara
Can vs Should. While PHP is turing complete, there are much better toolkits
for the jobs you described.

~~~
mschuster91
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.

------
protomyth
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.

------
dreamdu5t
JavaScript. Haskell.

------
fche
c+equality

~~~
MichaelGG
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?").

~~~
fche
c+equality was "implemented" as a macro package. (The response-to-parody
hyperventilation went well beyond github.)

~~~
MichaelGG
Got a link to other hyperventilation? All I noticed was that the "real"
"feminist programming language" stuff now 404s. C+= was pretty masterful.

~~~
fche
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.

------
adharmad
lisp by a mile

