Friday 8 November 2013

Language? What language?

A long time ago, in a locality far, far away, a group of sixth-form maths students were let loose on the local authority's mainframe computer. Since this was a time when the Beatles were still in the recording studio, there wasn't much choice of programming language. In our case it was FORTRAN 4. This language was designed to fit on punched cards and the syntax was geared to the restrictions that brought.

Actually, it was somewhat amazing that the local council's mainframe ran FORTRAN, since that was the language of the mathematicians and scientists (it had built-in support for complex numbers!). The 'proper' use of the computer was to 'count brooms' and run the payroll, and for that it would have almost certainly used COBOL. As I said, the choice of programming languages in the late 1960s was small. (See the Wikipedia history of them.)

Fast forward to today and while the boxes have shrunk the choice of languages has rocketed (and Fortran is still alive and updating although it has lost its capitalisation, as is COBOL).

I came across several surveys which rank computer programming languages. The way they define is broadly similar (some count SQL, some not ... something to do with infinite loops) but how they get the ranking varies. Here you can find out what's hot and what's not, and possibly tailor your training or hiring policies.

The TIOBE Programming Community Index for October 2013 uses a complicated analysis of appearances in web searches. Their top-5 for last month is C, Java, Objective-C, C++ and PHP, with PHP having moved up one since September to displace C#. Fortran (25th) and COBOL (20th with a bullet) are still hanging in there.

Langpop.com also trawls search engine results together with Craigslist postings, Ohloh and Github. Their top-5 ranking is C, Java, PHP, Javascript and C++. The web site engine allows you to try different searches for the ranking, so that using Github alone you get a top-5 of ObjectiveC, JavaScript, Ruby, Java and Python ... reflecting the more hardcore nature of Github.

Finally (in my straw trawl) came Statistic Brain. This particular listing isn't bang up to date but it provides an interesting comparison between Craigslist (listing programmer jobs ie wants) and SourceForge (listing open source projects ie users). The wants top-5 are PHP, SQL, C++, C and JavaScript ... and the user list is Java, C++, C, PHP and Perl. Other lists show that Perl is losing popularity so that ranking should definitely have changed and C# or JavaScript would probably be in that top-5 now.

Do these stats fit your experience? If someone on your staff asks you what to learn next what would you say? A final word goes to Craig Buckler on Sitepoint. He looked at this very question at the beginning of 2013 and concluded
Ultimately, pick technologies which interest you and never stop learning. Programming skills are always transferable and it'll make you a better candidate when a suitable job eventually arises.