The art of building software: April 2011

Wednesday, April 27, 2011

Ruby and the Three P's versus Java and the Argonauts

There's a cultural war going on between developers that use late bound languages to build web applications and services, and those that use early bound languages.  This job trends graph from hiring site may help explain what is going on.  You can see the trend for the early bound languages has continued to grow as a group (with C++ dragging down the pack).  A look at Ruby and Python will show that these are growing at much faster rates than the early bound languages, but the absolute number of jobs available for these languages is only a fraction of those available for the early bound crowd.  In order to grow, the Ruby and Python movements need to get programmers from the top three languages on the graph, which are all early bound languages: Java, C++, and C#.  They also need to recruit younger developers.  This cultural war is one technique the late bound crowd is using to get a developer audience.

This video is pretty funny, and the whole series is quite effective at capturing this cultural war.

Another interesting data point is a comparison of Ruby and Java salaries (see below).  This salary data from shows that entry level Ruby programmers make almost 20% more than their Java counterparts.  What accounts for this?  I don't know - if you have any thoughts please let me know!

This advantage disappears as the programmer gets older though.  I think this reflects something else I've noticed about this cultural war: Late bound adherents tend to be younger than their early bound peers.  I think this is because the late bound crowd needs to recruit "new" people to the fold, which will generally be younger people.

Ruby on Rails Median Salary (U.S.)
By total years of professional experience
Java Media Salary (U.S.)
By total years of professional experience