Hacker News new | past | comments | ask | show | jobs | submit login
The Programming Language with the Happiest Users (doloreslabs.com)
53 points by lukas on May 12, 2009 | hide | past | favorite | 42 comments



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.


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.


Acme::Magpie


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


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


I think the positive sentiment around Perl is because Perl 6 is getting closer to usable and so there is that "new thing" hype with Perl right now which generally start to go away when it starts to get put to use in real programs where the bugs and frustrations reveal themselves.

Nothing against Perl - this is just how it is with anything new and untested.


Nothing against Perl

Why would anyone take that as being against Perl? I think most Perlmongers like that folks are talking about the language as something new and interesting again. But, I suspect it's not entirely Perl 6 that's to blame. Moose has been raising a lot of eyebrows lately, and with good reason...and it's actually usable today. Very few people are writing actual software in Perl 6, so it seems unlikely that folks are twittering about it all that much. But, lots of folks are building software with Perl 5 and Moose.


Meaningless chart/data is meaningless.


It's fair to say that the chart is meaningless in terms of "what's a good programming language?". But there is clearly different sentiment about the different languages on twitter, and the differences are statistically significant. From a market research point of view, I think there's an interesting signal here.


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


#!/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;


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


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.


Sighs that my quine is so 1999...


Indeed. For one thing, who says the people tweeting about a language actually use it?


Well they probably are, the valid question is "how extensively". I never felt a need to tweet about languages I use to code, why?

So I think this represents a percentage of happy vs unhappy neophytes, with arcane languages being at the top since religious aspect kicks in :)


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.


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


Try searching:

http://search.twitter.com/search?q=c%23+language

I guess you could Release the Turks, but that would make it more expensive.


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


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


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.


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.


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


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.


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.


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.


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.


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.


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.


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?


It might be interesting to see the results of 15-20 iterations of this experiment, to see how perceptions differ over time.


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


Ah 150 per language. My goof.


How about the programming language with the fewest unhappy users?


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


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


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.


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.


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.


whoa, COBOL programmers tweet?


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.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: