

The Programming Language with the Happiest Users - lukas
http://blog.doloreslabs.com/2009/05/the-programming-language-with-the-happiest-users/

======
SwellJoe
I'm surprised by the authors surprise at Perl programmers being the
"happiest". It's a fun language that enables a lot of cool stuff with a very
low barrier to entry. No reason folks shouldn't be happy. It's also a language
with a very long history of playfulness being baked right in...Perl golf,
obfuscated Perl, Perl poetry, etc. Larry's State of the Onion addresses are
historically as funny as they are informative.

~~~
bobochan
I was shocked by that too, but you are absolutely right. One of my favorite
modules in that spirit was Damian Conway's Lingua::Romana::Perligata which
made it possible to "write Perl programs in Latin." Just reading the
documentation was like absorbing a burst of pure geek energy. I immediately
spent a week playing with it.

~~~
berntb
Conway scares me.

It feels like Lovecraft's Cthulhu mythos when he starts a keynote, you expect
to hear things programmers weren't supposed to understand and go insane.

I'd still pay good money for a DVD with Conway's collected talks. (You have to
take some risks in life.)

~~~
SwellJoe
My co-founder had Conway as a professor at Monash University many years ago.
This fact might explain a few things.

------
henning
Meaningless chart/data is meaningless.

~~~
davidbnewquist
To obtain a laugh from the following perl code: 1)run 2)obtain output 3)run
output 4)repeat 2-4

~~~
davidbnewquist
#!/usr/bin/perl

$x = <<'LOL';

#Meaningless chart/data is meaningless

$x =~ s/\x67less/\x67ful/g;

$x =~ s/((7less)|(7ful))(.+?)((7ful)|(7less))/$5$4$1/g;

print "#!/usr/bin/perl\n\n\$x = <<'LOL';\n${x}LOL\n";

print $x;

LOL

#Meaningless chart/data is meaningless

$x =~ s/\x67less/\x67ful/g;

$x =~ s/((7less)|(7ful))(.+?)((7ful)|(7less))/$5$4$1/g;

print "#!/usr/bin/perl\n\n\$x = <<'LOL';\n${x}LOL\n";

print $x;

~~~
pookleblinky
Quines are fun and all, but I'd love to see a polyglot quine in Cobol, C,
Haskell, Prolog, and Brainfuck.

~~~
biohacker42
Well C is reasonably easy to decompile. If you simplified the syntax a bit,
wrote a really simple decompiler with it, perhaps so simple it really only
works on one binary, that binary being its own executable... it could work.

------
tlrobinson
_The “C” query combines C++, objective-C, C and C#. It would be nice to split
this out in future work._

Indeed, despite the common ancestry, those languages (and the people who use
them) are very very different from each other.

~~~
MrRage
Not to mention that if you're going to talk about languages with syntax like
C, Java should be in that list.

------
chaosmachine
It seems an odd oversight to leave out two of the most popular languages on
the web, PHP and JavaScript.

~~~
erlanger
Maybe they restricted the study to PG-rated comments :)

------
elbenshira
Interesting idea, but I personally do not trust Twitter data for analyzing
sentiments, mostly because of the problem stated in the article: we often
don't really know (or worse, misunderstand) the tweeter's true opinion. I
prefer good old-fashioned random polling.

~~~
lukas
It's a fair criticism, but the nice thing about analyzing Twitter is that the
data is already there. Polling has its own set of issues - how do you randomly
and uniformly sample from the pool of programmers? It's probably not something
you could do for a quick fun blog post.

------
dforbin
It's unlikely the small percentage of programmers who use twitter are
representative of programmers in general.

------
mattlanger
I certainly mean no disrespect to the author (since ingenuity driven by
nothing other than curiosity should never be frowned upon), but the data seem
suspect.

There are numerous small factors: anecdotally speaking I write code but don't
use Twitter to discuss code (nor do any of my coworkers); I spend most of my
day in Python and Java but if I were to Tweet it would likely be in anger
about JavaScript or CSS or any of a host of other languages I must deal with
that weren't included in the sample.

But more importantly, languages that enjoy vast market penetration are going
to differ significantly in terms of public acclaim from those with small,
dedicated, passionate user bases. And so for example it comes as absolutely no
surprise to me that Haskell would rate higher than Visual Basic.

~~~
derefr
If I did this study, I'd grab a few days' worth of conversation from the
mailing lists and IRC channels of each language, and analyze the tones there
(perhaps only each first on-topic line per person per login—further lines
would be biased by the conversants' attitude toward each-other, more than
their attitude toward the language.)

Alternately, if I wanted a truly controlled experiment, I would grab a bunch
of high-schoolers or college freshmen, filter out any that either already knew
how to program, or didn't already know how to use a computer well, and then
divide them into groups and teach each group a separate language with a pre-
planned lesson (which would teach the writing of the same algorithm in each
different language), recording the students' responses in much the same way as
one would record people's reactions to a UI for HCI analysis.

~~~
philwelch
Controlling for the same algorithm seems unbiased but isn't. Since different
languages are suited to different tasks, all you'd get was a measure of how
easily an untrained teenager could implement that particular algorithm in a
given language. You could control for that by using multiple algorithms,
though.

~~~
derefr
Right, whoops—I noticed that but forgot to correct. There should be an array
of programming tasks, with each language having one task that is considered
the "easiest" to do in that language (thus N tasks for N languages.) Each
student should either attempt all tasks in a random order, or only a single,
randomly selected task.

------
neovive
I find it interesting that there are Twitter users that actually code in
Cobol. Also, PHP is not even on the list :) I would think that coding in PHP
with a good framework like KohanaPHP or CodeIgniter, much more fun than
writing in Cobol or Fortran.

~~~
jhamburger
I'm sure there are also plenty of people out there like myself who are
generally aware that Cobol is a punchline for programming jokes despite never
having written a line of it in my life.

------
systemtrigger
I doubt we can conclude much about programmers of a certain ilk as a result of
the last 150 programming related updates on Twitter. Maybe if the data were
more transparent I could understand better what Delores Labs' graph
represents.

One problem I see in the methodology is that the sample size for each language
would vary dramatically. So the results for e.g. Haskell is probably based on
a relatively small number of tweets compared to e.g. Java where we would
expect a lot more tweeting. The problem that introduces is that we base
conclusions on maybe 1 or 2 individuals in the case of Haskell versus ~dozens
who would have tweeted about Java.

In the end, what difference does it make what some random people judge the
sentiment of a tweet to be? Is the aggregate written sentiment of a language a
scalar that strongly correlates to another scalar called happiness?

~~~
brendano
there were 150 tweets per language, but you're right lukas didnt say what the
number of unique different people was per language.

~~~
systemtrigger
Ah 150 per language. My goof.

------
jjs
How about the programming language with the fewest _un_ happy users?

~~~
eru
How about unlambda? It does not have any users of whatever emotional state.

------
DannoHung
Smug Haskell weenies: coming up strong on Smug Lisp Weenies!

------
jmonegro
This is barely "good to know" information, without any other use, IMHO.

I think programming languages fanboyism is just like videogame console
fanboyism - you could argue day and night why this or that one is better, but
in the end I like my thing and you like your thing.

------
mojuba
A good programmer can't be happy with a language he/she uses (unless he's the
creator of that language) by definition. If a programmer is happy though, it
can possibly mean some kind of religious happiness, which this chart may be
proving correct, I'm afraid.

------
Tichy
The one tweet about LISP he cites is straight from the recent "history of
programming languages" blog article that was tweeted about a lot. So that
might have distorted the results quite a bit.

Very surprising that there are COBOL users on Twitter.

------
fluffster
whoa, COBOL programmers tweet?

~~~
aardvark
I'm guessing the COBOL tweets are probably from people who primarily code in a
different language, but still have that one legacy COBOL app that they still
have to maintain.

