Avons-nous vraiment besoin d'un autre langage de programmation ? Ce n'est pas le choix qui manque déjà. Entre les impératifs, les fonctionnels, les dynamiques, les compilés, les interprétés, la programmation objet et les langages de script, aucun développeur ne pourraient apprendre toutes les options disponibles.
Et pourtant, de nouveaux langages émergent à une fréquence surprenante. Certains sont conçus par des étudiants ou par des amateurs comme des projets personnels. D'autres viennent de grandes entreprises de la IT et on voit aussi des PME créer des langages pour répondre aux besoins de leurs secteurs d'activités. Pourquoi réinvente-t-on la roue ? La raison en est que, aussi solide et varié que soit le choix disponible, aucune syntaxe ne s'adapte de façon idéale à chaque objectif. De plus, la programmation est en constante évolution. Les processeurs multicoeurs, le cloud computing, la mobilité et les architectures distribuées ont créé de nouveaux défis pour les développeurs. Ajouter aux langages existants, notamment aux plus populaires, le support des fonctionnalités, paradigmes et modèles les plus récents peut s'avérer difficile et coûteux. Quelquefois, la meilleure réponse est encore de tout reprendre à zéro.
Dix de ces langages avant-gardistes ont été passés en revue par notre confrère d'InfoWorld, Neil McAllister, certains appartenant au domaine de la programmation expérimentale. Chacun aborde d'une façon nouvelle le développement de logiciels, en s'attaquant à un problème spécifique ou à une lacune des langages les plus utilisés aujourd'hui. Certains sont le fruit de projets arrivés à maturité, tandis que d'autres n'en sont qu'à leurs débuts. Quelques-uns vont probablement rester dans l'ombre. Néanmoins, n'importe lequel d'entre eux peut faire une percée pour devenir l'outil qui transformera la programmation dans les années à venir. Au moins, jusqu'à l'arrivée du prochain lot.
1ère partie : Dart, Ceylon, Go, F# et Opa (ci-dessous).
2ème partie : Fantom, Zimbu, X10, haXe et Chapel.
1 - Dart, créé par Google pour remplacer JavaScript
JavaScript convient très bien quand on doit mettre de l'interactivité simple dans des pages web, mais quand les applications atteignent des milliers de lignes de code, ses faiblesses apparaissent. Voilà pourquoi Google a créé Dart, un langage qu'il aimerait voir utiliser couramment dans la programmation web.
Comme JavaScript, Dart utilise une syntaxe de type C et des mots-clés. Avec une différence importante, toutefois. Alors que JavaScript est orienté prototype, dans Dart, les objets sont définis en utilisant des classes et des interfaces, comme on le fait en C++ ou en Java. Dart permet aussi aux programmeurs de déclarer de façon optionnelle des variables de type statique. L'idée est que Dart soit aussi familier, dynamique et fluide que JavaScript, tout en permettant aux développeurs d'écrire du code plus rapide, plus facile à maintenir et moins sensibles aux bugs. On peut faire beaucoup avec Dart aujourd'hui. Il est conçu pour fonctionner à la fois sur le client et sur le serveur (comme le fait Node.js), mais jusque-là, la seule façon d'exploiter la partie client du code Dart est de le compiler en JavaScript. Et même de cette façon, il ne fonctionne pas avec tous les navigateurs. Mais, parce que Dart est livré sous licence Open Source BSD, n'importe quel fournisseur intéressé peut l'intégrer dans ses produits. Il reste maintenant à Google à convaincre le monde des développeurs. Récemment, l'inventeur de JavaScript, Brendan Eich, s'est montré réservé sur la question en doutant que Dart soit un jour supporté en natif sur les différents navigateurs web.
2 - Ceylon, développé chez Red Hat par le créateur d'Hibernate
Collaborateur de Red Hat, Gavin King récuse le fait que Ceylon, le langage qu'il développe chez l'éditeur Open Source, soit destiné à être un « Java killer ». Lui-même est connu comme étant le créateur d'Hibernate, framework pour Java gérant la persistance des objets en base de données relationnelle. Il aime Java mais il pense que le langage comporte de nombreuses marges d'amélioration. Il pointe notamment sa syntaxe verbeuse, son manque de fonctions « first-class », ainsi que son faible support de la metaprogrammation. En particulier, il regrette l'absence d'une syntaxe déclarative pour la définition des données structurées qui, dit-il, rend Java inséparable d'XML. Ceylon vise à résoudre tous ces problèmes.
Gavin King et son équipe n'ont pas l'intention pas de réinventer complètement la roue. Il n'y aura pas de machine virtuelle Ceylon. Le compilateur Ceylon produira du code exécutable Java destiné à fonctionner sur la JVM (machine virtuelle Java). Mais le langage sera davantage qu'un simple compilateur. L'un des buts principaux du projet est de créer un SDK Ceylon pour remplacer le SDK Java que Gavin King trouve ampoulé et maladroit et qui, à son goût, n'a jamais été correctement modernisé. (Mise à jour) Une première version est sortie en décembre dernier, ainsi qu'un plug-in pour l'IDE Eclipse. La deuxième version de Ceylon vient par ailleurs d'arriver (cf commentaire ci-dessous)
10 langages de développement pour secouer la IT (1ère partie)
5
Réactions
Les développeurs ont à leur disposition un vaste choix de langages, de toute nature. Il continue malgré tout à s'en créer pour répondre à des situations particulières ou contourner les limites des outils existants. Parmi ces langages, dont certains sont encore expérimentaux, en voici dix, présentés en deux volets.
1ère partie : Dart, Ceylon, Go, F# et Opa.
Newsletter LMI
Recevez notre newsletter comme plus de 50000 abonnés
TOUT CA DATE DE 2012 !!!
Signaler un abusALLO LA TERRE ON EST EN 2015 !! JAVA IS first !
Bonjour,
Signaler un abusNous vous remercions de nous avoir signalé cet oubli.
Bien cordialement.
La Rédaction
Bonjour,
Signaler un abusConcernant Ceylon, vous dites « Red Hat n'a pour l'instant livré aucun outil Ceylon pour l'instant », mais en citant un article qui date d´un an, et en oubliant que depuis décembre nous avons sorti une première version (je fais partie de l´équipe), ainsi qu´un plugin Eclipse (IDE).
D´autre part je vous annonce avec plaisir la deuxième version de Ceylon qui sort ce jour même : http://ceylon-lang.org/blog/2012/03/20/ceylon-m2-minitel/
Cordialement,
Stéphane Épardaud, de Red Hat.
Bonjour,
Signaler un abusMerci pour votre remarque. Le langage ABAP est associé aux applications de gestion développées par l'éditeur SAP. Il existe depuis une vingtaine d'années et il reste très utilisé par l'écosystème SAP.
La petite sélection que nous vous proposons en deux parties passe en revue des langages moins connus, quelquefois assez nouveaux ou encore expérimentaux pour certains.
Bien cordialement.
La Rédaction.
Bonjour
Signaler un abussympa cette synthèse de langage informatique.
Pourriez-vous penser à l'ABAP? En dehors du fait que je suis un passionné de ce langage depuis 11 ans, je trouve toujours ridicule que l'on ne parle jamais de ce langage alors qu'il est capable de tout faire et qu'il est utilisé par des centaines de milliers d'entreprise de par le monde.
Il y a un manque d'informticiens importants dans ce secteur, c'est un milieu qui embauche constament, ce serait bien d'éviter des délocalisations.
Bien cordialement,
Yann SZWEC