Anders-Hejlsberg Après avoir présenté les outils de programmation de la fin du 19ème siècle jusqu'aux années 1980, puis ceux des années 1980 à 1990, nous nous intéresserons aujourd'hui à ceux de ce début du 21ème siècle. Nous verrons également ce que l'informatique du futur va changer dans les habitudes de développement logiciel.

Le début du siècle n'a pas été très riche en nouveaux langages mais plusieurs d'entre eux ont acquis une certaine importance. En l'an 2000, Manfred vos Thun conçoit Joy, Walter Bright développe le langage D, et Microsoft dévoile C# avec l'implication de Anders Hejlsberg (photo), créateur de Delphi cinq ans auparavant.

Les inspirations du C# vont du C au C++ ou au Java dont il reprend généralement la syntaxe, mais aussi du Pascal dont il hérite de la surcharge des opérateurs. Outre officiellement avoir été conçu pour exploiter tout le potentiel de la plateforme .Net de Microsoft, C# a également été développé pour s'affranchir de la plateforme Java de Sun, avec qui Microsoft a eu des démêlés à ce sujet.

Un an plus tard, Microsoft publie Visual Basic.Net. Pas un nouveau langage à proprement parler, mais plutôt une évolution, destinée à l'intégration du langage dans la plateforme .Net. La même année, Xerox PARC dévoile AspectJ, basé sur Java, apportant à ce langage la programmation orientée aspect.

miguel_de_icaza C# fera des émules. En 2003, l'université de Wroclaw publie Nermle qui s'inspire tout à la fois du langage de Microsoft, de ML et de MetaHaskell.  En 2004, Rodrigo de Oliveira développe Boo qui ajoute une syntaxe inspirée de Python à la compatibilité avec C#. La première version de Mono, implémentation libre du Framework .Net de Microsoft, apparaîtra la même année, conçu par Miguel de Icaza (photo), apportant par là même le C#, devant initialement être multiplateforme, au monde du libre, et notamment Linux.

Microsoft, décidément très productif, dévoilera F# en 2005. Lui aussi inspiré du C#, mais également de OCaml et Haskell, il ne sera proposé au grand public qu'avec la prochaine génération de l'environnement de développement Microsoft Visual Studio 2010. En 2006, Microsoft - encore - dévoile Windows PowerShell, qui n'est pas qu'un shell mais aussi un langage de script destiné à l'administration de machines Windows. Les moins tolérants diront que c'est une pâle copie des shell Linux, les autres y verront une évolution de la console DOS lui apportant une grande puissance.

Le projet GNOME dévoile Vala en 2007, destiné à apporter aux développeurs sous Linux une syntaxe très proche du C#. Sa particularité est de ne pas compiler le code source directement en assembleur mais d'abord en C, et c'est ce code en C qui sera compilé par la suite.

On conclura sur le LOLCODE, développé en 2007 par Adam Lindsay. Langage ésotérique s'il en est, sa syntaxe est celle de l'anglais SMS...


Et demain ?
L'évènement qui risquerait de transformer la façon de programmer serait un changement radical de l'architecture informatique. L'histoire nous a montré qu'un système d'exploitation tel que Linux, écrit principalement en C et en C++, langages vieux de près de vingt ans, a été capable de s'adapter à de très nombreuses architectures différentes. Une logique rassurante nous pousse à penser qu'il en sera de même avec les architectures futures, et notamment l'ordinateur quantique.

Damian-Conway Damian Conway (photo) a développé ce que nous pourrions appeler le chaînon manquant entre le x86 et le quantique. Le module Perl Quantum::Superpositions permet de simuler le fonctionnement d'un périphérique de calcul quantique. Aujourd'hui, ce n'est que de la simulation mais ce module devrait permettre à un programme développé de nos jours de fonctionner sans changements sur un ordinateur quantique, le jour où la technique sera viable, ce qui prouve que ce bond en avant en matière d'architecture ne devrait pas être trop douloureux pour les concepteurs d'applications.

Au pire, les premiers temps devraient être transitoires, et l'évolution des langages de programmation sur architecture quantique devrait suivre le même cours que le récapitulatif que je vous ai proposé ces dernières semaines : quelques langages de base très puissants au début, pour se diriger de plus en plus vers des langages de plus haut niveau, plus proches de l'utilisateur, plus simples, mais plus modernes.

Dans tous les cas, le quantique ouvrira la voie à une nouvelle génération d'idées, de concepts, de manifestations de l'imagination des développeurs, et il est indéniable que cette époque sera plus que fructueuse et intéressante, au moins autant que l'a été celle de la perforation des cartes ou de l'assembleur...


L'histoire des langages de programmation - 1ère partie
L'histoire des langages de programmation - 2ème partie