Monday, October 15, 2012

C Programming Languages Continue Popularity

If you are just starting a software development career and wonder if you should specialize in any particular programming language, check out the Software Index from TIOBE, the software quality tracking firm.

TIOBE states its purpose as:
"The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system."

TIOBE uses results from eight different search engines to find and rank the occurrences of fifty different computer programming languages. TIOBE classifies the languages as either "A" (mainstream) or "B" (non-mainstream) with minus signs for differentiation (e.g., "A-" and "A--").

The programming language that has consistently been the most popular for decades is C. As of October 2012, in fact, the top five languages are all C-related:
  1. C (the classic language from Bell Labs
  2. Java (a scaled-back version of C++ to be safe for the web)
  3. Objective-C (C/Smalltalk from Steve Jobs' NeXTSTEP days, now used for Apple development)
  4. C++ (the object-oriented version of C)
  5. C# (the Microsoft managed version of C)


Last year, TIOBE named Objective-C its "Programming Language of the Year" for its rapid rise up the charts. Back in 1997, Objective-C was not even on the list. In 2007, it ranked 44th out of 50. Today, it is ranked at number three.

If you want to work on mission-critical, high-speed, server-based software, you can consider a C/C++ specialty. If you want a web-based server specialty, then Java (with a Linux/Unix alignment) or C# (with a Microsoft alignment) are good choices. If you want to develop mobile applications, you want Objective-C.

Just to back up TIOBE's rankings, be sure to look at the Indeed job trending as well. Here are the five programming languages on a chart showing them as a percentage of the total job postings:




Objective-C is a small percentage of the total jobs, so the graph above does not do it justice. If you separate it from the pack, however, you can see Objective-C's rapid growth in popularity.


This trend should of course look very similar to that for the Apple iPhone and iPad:



It looks like you won't go wrong if you pick a C language.


16 Oct 2012 Update: for a great summary of the TIOBE report, see this eWeek article

2 comments:

William simth said...

Web Designing i like sharing

christi parks said...

I am not a programmer but I have this C language subject this session and have to prepare for it. What all topics should be covered in it?
And has anyone studied from this course http://www.wiziq.com/course/2118-learn-how-to-program-in-c-language of C tutorial online?? or tell me any other guidance...
would really appreciate help

About Me

My Photo

I am a project-based consultant, helping data-intensive firms use agile methods and automation tools to replace legacy reporting and bring in modern BI/Analytics to leverage Social, Cloud, Mobile, Big Data, Visualizations, and Predictive Analytics. For several world-class vendors, I led services teams specializing in providing software implementation and custom application development. Based on scores of successful engagements, I have assembled proven methodologies and automated software tools.

During twenty years of technical consulting, I have been blessed to work with smart people from some of the world's most respected organizations, including: FedEx, Procter & Gamble, Nationwide, The Wendy's Company, The Kroger Co., JPMorgan Chase, MasterCard, Bank of America Merrill Lynch, Siemens, American Express, and others.

I was educated at Valparaiso University and the University of Cincinnati, graduating summa cum laude. In 1990, I joined Information Builders, the vendor of WebFOCUS BI and iWay enterprise integration products, and for over a dozen years served in branch leadership roles. For several years, I also led technical teams within Cincom Systems' ERP software product group and the custom software services arm of Xerox.

Since 2007, I have provided enterprise BI services such as: strategic advice; architecture, design, and software application development of intelligence systems (interactive dashboards and mobile); data warehousing; and automated modernization of legacy reporting.