2017: l'année des langages de programmation

Pour les langages de programmation, des langages comme Java et Kotlin ont attiré beaucoup d'attention dans le développement d'entreprise et mobile en 2017. L'écosystème JavaScript, essentiel au développement Web, a également continué à se développer.

Dans l'ensemble, l'année a présenté un mélange d'améliorations dans les langues établies de longue date et plus récentes.

Les développeurs ont suivi un feuilleton sur Java, avec des désaccords majeurs sur un plan de modularisation pour Java standard et, dans une tournure surprenante, Oracle se lavant les mains de la variante d'entreprise Java EE.

Le TypeScript de Microsoft, quant à lui, a gagné en popularité en facilitant la vie des développeurs à la recherche d'une alternative à JavaScript. Microsoft a également lancé Q #, un langage pour l'informatique quantique.

Les nombreux rebondissements de Java

Le kit de développement Java (JDK) 9 a été publié en tant que dernière implémentation de Java standard en septembre, après la résolution des différends concernant sa technologie de modularité complexe. Bien que le système de modules soit destiné à offrir des avantages en termes d'évolutivité, de performances et de sécurité, les principaux participants, dont Red Hat et IBM, n'étaient pas d'accord avec Oracle sur la manière de l'implémenter. Ils ont exprimé des inquiétudes quant à la compatibilité des applications et ont voté contre la proposition initiale, qui a initialement échoué lors d'un vote du comité exécutif de Java en mai. Mais les opposants étaient suffisamment satisfaits des modifications ultérieures pour faire passer la proposition sur une révision le mois suivant, ouvrant la voie à la publication très retardée.

La mise à niveau de la version 9 de Java devrait être suivie rapidement par JDK 10, prévue pour mars 2018 et comprenant une interface de ramasse-miettes et une inférence de type variable locale.

Du côté de l'entreprise Java EE, Oracle semblait avoir réglé les choses avec la communauté Java, qui avait été contrariée par la négligence perçue par l'entreprise de la plate-forme en 2016. En septembre 2016, Oracle a présenté des plans pour réorganiser Java EE pour des environnements tels que le nuage. Mais en août 2017, Oracle a décidé de se désengager de la gestion d'entreprise Java. La plateforme s'est retrouvée sous la juridiction de la Fondation Eclipse. Pendant ce temps, Oracle a publié Java EE 8 en même temps que Java 9. Java EE 8 intègre les fonctionnalités cloud, HTML5 et HTTP / 2.

Les outils et alternatives JavaScript avancent

Dans le développement Web, les développeurs ont reçu beaucoup d'aide pour construire avec JavaScript lui-même ou avec des alternatives JavaScript. Parmi les outils publiés en 2017, on peut citer:

  • Le framework JavaScript Angular 5 de Google, publié en novembre, comprenait un optimiseur de build et prend en charge les applications Web progressives et l'utilisation de composants de conception matérielle.
  • Angular 4, livré en mars, s'est concentré sur la création d'applications plus petites.
  • React, la bibliothèque d'interface utilisateur JavaScript de Facebook, est passée à la version 16 en septembre, avec une réécriture du cœur de React pour booster la réactivité des applications complexes.

Pour les développeurs qui construisent pour le Web et qui souhaitent un langage typé au lieu de JavaScript, le TypeScript de Microsoft devient une force. Ce sur-ensemble typé de JavaScript a reçu plusieurs mises à jour cette année:

  • TypeScript 2.6, publié à Halloween, avec un indicateur de mode strict et des commentaires de suppression des erreurs.
  • TypeScript 2.5, sorti en août avec des capacités pour faciliter les réécritures complexes.
  • TypeScript 2.4 est arrivé en juin avec une capacité d'impressions dynamiques pour rendre une application plus économe en ressources.
  • TypeScript 2.3, sorti en avril, supportait les générateurs et itérateurs asynchrones ECMAScript.
  • TypeScript 2.2, publié en février, a mis l'accent sur la compatibilité avec le framework React Native pour la création d'applications mobiles natives.

La prochaine étape est TypeScript 2.7, prévue pour janvier et offrant une inférence de type améliorée pour les littéraux d'objet.

Mais TypeScript n'était pas la seule alternative JavaScript à faire des vagues cette année. Pour les développeurs Web qui préfèrent utiliser le langage Go (Golang) de Google au lieu de JavaScript, le compilateur bêta Joy introduit en décembre promet d'autoriser la compilation croisée.

Kotlin à la hausse

Un autre langage qui propose la compilation en JavaScript - bien qu'il ait commencé sur la JVM - est Kotlin, qui a connu une fortune croissante cette année. Il a été considérablement renforcé par Google qui l'a approuvé en mai pour la création d'applications Android, qui a été principalement le domaine de Java. Les versions lancées en 2017 comprenaient:

  • Kotlin 1.2, publié en novembre, propose une capacité expérimentale de réutilisation de code sur plusieurs plates-formes. La prise en charge de Java 9 a également été ajoutée.
  • Kotlin 1.1, arrivé en mars, était compatible avec JavaScript.

Microsoft fait des mouvements quantiques

Dans le prolongement de son engagement envers l'informatique quantique, Microsoft a lancé en décembre Q # (prononcé «q sharp»), un langage spécifique au domaine exprimant des algorithmes quantiques. Un ensemble de types primitifs est fourni avec des tableaux et des tuples pour créer de nouveaux types structurés. Le langage fonctionne avec l'IDE Visual Studio de la société et est présenté dans le kit de développement Quantum, lancé en version bêta en décembre.

Le C ++ avance

Cette année a également vu la publication de C ++ 17, visant à faciliter l'utilisation du langage. Les commodités de programmation comprenaient:

  • Liaisons structurées et déduction des arguments de modèle de classe.
  • Les développeurs peuvent également maintenant initialiser des variables dans le cadre ifet switch comme ils ont pu le faire pour les boucles, réduisant ainsi la cérémonie du langage.

La prochaine étape est C ++ 20, qui devrait être complet à l'été 2019 et finalisé en 2020. Il peut inclure des améliorations pour la concurrence et les fonctionnalités de la bibliothèque.