Friday, February 23, 2007

TIOBE Programming Community Index

This TIOBE language ranking page, which I mentioned yesterday, is just too fascinating not to make some comment here. For some background, I found this recent post from Mainframe.gr an interesting read, one web developer's take on the trends and their implications for software development at large.

As fun as the ranking thing is, of course you do have to question how it was determined and what it really means. The sites says "the ratings are based on the world-wide availability of skilled engineers, courses and third party vendors."

There are some fun things to do with this list. One is to ask "why is Logo ranked higher than <insert name of favorite language not previously known to be so unpopular>?" I mean...where are the Logo engineers? Courses? Other than 5th grade computer time during math class, I mean? Third party Logo vendors? I know that Harlequin stopped making that commercial version of SML, is that what killed it on this list?

You can also do a little resume analysis. What languages would you put on your resume, if you thought that was a good idea, and how do they rank? If you ranked the languages you know by your expertise, how would it align with the current popularity? For me, I've used languages #1, 2, and 3 in my three professional jobs. The languages I've had the most fun using are mostly 'way down on the charts, unless you count Ada which I rather liked learning in data structures classes and which is still in the top 20.

Another fun thing is to play the functional language features game. It would go something like this: name all the features you can think of that were in functional languages fifteen years ago that are now in languages in this list's top 10. This is easier when a functional language is itself in the top 10.

And finally, for your reference, here's the list, slurped and reformulated in under ten minutes courtesy a couple of programming tools that didn't really rank high on the list at all:


  1. Java

  2. C

  3. C++

  4. PHP

  5. (Visual) Basic

  6. Perl

  7. Python

  8. C#

  9. JavaScript

  10. Ruby

  11. SAS

  12. Delphi

  13. PL/SQL

  14. ABAP

  15. D

  16. Lisp/Scheme

  17. Ada

  18. COBOL

  19. Pascal

  20. Lisp/Scheme

  21. Fortran

  22. FoxPro/xBase

  23. Awk

  24. Prolog

  25. IDL

  26. MATLAB

  27. Logo

  28. ActionScript

  29. Bash

  30. ColdFusion

  31. RPG

  32. LabView

  33. CL

  34. Smalltalk

  35. Forth

  36. REXX

  37. Maple

  38. Tcl/Tk

  39. S-lang

  40. Icon

  41. Haskell

  42. Natural

  43. VBScript

  44. Lua

  45. Q

  46. OCaml

  47. Objective-C

  48. APL

  49. Lingo

  50. ML

No comments: