Wednesday, April 9, 2008

Fashionable Prgramming Languages

Doctor Dobbs Journal's May issue has an article which is a 'conversation' with Paul Jensen, who is the managing director of TIOBE Software. The article (which is not on line yet, but will be in May), discusses the TIOBE Programming Community Index, which 'ranks' programming languages based on how often they are searched on line (see here for details). In the article, Paul states that only one new language has cracked the top 10 in the last five years: Python replaced COBOL. He also says that Perl has had it's day and that C & C++ are on the decline. He notes that a lot of new languages are arriving on the scene, mostly due to web programming. However, he sees Java and C# dominating over at least the next 5 years.

Of the 20 languages listed in the chart I have done at least some 'production' coding in the following: Java, C, C++, Perl, JavaScript and COBOL. (I've also know a bit of SQL, but this is mostly embedded in Java or C++). Since Java, C and C++ are ranked 1,2&5 - I think I'm probably in pretty good shape for the rest of my career (ending on or before Nov 14th, 2012).

I am most comfortable in Java, but have just started a longish project in C++. I took COBOL and FORTRAN when I as at the U in mid 1980's. FORTRAN is still used, but not much in business (mostly science applications). I did some work in a tool that had a BASIC like language, but never did much in BASIC itself. The first product that I worked on for our company to sell was written in COBOL so I became pretty fluent. In the early 90's we started migrating to C - I took a night class in C and learned a lot from a C Guru who worked with me for a couple of years. Java and C++ I picked up as needed. I spent a lot of off work hours learning Java, but now use most of that time for making music.

I'm guessing when I retire (I call it quitting the day-job), I'll focus on music but still need to do some sort of programming to keep that part of my brain 'happy'. I have no desire to change company's but it is good to see that my skill set is current just in case.

No comments: