L'histoire des langages de programmation - 3ème partie

Le par  |  11 commentaire(s)
Anders-Hejlsberg

Voici enfin le dernier article de notre série consacrée à l'histoire des langages de programmation.

Anders-HejlsbergAprè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_icazaC# 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-ConwayDamian 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

Complément d'information

Vos commentaires Page 1 / 2

Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #438601
Je ne vois pas le rapport entre ordinateur quantique et langage de programmation.
La plupart des langages cités dans l'article s'affranchissent de l'aspect matériel.

Le #438621
Je n'ai pas vu le Forth dans la liste des langages, pourtant il a été largement utilisé ces dernières années.
Le #438651
pguilhem >Dans les systèmes embarqués seulement...

Mais tu te doute bien qu'on ne peut pas citer tout les langages utilisés au monde.
Le #438661
Je serai curieux de voir ou l'auteur à vu que le F# sortira avec Visual Studio 2010.
Il est clair que pour le F# le .NET 4.0 sera requis (la cause en ai a la gestion des multicore dans la langage).
Mais Visual Studio 2010 n'a pas a ma connaissance ete annoncé avec le F#.
D'ailleur il me sembler que le F# etait sur le point d'etre abandonné, il n'aurait servit que de recherche pour une evolution de la plateforme .NET
Le #438671
Salut à tous !

Troisième partie nettement moins interressantes que les deux autres. Tout d'abord parcequ'elle accentue les défauts des précédentes : survol du sujet, aucun réelle description des particularités des langages, encore moins des grandes familles, et des lacunes.
Parmi ces lacunes, l'oubli total des langages VBA intégrés à Office, et donc extrêmement utilisés. Parmi les survols et les erreurs, le contre sens à propos de VB .Net qui n'est absolument pas une évolution de de VB 6 (faut vraiment jamais y avoir touché pour dire ça), mais l'adaptation de la syntaxe de VB6 à une toute nouvelle technologie qui est la plateforme .Net. Tout comme C# reprend la syntaxe de C++ et Java. D'ailleurs cette plateforme .Net n'est absolument pas décrite, alors que c'est elle qui est importante, bien plus que C#, VB .Net ou autres langages de la plateforme. Et c'est d'ailleurs un cas interressant ou les langages s'effacent derrière la technologie employée.

Quant aux suppositions finales, elles n'ont aucun intérêt comme toujours en matière d'informatique.
Le #438681
Je crois que le but de ces dossiers du dimanche, c'est de faire parler d'eux et ca marche. Y'a tellement de truc à redire qu'à chaque semaine c'est la même chose. Un tas de commentaires, et le mec continu de pondre toujours les mêmes bouses sur tout et n'importe quoi.
Le #438721
@ Sicyons
"Quant aux suppositions finales, elles n'ont aucun intérêt comme toujours en matière d'informatique."

Quiconque a la moindre notion de rédaction française sait qu'une bonne conclusion ne doit pas être un résumé de ce qui a été dit dans le corps du texte mais doit poser des questions, inciter à aller plus loin, avancer des hypothèses, etc.

La conclusion de l'article est de ce point de vue tout à fait correcte, même si tu ne la juge pas « interressante ».

Le #438731
Mouais mais en fait Powershell n'a strictement rien à voir avec un shell Unix, mais alors rien de rien ... c'est même pas vraiment une évolution du DOS CLI, c'est une façon de faire du scripting à un niveau assez pointu puisqu'entièrement basé sur des objets à la C#, et pas sur des commandes.
On peut aussi le 'breakpointer' pour debugger le script en 'step by step' avec une vue des objets et de leurs attributs, comme en C++ ou en C#.
Bref rien à voir avec un shell Unix ...
Le #438741
text2texte :

Et qui quiconque a un minimum de connaissance de l'Histoire de l'Informatique sait que spéculer sur les avancées futures et les bouleversements annoncés ne se révèle jamais fondé avec le temps.

Il ne s'agit pas la de rhétorique, mais tout simplement du sujet de l'article. Comme je l'ai précisé, une analyse des vraies évolutions des technologies de développement comme la plateforme .Net ou les techniques de développement web (AJAX) aurait réellement permis de conclure de façon interressante la fin de l'article en mettant l'accent sur les changements dans les pratiques purement techniques autant que dans les intérêts économiques. Penser qu'il suffit de spéculer sur l'avenir pour conclure un tel article est vraiement ne pas faire preuve de beaucoup d'exigence, ou alors se cantonner à une attitude très scolaire.

Mais encore faut-il avoir un regard suffisamment critique pour mesurer ce genre de choses, même si tu juges la fin de cet article "tout à fait correcte"...
Le #438771
un petit diagramme qui présente la hiérarchie des principaux langages...

http://people.mandriva.com/~prigaux/language-study/diagram.png
Suivre les commentaires
Poster un commentaire
Anonyme
:) ;) :D ^^ 8) :| :lol: :p :-/ :o :w00t: :roll: :( :cry: :facepalm:
:andy: :annoyed: :bandit: :alien: :ninja: :agent: :doh: :@ :sick: :kiss: :love: :sleep: :whistle: =]