Sunday, September 18, 2005

Programming Languages and Popularity

The following information provides a glimpse of the popularity of various programming languages, though not strictly from a shareware development point of view.

Tiobe Software maintains an interesting Programming Community Index. This index "gives an indication of the popularity of programming languages" using results from search engines when searching for web pages about the programming languages.

The September 2005 results show the top ten most popular programming languages to be:
  1. Java (22.4%)
  2. C (19.2%)
  3. C++ (11.2%)
  4. Perl (9.3%)
  5. PHP (8.9%)
  6. Visual Basic (6.5%, not including VB.NET)
  7. C# (3.3%)
  8. Python (3.0%)
  9. JavaScript (1.8%)
  10. Delphi/Kylix (1.7%)

VB.NET came in at number 15 with 0.7%. It should be noted that the rankings in the index likely bias languages that have been around for some time such as C and C++ over newer languages such as C# and Python. The (ratings) column in the index shows the trend over the last 12 months.

For comparison I performed a series of searches at jobs.com and computerjobs.com to gain an insight into what skills are currently being sought by organizations and hopefully generate more of a "current" popularity than the index above. I also included VB.NET. The most sought after programming languages in jobs with relative (comparable but not absolute) job numbers is shown in the following list:

  1. Java (1284)
  2. C++ (438)
  3. C# (213)
  4. VB (119)
  5. VB.NET (90)
  6. PHP (55)
  7. C (51)
  8. Perl (43)
  9. Delphi/Kylix (18)
  10. JavaScript (7)
  11. Python (2)

This is largely what I would have expected.

A poll at GameDev.net asked "What language do you prefer to use for games?" The top six results from 994 votes were:

  1. C++ (76.6%)
  2. C (6.33%)
  3. C# (4.12%)
  4. Java (3.62%)
  5. Python (2.21%)
  6. Visual Basic (1.6%)
In October 2004 ProgrammersHeaven.com asked "What is your favorite programming language?" Of 1206 votes the top ten results were:
  1. C++ (24%)
  2. Visual Basic (14%)
  3. C (13%)
  4. Java (10%)
  5. Assembly (6%)
  6. Delphi (6%)
  7. Visual Basic.NET (6%)
  8. C# (4%)
  9. Basic (3%)
  10. Pascal (3%)
So which programming language should you use for your next shareware application? That's entirely up to you, though it will largely be determined by:
  • What language(s) you have experience with.
  • What kind of application (for example general desktop, web service, game, database) you are developing.
  • The information and community support available for the language.
  • Current trends.
  • Any specific frameworks or libraries that you need to use.
  • What operating system you are targetting.
  • Whether you need to provide a plug-in or other interface to your application.
  • The extent of distribution of the .NET framework redistributable (runtime).

Though some shareware developers are willing to switch languages for a new product and some are changing all future applications to be written in languages such as C# and VB.NET, most stick with a language that they already know.

2 Comments:

At 16:34, Rudiger said...

In my humble opinion, Python is the best language available for Application development. It is quite possibly the most cross-platform language ever developed, has many features that must be hacked in with other languages (such as regexp, net support), has OO but doesnt shove it down your throat, and the price and license are right. Having said all that, the big problem is that it is interpreted. No, speed is not an issue in most cases. The tests I've done show Python to be in the same league with C. The problem is you cannot distribute a small compact executable. Now, if WindDoh!s came with a Python interpreter as standard, the situation would change completely. Just one more reason that microsoft sucks.

 
At 11:28, Anonymous said...

Try using py2exe (http://www.py2exe.org/) to convert python programs to windows executables.

 

Post a Comment

<< Home