I'm sure this same story came up a while ago, but whatever.
Here's my take on the type of swearing in commits as per the story (XXXX represents swearword of your choice).<p>C++:
"Finally fixed it. My XXXX head hurts"<p>Javascript/Ruby:
"Finished adding 15 new features. I am XXXX awesome"<p>C:
"No time to swear, busy hacking. Oh XXXX whoops"<p>Java/C#:
"Wouldn't swear, unprofessional & boss is watching"<p>Python:
"All happy, & swears are naughty"<p>PHP:
"Whats a commit?"<p>(ps. Just for fun, no flamebait intended!)
I'm going to assume that at least 25% of swearing in Ruby is attributable to William Morgan: <a href="http://sup.rubyforge.org/svn/trunk/lib/sup/imap.rb" rel="nofollow">http://sup.rubyforge.org/svn/trunk/lib/sup/imap.rb</a>
I realize this post is a little tongue-in-cheek, however, you cannot use it to draw any meaningful statistical conclusions. This data makes no sense until you factor in the relative popularity of these languages on Github.
We don't know if PHP has little swearing because if it is a great language, or if PHP is rare on Github. Similarly, the reason Javascript and Ruby score so highly is most probably due to the fact that they are extremely popular languages on Github.
<p><pre><code> #define DEFINE_GUID_RIGHT_FUCKING_NOW_DAMMIT(x) // ... stuff
</code></pre>
I wrote that at 2AM once when I was at a start-up. I'm not proud. (Well, okay, I <i>am</i>).<p>A couple years later (after the start-up had imploded) I was asked to consult to fix issues that cropped up in the code at a customer site -- they'd bought an SDK and were having problems. During a walk-through of my fixes I found myself explaining that line of code to a suit.<p>The suit nodded. "GUIDs. Yeah, getting those right is tricky."<p>[That consulting gig was sweet; short, but I was able to charge $300 an hour. I should have charged more, they basically didn't care.]
Almost all of my work is either in C or python. When I do my embedded system development in C, I generally spend my day swearing at myself and cursing the world. When I do other components in python generally thing "wow. that was easy and fast. And it's so expressive. Wow! I'm in a great mood!". It makes perfect sense to me.
I'm surprised at the Javascript figure. I leave a few swears in server-side script but the only people that will see that are other programmers; Javascript, anyone can read that.<p>That said, I've found a couple of rants in my old JS from the IE6 days that, well, if I clean them up they're not really sentences.
I can certainly understand the high level in C++. But Ruby vs. Python is odd. There are so many similarities in the Ruby & Python communities. The main difference seems to be that Ruby has One Framework to Rule Them All, while Python has ... various things. Maybe that has something to do with it?
I find using <a href="http://www.google.com/codesearch" rel="nofollow">http://www.google.com/codesearch</a> is more accurate, since it covers a lot more code.
I don't swear in comments or commit messages, but I do often catch myself quietly muttering a string of obscenities while coding. At least I hope it's quiet.
Ha. I just made a hack about this at PennApps - <a href="http://www.commitlogsfromlastnight.com" rel="nofollow">http://www.commitlogsfromlastnight.com</a>