Les nouveaux langages de programmations des grandes entreprises : Swift, Go, Dart, Rust, TypeScript, etc.

de | 5 juin 2014

langagesAlors que tous les développeurs informatiques ont actuellement les yeux rivés sur la documentation du nouveau langage de programmation d’Apple, Swift, il est nécessaire de se rappeler qu’il ne s’agit pas là d’un cas isolé : toutes les grandes entreprises d’informatique ont un jour ou l’autre lancé un langage de programmation.

Mais, tout d’abord, parlons un peu de Swift. Ce langage a pour but de remplacer (à terme) l’Objective-C utilisé pour programmer des applications Mac OS et – surtout – iOS (iPhone, iPad, iPad Touch).

Swift (mais non, pas la voiture)

swift-heroBref, alors que l’Objective-C commençait à être parfaitement maîtrisé par les développeurs mobiles (surtout depuis l’arrivée de l’ARC d’ailleurs), Apple décide de lui couper les jambes en créant un autre langage de programmation, sensé être plus simple.

Swift s’est donc inspiré de langages de scripts et à pour but de convaincre ceux qui ne voulaient pas programmer chez la Pomme que c’est le moment de s’y mettre.

Pourquoi ce revirement de situation 7 ans après la sortie de l’iPhone ? Sincèrement, on en sait rien. Avec des centaines de milliers d’applications dans l’App Store, il ne semble pas que Apple manque de développeurs iOS…

Si on regarde de plus près ce langage on se rend compte qu’il n’apporte pas grand chose de nouveau d’ailleurs. On a – bien sûr – mes retours de fonctions multiples (en fait avant on mettant tout dans un tableau donc… bof) et les closures qui sont de la partie (comme Lua donc), et beaucoup d’autres nouveautés.

C’est surtout du côté de l’environnement de développement qu’il faut regarder pour mieux comprendre. Comme le langage Swift permet une interprétation rapide (ce que l’Objective-C empêchait) il est maintenant possible de manipuler du code Swift et d’avoir un rendu en temps réel dans XCode, l’environnement de développement du monde Apple.

swift-screenshotBref, chez Apple on veut rendre le code informatique plus « fun » et augmenter la productivité des environnements de développement. Un peu la même chose que ce que le projet Open Source LightTable tente de faire depuis quelques années.

Au final, il faudra penser à utiliser ce nouveau langage pour la création de nouveaux projets iOS mais je ne pense pas qu’il faille migrer des projets actuels obj-C en Swift. Le jeu n’en vaut sans doute pas la chandelle.

Mais, gros problème pour le moment, ce langage semble fermé ! On ne sait donc pas si on pourra faire autre chose que des applications Mac et iOS avec…

Vous pouvez en savoir plus sur Swift sur cette page : https://developer.apple.com/swift/

Les autres nouveaux langages

Swift étant un nouveau langage qui fait le buzz, il est bon de se rappeler que cette année, c’est seulement le deuxième nouveau langage de programmation qui fait le buzz !

Hack

hackEt oui, il y a quelques semaines Facebook annonçait Hack, un langage dérivé de PHP visant à rendre ce dernier plus performant. Ainsi Hack rajoute un typage des données statiques et un environnement d’exécution lié à HHVM, la machine virtuelle PHP maison de Facebook.

Hack est donc conçu pour améliorer certains aspects du langage PHP car, on le sait, PHP est massivement utilisé chez Facebook.

D’ailleurs Facebook était déjà à la traine derrière ses autres amis du web car Google et Mozilla avaient déjà dégainer leurs armes secrètes depuis longtemps.

Site officiel du langage Hack : http://hacklang.org/

Go

go-langCréé en novembre 2009, le langage Go est le bébé de Google. Le géant du web avait besoin d’un nouveau langage de programmation pour accélérer son développement d’application. Et donc, des ingénieurs ont planché sur un langage next-gen pour développer les applications de demain : un langage compilé rapide pour développer des vraies applications.

Go est un langage compilé et permet d’accélérer le développement en réduisant les temps de compilation des programmes de 70 à 80%. En effet, chez Google on avait pour habitude de coder en C et forcément compiler les applications sans arrêt pour les tester avait fini par prendre un temps fou.

De plus, de gros efforts ont été réalisé pour accélérer l’exécution des programmes informatique conçu avec ce langage.

Ce langage est globalement mature et on peut donc l’utiliser dès maintenant surtout qu’il est possible d’utiliser de nombreuses librairies avec (MySQL, SDL, etc.).

Site du langage de programmation Go : http://golang.org/

Rust

rust-logoGoogle avait son propre langage, il était donc nécessaire pour Mozilla (l’autre grand nom du web) de créer le sien : Rust.

Rust apparaît donc en 2010 et est déjà plus complexe à appréhender (pas forcément au niveau de la syntaxe d’ailleurs). Avec Rust on a l’impression qu’on peut tout faire : programmation fonctionnelle, objet ou procédurale.

Développé par Mozilla en mode ouvert (tout le monde peut contribuer) Rust est pour le moment à utiliser avec des pincettes car il n’est pas vraiment terminé. A noter que Mozilla utilise Rust pour son projet de moteur de rendu web expérimental et révolutionnaire Servo. ( http://fr.wikipedia.org/wiki/Servo_%28moteur_de_rendu%29 )

Le langage Rust : http://www.rust-lang.org/

Dart

dart-spriteDart est un langage de programmation conçu par Google en 2011. Si vous m’avez lui jusqu’ici vous avez compris que c’est le deuxième langage de Google ! Après Go, Dart est apparu pour une tout autre tâche.

Si Go se veut assez généraliste, Dart a pour but ultime de remplacer Javascript.

Le but pour Google est donc de créer un nouveau Javascript dénué de toute ambiguïté et (c’est récurrent) plus performant. Dart a aussi tout un tas de librairies qui le rendent moins dépendant d’outils externes (comme jquery).

Pour le moment, on peut compiler du Dart en Javascript pour assurer le bon fonctionnement de son code dans les principaux navigateurs. Il est aussi possible d’exécuter du code Dart via Chrome et une extension au navigateur.

La langage Dart : https://www.dartlang.org/

TypeScript

typescriptTypeScript est conçu par Microsoft et se veut une version améliorée de Javascript. TypeScript est disponible depuis 2012 et est déjà beaucoup plus populaire que Dart.

D’une part, TypeScript ressemble beaucoup à Javascript ce qui le rend très facile d’accès à ceux qui connaissent déjà ce langage. Ensuite, Microsoft a rendu accessible TypeScript sur toutes les plate-forme (ou presque, car il est basé sur Node.js) dans le but de populariser son utilisation.

TypeScript a aussi pour avantage d’être plus ou moins compatible avec des librairies comme jQuery.

Mais alors TypeScript c’est quoi ? Et bien c’est simplement un Javascript avec un typage des variables mieux fichu qui permet de moins faire d’erreur en programmant. Le code TypeScript peut ensuite être transformé en Javascript pour plus de simplicité.

Si TypeScript semble populaire, il semble qu’un langage comme CoffeeScript (syntaxe abrégé de Javascript en beaucoup plus simple) soit plus populaire.

Site du langage TypeScript : http://www.typescriptlang.org/

Ceylon (oui c’est un peu long comme article)

ceylon_homebanner_elephantJe vais finir avec Ceylon car il s’intègre assez bien dans cette thématique. Ceylon est créé par Red Hat 2011. Il a la particularité d’être basé sur le langage Java.

Comme Scala il tourne donc sur la JVM (Java Virtual Machine) et permet aux développeurs Java de débuter rapidement avec ce nouveau langage.

Le but de Ceylon est de permettre aux amateurs de Java de mieux structurer leurs programmes avec plus de modularité. Enfin bref, on se retrouve une fois de plus dans la correction d’une base existante.

Site de Ceylon : http://ceylon-lang.org/

Conclusion

language everywhereComme on l’a vu a travers ce rapide passage en revue des derniers langages créés par les entreprises de l’informatique, Apple n’est pas le première à s’y coller. On pourrait même dire qu’elle arrive presque tard puisque depuis quelques années toutes les grosses boîtes d’info (ou presque) en ont sorti un !

Parmi les langages cités, il semble que le plus populaire soit Go. De part son historique (c’est le plus ancien) et ses qualités (il semble que la rapidité de compilation et d’exécution en fasse un bon outil pour les applications serveurs) de nombreuses applications commencent à être construites sur ses bases.

On pourra argumenter que chaque langage a sa spécialité et son but qui lui est propre, mais on peut aussi se demander si tout ceci ne participe pas à la mise en place d’une certaine image « developper friendly » à l’intérieur de chaque entreprise.

En tout cas, on a de quoi faire cet été si on veut apprendre un nouveau langage de programmation !

2 réflexions au sujet de « Les nouveaux langages de programmations des grandes entreprises : Swift, Go, Dart, Rust, TypeScript, etc. »

  1. Hamamet tacos

    j’aime beaucoup cet article qui nous a permet de définir les nouveaux langue de programmation des grandes entreprises.
    merci pour le partage.

  2. Ping : PHP 5 fête ses 10 ans

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *