Insights | My Programming Language Is Better Than Yours!

My Programming Language Is Better Than Yours!

By Andy Hilliard | December 18, 2012

Language matters. Which isn’t a surprise, really — even in that old Tower of Babel story, wasn’t it a surfeit of competing languages that somehow brought the tower build to a screeching halt?

What does surprise me though is how little time and consideration developers are willing to invest in choosing which programming language they should use to implement a software application. Too often, there seems to be some sort of default: “The CEO or CTO knows Java, so I guess that’s what we’ll use”; “PHP is good enough, so we’ll just use that”; “we’re a Microsoft shop, so we’re going to use dot net.”

Imagine my excitement then when I discovered that an objective study had been conducted by ISBSG to tell us which programming languages lead to programmers being more productive.

Unfortunately, the results don’t live up to the promise.

The study draws from a database comparing 6,000 different projects. It shows that Classic ASP, through the initial dot net implementation from Microsoft, is the most productive. After that comes Visual Basic, then Java, then a bunch of others.

But I couldn’t help thinking, “Wait, where’s PHP, where’s Ruby on Rails, where’s Python? What about niche-y languages like Scala or Erlang?” My initial feeling of excitement turned to disappointment when I realized the study didn’t really seem complete or part of the real world. For example, it lists PL/1 – and I don’t know anybody who still programs in PL/1.

I suspect what may have happened is that the study focused on key projects at large companies where those older languages have been used over a span of years.

But disappointments can be instructive too, can’t they?

In analyzing what’s lacking in the study, you realize maybe programming languages can’t be looked at in a vacuum. Maybe other elements of the software development process are more important than just what language you’re in: your ability to collaborate, say. Or your ability to quickly do iterations and focus on a few features at a time rather than having a really long development cycle.

I also think there are some languages that lend themselves more to a team approach than others – and this can affect productivity. Java, for example, and C++ – basically the compiled languages – enable you to have modules and libraries that can be shared more easily than, say, PHP. I actually know clients who have complained that it’s difficult for them to hire PHP programmers who can work in a team because so much of web development is done by just one or two programmers where there isn’t as much teamwork needed.

Who knows? If the study had taken into account the built-in code review and coding standards of languages like Java and C# — and process issues in general — maybe it might have felt more complete, maybe even useful.

Or maybe I’m just Babeling.

 

 

 


Interested in reading more?

More from Accelerance

May 13, 2021

Introducing Rapid Referral™: The World's Fastest Way to Risk-free Software Outsourcing Partners

How do you find a software development outsourcing partner that you can be certain will perform, without wasting months hunting for hit-or-miss options? Try Accelerance's proprietary Rapid Referral™...

April 27, 2021

EXECUTIVE SPOTLIGHT: Insights from the Front Lines of Outsourcing Decision Making

In his career as a C-level executive, Richard Morrell has viewed outsourcing through two lenses: as the head of a technology firm making the case for fast, cost-effective software development, and...

April 6, 2021

It’s Prime Time for Software Product Management: Are You Ready?

Product management has been getting a promotion in the world of software development. While the increasing pace of digital transformation ensured skilled software product managers were in high demand...

Whitepapers

December 3, 2020

2021 Software Outsourcing Due Diligence Guide

Learn About the Key Advantages to Outsourcing in Eastern & Central Europe:


How can we help you succeed?

We make outsourcing successful with innovative partner selection services and tailor-made consulting solutions to ensure your desired outcomes.

Let’s Get Started