J’ima­gine que ces ques­tions parais­sent un peu étran­ges à mes lec­teurs “poli­ti­ques”… Elles sont pour­tant impor­tan­tes et inté­res­san­tes.

Les lan­ga­ges infor­ma­ti­ques ne sont pas pas aussi nom­breux que les lan­gues natu­rel­les mais ils en existe tout de même un grand nom­bre (on peut en citer assez faci­le­ment une cin­quan­taine). Cer­tains sont géné­ra­lis­tes, d’autres plus spé­cia­li­sés. Cer­tains sont uti­li­sés dans le monde entier par de nom­breux uti­li­sa­teurs, d’autres ne sont pra­ti­qués que par quel­ques spé­cia­lis­tes.

Si j’aborde cette ques­tion aujourd’hui, c’est que la société Tiobe Soft­ware vient de publier, comme cha­que mois, son TIOBE Index et je me suis inté­ressé à ces don­nées de décem­bre 2009. Elles n’éva­luent pas la qua­lité des lan­ga­ges mais leur popu­la­rité, c’est à dire le nom­bre de lignes de code écri­tes avec cha­cun d’entre eux.

Voici les 20 lan­ga­ges les plus uti­li­sés (j’indi­que le nom du lan­gage, le pour­cen­tage d’uti­li­sa­tion et la varia­tion sur un an) :

1: Java 17.061 % -2.31 %

2: C 16.285 % +0.12 %

3 : PHP 9.770 % +0.29 %

4 : C++ 9.175 % -1.72 %

5 : (Visual) Basic 7.778 % -1.70 %

6 : C# 6.258 % +1.61 %

7 : Python 5.185 % +0.62 %

8 : JavaS­cript 3.515 % +0.45 %

9 : Perl 2.692 % -0.91 %

10 : Ruby 2.653 % +0.34 %

11 : Del­phi 2.301 % -0.75 %

12 : PL/SQL 1.494 % +0.35 %

13 : Objec­tive-C 1.159 % +1.00%

14 : SAS 0.911 % +0.07 %

15 : Lisp/Scheme 0.881 % +0.37%

16 : ABAP 0.723 % +0.12 %

17 : Pas­cal 0.698 % +0.01 %

18 : ActionS­cript 0.655 % +0.17 %

19 : D 0.587 % -0.60 %

20 : Lua 0.585% +0.09%

Quel­ques com­men­tai­res :

1. Les pre­miers lan­ga­ges cités sont con­nus et très ensei­gnés mais on arrive rapi­de­ment à des lan­ga­ges peu con­nus.

SAS (Sta­tis­ti­cal Ana­ly­sis Sys­tem) est un lan­gage vieux de 30 ans uti­lisé pour créer des bases de don­nées, les gérer, faire des trai­te­ments ana­ly­ti­ques sur ces bases et créer des rap­ports de syn­thèse.

Lisp/Scheme appar­tient à la famille des lan­ga­ges fonc­tion­nels comme Caml et Has­kell. C’est un excel­lent lan­gage pour l’ensei­gne­ment.

l’ABAP (All­ge­mei­ner Bericht­sauf­be­rei­tungs­pro­zes­sor ou en anglais Advan­ced Busi­ness Appli­ca­tion Pro­gram­ming) est un lan­gage inté­gré dans le logi­ciel pro­prié­taire SAS.

D est un lan­gage orienté objet créé en 1999 par Wal­ter Bright. Il s’ins­pire de Java mais est com­pilé en lan­gage machine et est con­si­déré comme le suc­ces­seur du lan­gage C.

Lua a été conçu en 1993 par une équipe de de l’uni­ver­sité de Rio de Janeiro. Il dis­pose d’un inter­pré­teur très com­pact qui expli­que son uti­li­sa­tion dans les sys­tè­mes embar­qués. Il est uti­lisé dans le domaine des jeux vidéo et est inté­gré dans la PSP (con­sole por­ta­ble de Sony).

2. En revan­che, cer­tains lan­ga­ges qui me parais­sent assez con­nus sont main­te­nant dans les pro­fon­deurs du clas­se­ment.

COBOL, lan­gage jadis très répandu sur les grands sys­tè­mes est à la 23e place.

For­tran (que j’ai appris en 1970) est encore pré­sent en 24e place.

Ada lan­gage conçu par une équipe de CII-Honey­well Bull diri­gée par Jean Ich­biah pour l’armée amé­ri­caine pointe à la 25e place.

Le PL/1, conçu par IBM en 1960 est à la 41e place.

3. Par rap­port à l’année der­nière, la posi­tion de java décline légè­re­ment, C est sta­ble, PHP amé­liore son score et C++ décline un peu, ce qui est con­forme à ce qu’on pou­vait pen­ser.

On observe aussi les pro­gres­sions signi­fi­ca­ti­ves de l’Objec­tive-C, du Lisp/Scheme et de l’ActionS­cript.

4. Sur une plus lon­gue période, java est très sta­ble (3e en 99 et déjà pre­mier en 2005) comme le C (1er en 1999 et second en 2005). PHP pro­gresse très rapi­de­ment (il passe de la 13e place en 99 à la 4e en 2005 et à la 3e en 2009). Python passe de la 28e place en 99 à la 7e en 2009. Ruby qui était 24e en 2005 est 10e aujourd’hui. Ce sont des infor­ma­tions inté­res­san­tes pour ceux qui ont des choix d’appren­tis­sage à faire.

5. Les lan­ga­ges orien­tés objet repré­sen­tent 55 % des lan­ga­ges actuel­le­ment uti­li­sés (d’où l’uti­lité d’ensei­gner ce type de pro­gram­ma­tion).

6. Bien entendu, ont été con­si­dé­rés comme lan­ga­ges de pro­gram­ma­tion dans cette étude, que les lan­ga­ges Turing com­plete (i.e. ayant le pou­voir des machi­nes de Turing) ce qui exclut des “lan­ga­ges” très uti­li­sés comme HTML ou XML.

7. Der­nière obser­va­tion très per­son­nelle : ces chif­fres ma con­for­tent dans la déci­sion que j’ai prise de me spé­cia­li­ser dans PHP et actuel­le­ment dans la pro­gram­ma­tion orien­tée objet et le Zend Fra­me­work.

Source : Tiobe Soft­ware