A few days ago, the guys over at LangPop.com did a survey on the most popular programming languages based on the number of Internet pages on which each language was mentioned. Of course, as they admit it too, it is a fairly crude method; nonetheless, it is interesting to see which language has the highest footprint — so to speak — on the Internet.

It’s fascinating for a guy like me — someone who’s familiar with the concept of a programming language, knows to do kid’s stuff such as create a Fibonacci sequence in a few languages, and that’s about it — to see which of the languages are creating the most buzz these days.

So I figured I’d put together some information for guys who are interested in entering software development but aren’t sure which language to study.

Here’s the overall result of the analysis done at LangPop.com:

Java and C scored nearly the same – Java managed to beat C by a very less margin

C++ was right behind them

PHP and JavaScript came in at 4th and 5th respectively, however, I doubt many people would be talking about desktop application development in terms of PHP

Therefore, we’ll consider the next two languages on the list: Python and C#

Java

The basic purpose of developing Java was to allow programmers to run their applications anywhere without having to further modify them for each system. This concept is called as WORA: write once, run anywhere. This is done with the help of a Java Virtual Machine, which is basically software that creates a virtual computer environment on your computer enabling it to run any Java application.

While this language was developed at Sun Microsystems by James Gosling, the best part about it is that Sun recently relicensed most of the Java technologies under the GNU General Public License, which makes it free and open for anyone to develop.

Salary Potential

The salary offered to a senior Java developer could be around $130,000 or more, where on average a relatively inexperienced developer could make anywhere around $65,000 to $70,000 a year.

Resources

JavaBeginner.com has an exhaustive list of tutorials for someone looking to learn all the basics of Java starting from its introduction to Java Swing.

C

C has been the most popular programming language for the better part of its history, and any code written in C can be compiled on almost any system.

Developed by Dennis Ritchie at Bell Labs in 1972, C has influenced in some way or another the development of a number of other programming languages such as C++, Java, Python, Perl, D, and Limbo.

Salary Potential

Resources

C++

C++ is one of the most widely-used programming languages for systems as well as application software, drivers, high-performance applications, and video games.

The language started off as an extension to C in order to add classes and other features such as operator overloading, multiple inheritance, etc. until a C++ programming language standard was finally ratified in 1998.

Just like its predecessor, C++ has influenced many popular programming languages such as Java and C#

Salary Potential

A C++ developer can earn around $100,000 a year.

Resources

Cprogramming.com is a good resource for those looking to learn C++. Another good and free resource is LearnCpp.com that has an exhaustive list of topics covered.

Python

Python was developed by Guido van Rossum in the Netherlands for the Amoeba distributed operating system. However, Python compilers are available for nearly every operating system, and this languague has gained considerable popularity in the recent years.

The most unique aspects of this programing language are that it has a very rigid yet extremely simple syntax that uses indentation for block delimiting, and the overall practice of the community to enforce the “there should be one — and preferably only one — obvious way to do it” principle as against the “there is more than one way to do it” approach that most other programming languages use.

Python has been used a scripting language for a number of web applications, video games, and many popular tools such as Google docs, the original BitTorrent client, and even YouTube.

Salary Potential

Resources

Other useful resource for learning Python is the book “Dive Into Python” by Mark Pilgrim, which is available for free from http://diveintopython3.org/

C#

C# was created by the big daddy of all proprietary operating systems, Microsoft. Anders Hejlsberg first started the development of C# in 1999 at Microsoft and continues to lead its development to this date.

While C# does have a few alternative free and open source compilers, the Microsoft Visual C# is considered as the reference compiler for C#.

While the programming language has been approved as a standard by Ecma and is used by a number of organizations, there are many people who have criticized it for being derivative with little innovation.

Salary Potential

On average, a C# developer earns around $90,000 per year.

Resources

This is a cursory overview of the popularity of programming languages, however, there are also a number of aspects of application development that determine what language needs to be used for it — for example, if someone is looking to create a web page, they would probably choose PHP, Python, or a Ruby on Rails framework over any other language. Therefore, if any of you readers can shed some light on the aspects of desktop app development that may warrant the use of a specific programming language, I invite you to share it in your comments.

Comments (6)

A nice short overview. Great for getting a quick glance into programming.
But seriously, where did you get those salary figures? I am a professional software developer (Java) in Germany and no one I know gets that much salary (speaking of $130,000 for a senior developer).
I'd love to see a source for those figures :)

If you look at the site a bit, you'll see that it's *not* just search results. I use jobs (Craigslist), code (Google search), open source (freshmeat), books (Powell's), and several other metrics as well, and *also* let the user play with the relative weights.

$65,000 starting salary for a Java programmer? Maybe that would be true if you lived in New York City and you were lucky that your position wasn't outsourced to India yet. Where I live, I'd be lucky to make $40,000 starting out as a programmer. Most of the jobs in the paper aren't skilled positions, they're mainly part-time truck driving jobs.
I also believe LangPop is inaccurate in saying that C is more popular than C#. I suspect what happens is that the search engines are omitting the "#" symbol, so the C and C# results are probably getting meshed together. C also isn't used much in application development anymore. It mainly pertains to embedded development, applications that need raw speed (such as gaming, although most of the technical books referenced to C++), and the open-source community, who will probably never stop using C.
If you want a more realistic set of results, I'd say Java and C# will be at the top, with C# overtaking Java provided that Oracle continues stuffing Sun's technologies in the waste basket. But don't expect to be making something like $90,000, that's a really unrealistic number. Keep in that people in the 90s were saying all IT positions would be making six-figures a few years later, but that certainly didn't happen. You have to factor in what the market will bear, what the economy will be (dot-com bubble, 2008 recession), and that certainly includes the off-shoring of high-tech jobs.

Honestly, is Java really in that high of a demand? I have no idea of the facts, but I have a hard time believing this article. Java has almost no practical value in the professional Web development world. I've only ever used Java in college.
So is it used for desktop applications? Enterprise software? Can somebody name some really high-yield products and services that use Java? Not just fancy tech demos?
Doesn't the high salary mark just prove that Java programmers are overpaid for a skill that may have limited benefit?
I feel that PHP and C++ would be your best bets for job security, NOT Java. Somebody please prove me wrong!

You know, I wondered the same thing about Java but can honestly say it seems to be. A lot of large companies have legacy code written in Java and they do not want to go to the expense of porting it over.