lundi 10 décembre 2007

Quels sont les langages de programmation des pro ?

J'adore les trolls. Ces débats stériles, généralement sur des sujets qui peuvent apparaître comme sans aucun intérêt, sont marrants, variés et opposent le plus souvent plusieurs objets ou produits du même domaine. En vrac :

  • Langages de programmation (c'est de ça qu'on va parler, patience !)
  • Editeurs de texte (Vi/Vim vs Emacs/XEmacs)
  • IDE
  • GUI
  • Libre vs Propriétaire
  • Windows vs Linux (vs Mac vs BSD vs ...)
  • Surf vs Ski
  • Internet Explorer vs Firefox (et les autres !)
  • Perrier vs Perrier Citron
  • MacDo vs Quick
  • SuperNintendo vs Megadrive
  • KDE vs GNOME
  • ...
Bref, vous avez saisi le concept, tout cela est assez débile. Cependant, les trolls partent assez souvent de questions ou réflexions pertinentes (comme par exemple "PHP saymal !" ==> non, je plaisante). Un vrai exemple, sur le site du zéro (adapté par mes soins) :

Salut les ptits poulets,
J'aimerais savoir quels langages il faut connaître quand on est pro
Merci d'avance, vous êtes tous très bô.

Kévin le n00b.


Le troll a mis, dans mon souvenir, 2 réponses pour s'installer. Mais la question est intéressante pour le débutant comme pour le professionnel.

Quels sont les langages de programmation les plus utilisés et/ou demandés dans le monde du travail ?

Un classement des langages... Le rêve absolu du trolleur programmeur ! Et bien ça existe. Il y a le TIOBE Programming Community Index, basé sur la popularité des langages et actualisé en permanence (en bonne partie grâce à des analyses de résultats de recherche sur Google, Yahoo, etc...).

Cependant, ce classement ne reflète pas forcément l'usage d'un langage donné dans le milieu professionnel. C'est pourquoi je vous propose un autre indice, cette fois basé sur les hits obtenus sur Monster.fr :

LE Classement (au 10/12/2007) :

Langage Hits sur Monster Classement

Classement TIOBE
Java 965 1

1
C 675 2

2
C++ 533 3

5
PHP 391 4

4
ASP 266 5

n-c
VB 223 6

3
Javascript 214 7

10
Perl 149 8

7
COBOL 91 9

15
Python 53 10

6
Delphi 38 11

11
ADA 25 12

24
Assembleur 15 13

n-c
Fortran 8 14

22
Ruby 5 15

9
Ocaml 2 16

79
Erlang 1 17

40
Haskell 0 18

34
Prolog 0 18

27
LISP 0 18

17

Méthodologie :

Sur Monster.fr, sans aucune précision autre que le mot-clef correspondant au nom du langage (hormis pour C et Assembleur : on ajoute le mot-clef "informatique"), on lance une recherche. Le choix des langages testés est a priori aléatoire : il s'agit de choix personnels, mais ils sont globalement pertinents par rapport à l'index TIOBE. Les langages .NET n'ont pas été testés, cette méthode étant peu adaptée à leur cas (C = C# = C.NET ? VB = VB.NET ?). A noter que je ne considère pas HTML, XML, LaTeX, SQL, Shell, BATCH et autres comme des langages de programmation à proprement parler (certes, c'est discutable ==> un troll ?)

Commentaires :

Les résultats sont dans l'ensemble assez logiques et comparables à ceux de l'index TIOBE. L'assembleur et l'ASP n'apparaissent pas dans celui-ci, pour diverses raisons détaillés sur leur site.
On voit clairement que certains langages ne sont pas vraiment à la mode en France : Ruby entre autres, et que d'autres sont assez sous-estimé par TIOBE (Fortran, ADA, COBOL). Ces langages ne sont effectivement pas "glamour" comme le Python, le Ruby ou l'Ocaml, mais ils ont fait leurs preuves, chacun dans leur domaine (respectivement : sciences, systèmes embarqués, gestion/finance).
Pas plus de commentaire sur la place sinistre détenue dans les deux classement par le Visual Basic (saymal !)...

Et l'apprentissage ?

Les formations comprenant l'enseignement de langage(s) de programmation sont nombreuses... Je vais me limiter ici à l'école d'ingénieurs MATMECA (en modélisation mathématique et mécanique), et au mastère spécialisé d'informatique de l'ENSEEIHT (école d'ingés multi-disciplinaire de Toulouse) :

MATMECA :
  • Fortran 90
  • C++
  • En option : Java ("Calcul Haute Performance" i.e. calculs parallèles), Python (ajout de modules sur codes de calculs industriels)...
Mastère ENSEEIHT :
  • ADA
  • Langage assembleur
  • PROLOG
  • Java
  • Javascript, PHP
  • C
  • LISP
  • + SQL, Shell, HTML, XML

AVERTISSEMENT : A ne prendre sous aucun prétexte comme un classement officiel ou même bien fait, comme un début de troll, une invitation au Java ou à l'abandon de l'Erlang !

0 commentaires: