NEWSLETTERS
 

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

 CIO BlackBerry News and Tips
 CIO Research and Analysis
 CIO Microsoft
 CIO Insider
 
 
 
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: 5 Comments: 21

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


You do not have flash or javascript support.
Average (4 votes)
5
 
 
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.

Post new comment

* Subject:
* Username:
* E-mail:
The content of this field is kept private and will not be shown publicly.
Homepage:
* Body:
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <strike> <p> <br>
  • Lines and paragraphs break automatically.
More information about formatting options

* Denotes required field.

About this Blog

How would you solve this management problem?

Hot Conversations

Ex-Microsofties Look Back in Anger

Posted by Shane ONeill in News | 4 comments

The Price of IT Outsourcing

Posted by Beth Bacheldor in Best Practices | 2 comments

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 115 of IT's most insightful thinkers.

  PARTNERS       WEBCASTS    
 

Windows 7 Webcast Series

There's a lot of buzz about Windows 7 out there. Each month in our webcast series, listen to analysts and customers discuss how Windows 7 and the Windows Optimized Desktop is impacting large companies around the world. Learn how they evaluated Windows 7, including the cost of deployment, deployment strategies, and tangible benefits.

Sponsored by Microsoft  Listen to on-demand Recordings »

 

A Framework for Better Application Delivery

The complexity of application delivery is driven in part by the evolving applications environment. Instead of approaching application delivery from a siloed fashion, this handbook looks at end-to-end guidance and discusses the impact of ignoring the WAN, Web apps that are chatty, data center consolidation, SaaS, Web 2.0 and virtualization.

Sponsored by Riverbed  Read this White Paper »

 

Microsoft® Exchange 2010 includes archiving - but is it enough?

Microsoft® Exchange 2010 includes basic email archiving. But many organizations will find that it does not meet their requirements. This paper describes why organizations need to archive, what capabilities Exchange 2010 includes and why 3rd party archiving solutions will be necessary for most organizations.

Sponsored by Google, Inc.   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.

Enterprise Capture: Your Onramp to Business Process Automation

Today more than ever companies are seeking to reduce costs and...  View Now »

 

The True Cost of Legacy Systems

How well are you maximizing existing software assets? This webcast reveals the results of a commissioned study on top migration and modernization priorities for IT leaders.   View Now »

 

How To Maximize Your Virtualization Strategy and Deployment

Join award-winning technology journalist Stan Gibson in this webcast as he discusses how to enhance your virtualization strategy with the ROI, planning, implementation and platform advice. Exploit the business benefits of virtualization and successfully expand your current deployment.   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




*Required fields

By clicking the sign-up button, you agree to the Privacy Policy.

View all newsletters »

 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

Manage limitless content todayread EMCs 15-minute guide to ECM.

HP Exstream. Get a Free Document Assessment for Financial Services.

Take the Netezza TwinFin TestDrive!

Webinar: Jump-start your in-house e-discovery with Ringtail QuickCull from FTI Technology

Let Progress Software help your business make progress.

Best Practices to Reduce IT Operational Costs

Real-world testing ranks Trend Micro #1 against malware. See results.

Forrester: The real-world financial impact of Windows 7

Turn your desk phone and mobile phone into one with Sprint Mobile Integration.

Maximizing efficiencies with unified communications.

Stay informed with custom newsletters from Tech Dispenser

Selecting the Right Reporting Technology

An IT Leadership Action Plan for the Economic Recovery

Consolidate data centers and lower IT service costs. Learn How.

WAN optimization techniques significantly improve application performance. Read More.

The Revolution and Evolution of Private Cloud Computing

ROI of Application Delivery Controllers

Cut Costs & Green Your IT Operations with PC Power Management

Enterprise Capture: Your Onramp to Business Process Automation

Adobe® LiveCycle®solutions for intuitive user experience

Unlocking the Mainframe: Modernizing Legacy System to SOA

State of the Data Integration Market

Enhance Customer Loyalty through Higher Responsiveness

Achieving Business Agility with Application Grid

Seven Ways ITIL Can Help You in an Economic Downturn

Does your IDS really work? Find out with a free Endace Audit

Verint Systems. Discover the Power of Intelligence in Action"

CA ARCserve r12.5 is More Than Backup! Download Trial Version Today

Enterprise search helps employees get more done. Get the facts from Google.

See why ShoreTel is named best overall VoIP provider by Nemertes Research

Trend Micro ranked #1 against real-world malware. Read more.

AT&T Application Management & Hosting. Let us help you STRETCH

Microsofts new client operating system helped Pella reduce power consumption.

Efficiency goes up. Costs come down.

Dark Fiber from Sunesys Save on Unlimited Bandwidth with Fixed Costs.

Trend Micro ranked #1 against real-world malware. Read more.

Webcast: Solve Your Data Visualization Needs with Open Source BI

Webcast: Delivering the Enterprise-Ready Cloud

Ensure cost effective application delivery. Learn More.

Cloud Computing: The Impact CIOs See

What's Next for Enterprise Resource Planning?

Gartner Magic Quadrant, Application Delivery Controllers 2009

Global Research: CIOs Weigh In On Virtualization

Adobe® LiveCycle® solutions for business process automation

What's New in SOA Suite 11g?

Unleash the Power of Java with Oracle JRockit Real Time

SOA Best Practices and Design Patterns

Application Grid: Ideal Platform for IT Consolidation

Taking the Service Desk to the Next Level