Ruby and the myth of developer productivity

We live in an exciting new world of Web development languages. But pitches selling the productivity benefits of one language over another miss the point

By Andrew Oliver, InfoWorld |  Software, Ruby

Once upon a time, developer productivty was indeed a rational argument for choosing one language over another. When we moved from Assembly to C, for instance -- we're talking a major reduction in finger ache, let alone not having to manage the stack. When we moved from C++ to Java, not having to manage memory was huge. But the individual productivity difference from Java to Ruby is comparatively small. Don't get me wrong, Ruby has an edge -- which might increase as Java grows more complex and Ruby loses more of its rough edges (as with jRuby) -- but it will never be rewrite-the-project-sized margin.

The fact is, issues other than language choice tend to have a greater impact on productivity. On a multideveloper project, team dynamics and software development practices like continuous integration and proper revision control matter more. Communication structures of the team matter more (see Conway's Law). Even a moderate increase in individual developer productivity, which a language change might incur, would be unlikely to make a big impact. Team dynamics and overall project management are that important.

So if developer productivity isn't a good pitch for Ruby, what is? First of all, Ruby has gone mainstream: There are lots of crack developers who have come to prefer Ruby (personally, I like the core Ruby APIs a lot).

Secondly, Ruby has sort of become a first language of the cloud. If I were making the argument that a client should switch from Java to Ruby, I would point out that when cutting-edge PaaS (platform as a service) players offer Java, they couch it as "legacy support." And of course, the fact that Oracle now owns Java and is in itself a risk. Let's face it: Oracle is known for monetizing products at the expense of the greater partner ecosystem.

The dirty little secret of our industry is that while we focus on "rapid application development," we spend more time maintaining, debugging, monitoring, and enhancing existing applications. Most of this code is poorly organized and often poorly written. A big reason for that is a general shortage of good developers -- and good app dev management.

Rather than obsess over incremental gains from new languages, in most cases you should play to your developers' strongest suit, raise your project management game, and tune your team dynamics. Get those basics right and you'll really raise productivity.


Originally published on InfoWorld |  Click here to read the original story.
Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Answers - Powered by ITworld

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Ask a Question