Developer Andrew Vos was looking for a weekend project when he decided to grab some one million commit messages from GitHub and scan them for swear words. He limited the swearing to George Carlin’s seven dirty words and then broke down the results according to programming language. To make sure that the popularity of one language over another didn’t skew the results, Vos grabbed an equal number of commit messages per language.
C++ takes top honors, but just barely. Ruby and JavaScript are neck and neck behind C++. After that it drops off considerably with C, Java and C# placing in the middle. Python and PHP developers are either very happy about using those languages, or perhaps just very mild-mannered developers. Of course just because they don’t swear in commits doesn’t mean they don’t swear. As one commenter on Vos’s post says, “I program in Python, but all my cussing is related to IE.”
It’s impossible to know how many developers are swearing at their screens while writing code, but if you’re looking for a less swear-word-inducing programming language, PHP and Python seem to be the way to go.
Even more interesting than the statistics by language are the actual commits, which you can check out on Vos’s GitHub account. Our personal favorite: “fuck it. let’s release.” Indeed.

Since I started this blog, I have gotten quite a few emails asking me “What programming languages do you recommend for X?” I often finding myself writing something along the lines of
I would honestly recommend python. Something about me being biased because I know and love it. Usually say something about the competing technology with a back handed insult. Also if they are starting out I would recommend a language that enforces better OO (Object Orientated) practices than python, like Java (don’t hate me but it’s true).
Then I go on to say something like you should try to learn one of each language type compiled, scripting and functional language. Never pin hole yourself. Always try to be aware of the differences when encountering these languages
Keep in tune with trends that appear in fields of interest (web development, mobile) but you don’t have to learn every new “IT” language.
Keep reading the blog or else statement.
Kind Closing
Name goes here.
So I have decided to write this blog post to safe my readers time, as well as keep my sanity. Don’t get me wrong I love hearing from my readers. Its just I am writing the same email over and over. You know who you are. Grr.
Again these are just my opinions and the only thing I do professionally is being a bad ass aside from writing code.
Web Development
- Dusty’s Pick - Python/Django
- Dying Technology - PHP
- Others - Ruby/Ruby on Rails
Why you ask? You learn design patterns like MVC which is the basis for django and ruby on rails. PHP is an ugly language hard to learn, but it does get the job done. I feel though these other technologies are growing and allow for easier and quicker development experience.
Integrated Development Environment
- Dusty’s Pick - Eclipse
- Pro Bros - Vim/Emacs
- Windows Boys - Notepad++
You should be a master in one of these. It increases your productivity as well as increased ease when coding in some languages. I would recommend for beginners Eclipse! Why? Because of Twilight and the fact that it has extensive plugin architecture that includes almost every development language. Older guys swear by Vim/Emacs, its has big learning curve but people swear by it afterwards. Notepad++ for your portable use and allows you to download it quick and to comfort zone for off site development.
Compiled/Packaged Languages
- Dusty’s Pick - Java
- OS and Applications - C/C++
- The Other C - C#
The reason I recommend Java easiest to learn quickly and it creates a clear and concise way to show the power of OO programming without the clutter and mess of syntax that C/C++ are known for. Now, on the other hand for “performance” reasons most programs you see are written in either C/C++ which have interesting ways about going compiling from the sources you will end up writing yourself which is a skill within itself. Writing make files and dependency management. So learning them for that added benefit is worth it. I don’t know much about C# but people I know love it so here is a generic Wikipedia link.
TL;DR
There is so much, where should I begin? Forget all that I say pick one and stick with it, until you can plan out how to solve every problem from start to finish with thinking crap how am I going to do that. Once you reach that level, switch languages. But always ask yourself how would I do it in that language, what about this one? YA DIGG?
Discussion