NEWSLETTERS
 

CIO.com updates, insights and advice on technology, management and your career.

 
 
 
SUBSCRIBE TO CIO
 
Are you involved in setting the direction for your company's IT budget or strategy?

Apply today for a FREE subscription to CIO Magazine!

 


Sun, Nov 25, 2007 13:33 EST

Is Computer Language Popularity Important?

Topic: Development

Blog: You're the Boss

Current Rating: 4 Comments: 20

Ever since the language wars were about COBOL versus PL/1, developers have argued about which one is "best." Best for what, though? Every language is a tool suited to a particular task, and the wise programmer chooses the best for the job. On the other hand, expertise in an in-demand language can ensure a steady income, and those who do the hiring want to bring on people who can make their chosen language sit up and sing. Who decides which languages a company will support, and on what basis is that decision made? Is the language's popularity a key criteria... and should it be?

At the developer level, language choice is completely personal. Like picking a brand of hammer or carving knife, the tool should fit well in your hand. Some people think better in Python than in PHP, and God help anyone who thinks in LISP.

Aside: Programming language adoption follows the genetic rules behind duck imprinting: the first creature a duckling sees is perceived as its parent. My first programming languages were PL/1 and FORTRAN, and despite writing production code in several others, from standards like C and REXX to obscure languages like Mary2. Yet, I can write FORTRAN code in any language. At one time, I dreamed in FORTRAN, compete with numerical labels in the margin of each dream. (This may have been the point at which I decided it was time to get a life.)

In business and managerial terms, however, the choice of a programming language is a much larger issue. A corporate standard language (or at least set of languages) ensures that the entire staff can read any in-house code, if not adequately maintain it. Predictability is a good thing, even if it's boring, though I've seen some mighty strange internal standards. In the mid 1980s, Ramada Inns let developers work on PCs in only Assembly language and interpreted BASIC, which meant that otherwise trivial apps were written in Assembly because none of the developers could stand BASIC. Turbo Pascal was smuggled in like booze at the office potluck.

How do you decide which languages are "acceptable" in your shop? Is it because your favored development environment (such as Eclipse or .NET) builds in support for one language suite? (Thus shops choosing Visual Studio would bless C#, VB.NET, and occasionally C++, with a smattering of IronPython accepted.) Or do you look for what programming languages are "in" and thus it's easy to hire developers affordably?

If you care about affordability, you might be in luck. Someone took the time to analyze language popularity:

We have attempted to collect a variety of data about the relative popularity of programming languages, mostly out of curiousity. To some degree popularity does matter — however it is clearly not the only thing to take into account when choosing a programming language. Most experienced programmers should be able to learn the basics of a new language in a week, and be productive with it in a few more weeks, although it will likely take much longer to truly master it.

Based on their results, the most popular languages today are C, Java, and Python. The results are interesting—well, okay, they're fascinating if you're a software development and statistics geek like me, and for your sake I hope you aren't. But I take issue with some of their methodology.

First, it's based largely on general web searches, such as, the site says, queries like language programmer -"job wanted" site:craigslist.org. As they admit, "Popular languages are used more


Keywords:

c, java, language, programming, python

You do not have flash or javascript support.
Average (4 votes)
4
 
 
Sun, Nov 25, 2007 15:41 EST
Posted by: davidw
Rating: 50

Hi,

I'm glad you found the results interesting, it was a fun project, and it should continue to be interesting as we update the results from time to time and add trends.

You point out some flaws with the survey, most of which I believe I gave a nod too in the text accompanying the results, because they are things worth taking into consideration.

However, I think *any* survey of this type is bound to have some flaws, because it's an attempt to know something that really cannot be known down to the details because of its very nature. I can't go around counting files in different languages in Oracle, Windows, MS Office, to say nothing of all the code written by myriad smaller shops throughout the world. So I have attempted to take what I can get, be clear about the biases that each statistic may suffer from, and sum everything together. I do stand by what emerges, as I think it's a fair picture of what I've seen 'out there'. I would, of course, welcome additional sources of information. Another thing that might be fun, given the time to work on it, is some extra javascript code that lets you, the user, give weights to the various source utilized, in order to see how that affects the grand total.

Thanks,
Dave Welton
DedaSys LLC - http://www.dedasys.com

 
Sun, Nov 25, 2007 22:29 EST
Posted by: Esther Schindler
Rating: 50

Please don't take my criticism as an indication that you're headed on the wrong track, Dave. I'm a professional nitpicker, after all. I'm still quite taken with your data!

One additional resource you might consider is indeed.com, a job hunting site where I've personally wasted entirely too much time playing with their tools. (Let's see, at indeed.com/salary I can compare, say, the pay for python and perl programmers in PA. Sure, the published salaries are guaranteed to be on the low side—most jobs say "negotiable" unless they're warning you they cheapskates—but it's a start.) I have no idea what it takes to work with indeed.com's data but they were very nice folks and sent me a charming e-mail message after I once mentioned them in passing. (Now, maybe they'll have reason to do so again.)

Another possible resource is realrates.com, which was started by my old buddy Janet Ruhl. (She and I were co-sysops of the CompuServe Computer Consultant's forum in the late 80s and early 90s. Lovely lady.) I'm not sure how up-to-date the surrounding info is (I think Janet's attention turned away from it a few years back) but people keep updating the consulting and salary rates so it may still be useful.

One question, however, is what you mean by "popular." If you looked at popularity by the number of lines of code all-time which are still in production, I dare say that COBOL would win out, based on the language's age as well as its wordiness. I wouldn't expect most of it to be reflected online in any way simply because most of that code is and always was proprietary. And it would be unlikely to show up in job ads because most such code is now labeled as "legacy" and thus its maintenance is outsourced or given to people who have committed an unforgivable sin. Still, there's a big financal company in New Jersey who just pulled my brother-in-law out of retirement (at, my sister tells me smugly, an impressive consulting rate) because he knows all 600 of the company's COBOL programs from the inside. Popular? Heck no. Used? Sure.

Most of us think of popularity within some time frame—whether that's "what's in fashion" (or likely to become so) or "currently being used." That is possible to ask of developers, and it's among the things that Evans Data does regularly. (In full-disclosure mode: I've been the analyst on some of their reports over the last five years. And I've known the company owner since 1980.) One methodology difficulty is that very few developers write in only one language; most use a mix of several. So if you program 5% of the time in, say, Ruby, does that make you a Ruby programmer? We could argue about it over a couple of beers (especially if you're buying), but I'd say Yes, because anything non-zero implies skill even if it's at the bottom. Is that popularity, though? Is it reason enough to advise someone, "You'd better get ready for this new language on the horizon... start training the development staff now!"? That's harder to say. Which, of course, means it's a lot more fun to think about.


 
Fri, Nov 30, 2007 10:48 EST
Anonymous user
Posted by: Ed L.
Rating: 90

Dave,

I appreciate the effort you put into your study, but I have to say that part of your approach seriously skews the results against Microsoft languages. Much of the discussion around the .Net languages takes place in online communities focused on those languages, rather than on the sites you included in your study. The same can be said for open source development using .Net languages. Finally, many .Net developers avoid sites like Slashdot because they do not want to be subjected to the serious Microsoft-bashing that is so prevalent on those sites. I don't know what the answer is - including those Microsoft-focused sites could also skew the results - but it would be worthwhile to investigate alternatives if you update the study in the future.

Ed

 
Mon, Nov 26, 2007 15:00 EST
Anonymous user
Posted by: Anonymous
Rating: 83.3333

This article highlights a big problem with today's automated society... the never-ending attempt to assign meanings to metrics. Typically metrics are interpreted in a way that supports the pre-determined conclusions of the person doing the survey.

For example: I don't believe the various graphs and metrics that show "C" as the most popular computer language. I have met very few people who actually prefer to program in C. It is way too tedious.

If the statistics are generated by "lines of code" of course C will generate a high number since it is such a low-level language that generates large number os lines of code.

If the statistics are based on want ads for "C" skills, there are various explanations other than the popularity of C. One possible explanation: There is such a shortage of C skills because of its lack of popularity that finding resources is difficult (hence the long running ads). Additionally, many companies who are seeking Java skills also request C skills. If they cannot find the Java skill, they can teach Java to a C programmer. That doesn't mean they are coding in C.

I provide consulting services to a large number of clients. Most of them have a small amount of C code that was purchased or developed as an experiment but none of them has made a strategic commitment to C. C is used heavily in the development of operating systems and tools but not as a business application generator.

After 30 years in IT, I have concluded that people use computer languages for the same reason they drink Pepsi or Coke... they tend to stick with the first one they learned because they are comfortable with it. Most developers do not migrate to new languages. My other observation ... the computer industry is controlled by hardware and operating system vendors and none of them are spending R&D dollars to develop a quality application development language. I rate all of the available choices as mediocre or poor and I continue to hope that someone will eventually create a quality Application Development language. This observation will probably annoy those developers who believe their pet language such as Java solves all of the world's problems. All I can say is that you will probably change your mind once you have to support someone else's code.

 
Mon, Nov 26, 2007 22:45 EST
Posted by: Esther Schindler
Rating: 10

Perhaps we shouldn't be using the word "popularity" here, as what we mean is "most common" or "used most often."

Because you don't have to like to write in a language to write in it.

About this Blog

How would you solve this management problem?

Start a Conversation
Click to post

Got something to say? We want to hear it! Click the Post button to get started. GO»

EXPERT ADVICE
See our roster of experts.

Advice & Opinion from more than 108 of IT's most insightful thinkers.

  PARTNERS       WEBCASTS    
 

Preparing for the Next Cyber Attack

Ensure you are up-to-speed on the latest security technologies available to keep your network safe in this Executive Guide. Get a thorough assessment of the corporate security threat landscape. Protect your network with data leakage protection, NAC and other technologies explained in this report.

Sponsored by Qwest  Read this Executive Guide »

 

Cloud Building: 8 Ingredients for Internal Clouds

Cloud computing: a fundamentally new way to deploy IT services and functions cost-effectively and quickly. Learn how the VMware vCloud initiative dramatically improves how consumers access their information and experience applications as well as the 8 ingredients to get you going.

Sponsored by VMWare  Read this White Paper »

 

Investing in Business Analytics Technology

You're thinking now is the time to take the plunge into business analytics, but you still have some unanswered questions. This research summary addresses the most common questions and concerns surrounding the successful launch of a business analytics initiative. It also includes real-world examples of organizations already getting return on their investment.

Sponsored by SAS  Read this White Paper »

Resource Alerts

Get instant email notifications by topic when white papers, webcasts, and case studies are added to our library.

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

Improving Transparency and Accuracy in IT Cross Charging

During this Webcast you'll learn how KBC Group implemented SAP BusinessObjects Profitability and Cost Management and realized many benefits.   View Now »

 

Cost Savings and Risk Reduction with Effective Systems Management

Join us and see how Novell can help you respond to today's economic challenges by increasing productivity, reducing costs and aligning IT initiatives with overall business goals.  View Now »

 

Capitalize on Your SAP Content

Learn ways to improve your content management by viewing these Open Text webinars today.  View Now »

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

 
NEWSLETTER

Sign-up for the Blogs & Discussion Newsletter

 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

Introducing the new HP ProLiant G6 server family

Accenture: Outsourcing for Competitive Advantage. More...

Better spam protection with Postini for just $1/user/mo

Introducing the new HP ProLiant G6 server family

infoBOOM! - The Mid-Sized Company CIO's Exclusive Community

Accenture IT Consulting: Logical meets technological. More . . .

The Fraudster Economy Model: Operating a Business in the Underground

Trade in your old laser printer and get up to $1000 back!

Taking the Service Desk to the Next Level

Revolutionizing Enterprise Application Deployment

Why Data Loss is Increasing--and What You Can Do About It

Data Loss Prevention: A Better Way to Approach Security

Learn how to managing client systems in the enterprise.

Build a High-Performance Open Web Platform

Mid-Sized Company CIO Community: infoBOOM!

Enterprise PBX Comparison Guide

Getting Value from Outdated Networking Equipment

Losing Ground: 2009 TMT Global Security Survey

Stop Application Fraud at the Source with Device Reputation

Learn about the VMware vSphere (TM) & Intel (R) Xeon (R) Processor 5500 Series

Learn how a virtualized enterprise can help your company reduce costs

Why Isn't Server Virtualization Saving Us More?

Learn how to save 30% through project & portfolio management.

How Open Source is Changing the Face of Enterprise Software

8 Key Ingredients to Building an Internal Cloud

Accenture IT Consulting: Enabling high performance. More...

Top Five CIO Challenges

Insight makes it easy to spend your Microsoft subsidy check.

Five minute business analytics assessment. Immediate results.

Dangerous Collaboration Practices: 5 Ways IT Can Minimize Risk

Accenture: Outsourcing for uncertain times. Click to learn more.

The Case for Investing in Business Analytics Technology. Read white paper.

Live Webinar: Applying Business Analytics. Click here to learn more

Seven Ways ITIL Can Help You in an Economic Downturn

Developing A Dynamic, Real-Time IT Infrastructure

Maximizing the Business Value of the PC Infrastructure

Communications and Collaboration Needs at Business Organizations

Using Open Source to Deploy Web Applications

Cloud Computing: Read about VMware's compelling vision & set of products

Enterprise PBX Buyer's Guide

Secondary Market Primer: Your Network at Half Price

How Interactive Viewer Reduces the Effort to Meet Visualization Requirements

Top-line Performance that's Bottom-line Efficient

White Paper: 8 Key Ingredients to Building an Internal Cloud

Read about virtualization and consolidation effort best practices

Building the Virtualized Enterprise with VMware Infrastructure

The Global Marketplace Today: Strategies for Tough Times

Top 10 Business and IT Drivers for the Wealth Management Sector

5 Steps to Automating Accounts Payable

Bottom-Line Benefits of Virtualization