Revisiter ’13 langages de programmation pour le futur’

Le grand joueur de baseball Yogi Berra a déclaré que les prédictions sont difficiles, en particulier pour l’avenir. Il y a sept ans, mes éditeurs m’ont demandé de dresser une liste de 13 langages de programmation qui définiraient l’avenir du codage. Maintenant, ils m’ont demandé de revenir en arrière et d’analyser ce que j’avais bien et ce que j’avais mal.

La bonne nouvelle est que certaines des prédictions étaient exactes. Certaines des langues se sont épanouies comme je l’espérais. La moins bonne nouvelle est que certaines des prédictions ne se sont tout simplement pas concrétisées. Ces langues circulent toujours – ce n’est pas comme si elles avaient échoué ou implosé – mais elles ne sont jamais devenues virales.

Voici la liste des 13 originaux ainsi qu’une discussion sur ce qui s’est bien passé et ce qui s’est mal passé avec les prédictions. Ensuite, j’en ai ajouté un de plus à la fin que j’ai raté. Si seulement j’avais pensé à inclure cela dans la liste originale, j’aurais vraiment frappé un coup de circuit.

Les gagnants

R

Le langage a suivi l’essor explosif de la science des données. Une partie de sa popularité vient des non-programmeurs qui l’utilisent comme un outil, souvent comme un bloc-notes, pour donner un sens statistique au flux incessant d’organisations qui inondent les données. Le langage est très axé sur l’analyse statistique, et il se trouve qu’il est très demandé.

Il existe également une grande collection de ramifications intéressantes telles que Sweave et Knitr, deux projets qui intègrent R avec LaTeX pour créer une plate-forme d’analyse et de création de rapports. Tous contribuent au succès fulgurant de R.

Java

Au moment de mon histoire originale en 2015, la version 8 de Java était dominante. Depuis lors, Oracle a souvent publié de nouvelles versions et la dernière version annoncée, Java 21, est prévue pour 2023. La plate-forme continue de bénéficier d’une concentration à long terme sur la stabilité. Les nouvelles versions ont ajouté encore plus de fonctionnalités demandées allant d’améliorations majeures à la structure de classe à des extras mineurs mais utiles tels qu’un meilleur générateur de nombres aléatoires.

La plate-forme a également beaucoup emprunté au succès d’outils tels que Node.js pour offrir de meilleures performances pour de nombreuses opérations de la taille d’un serveur. La base ne se développe peut-être pas, mais l’investissement continu la maintient fraîche et pertinente.

rapide

Le langage reste le meilleur moyen de produire des applications pour l’une des familles de plates-formes les plus populaires, iOS et MacOS. Parce que les gens achètent encore des iPhones, les développeurs doivent encore programmer en Swift. Bien que l’accent soit mis sur la prise en charge des différents appareils Apple, certains développeurs aiment suffisamment le langage pour commencer à l’intégrer à de nouvelles plates-formes telles que des serveurs dans le cloud.

aller

La simplicité du langage continue d’être son principal argument de vente. Les équipes peuvent prendre des développeurs qui viennent d’horizons de programmation complètement différents et leur apprendre Go en peu de temps. Ensuite, tout le monde travaille ensemble dans le même langage de programmation bien ciblé, étroitement défini et concis.

CUDA

Les GPU offrent aujourd’hui l’une des puissances de calcul les plus élevées et quiconque souhaite débloquer la puissance des machines de Nvidia doit utiliser CUDA. Les principaux moteurs sont les mineurs de crypto-monnaie et les projets qui souhaitent former des modèles d’IA, mais il existe également de nombreuses autres applications moins flashy qui souhaitent simplement exploiter une puissance de traitement massivement parallèle.

Les retardataires

CoffeeScript

La version merveilleusement propre de JavaScript a déclenché plusieurs autres transpileurs qui permettent aux gens d’utiliser différentes règles syntaxiques. Il peut y avoir plusieurs dizaines d’options pour jouer avec la syntaxe de JavaScript. L’un des cousins, TypeScript, a vraiment explosé alors que de plus en plus de développeurs recherchent la sécurité fournie avec les types de variables définis. CoffeeScript lui-même n’a peut-être pas décollé, mais l’idée de préprocesseurs tels que CoffeeScript l’a fait.

Cela reste une mise à jour intéressante pour C mais elle n’a pas attiré autant d’attention que de nombreuses autres options. Les programmeurs s’en tiennent au C ou migrent vers des langages à fort attrait qui arborent également une syntaxe de type C, comme Java ou JavaScript.

moins.js

L’idée d’utiliser un préprocesseur pour créer du CSS a encouragé des dizaines de concurrents. Less.js reste utilisé car il utilise une syntaxe proche du CSS. D’autres options telles que SASS, PostCSS ou Stylus CSS offrent plus de fonctionnalités. La zone reste active, et il faudra peut-être un certain temps avant de voir la fin de la recherche de la meilleure façon de spécifier les règles de mise en page d’une page Web. Encore une fois, Less.js n’a pas été un grand succès, mais les préprocesseurs comme celui-ci se sont développés.

MATLAB

Le langage reste une grande partie du monde de l’informatique scientifique et technique. Il a également trouvé une maison prenant en charge certains des algorithmes les plus compliqués pour la science des données et l’intelligence artificielle. Il n’y a pas beaucoup plus d’intérêt en dehors de ces communautés, mais à l’intérieur, il continue de servir les applications qui ont besoin de mathématiques matricielles.

Arduino

Le monde des systèmes embarqués et minuscules continue de fleurir, et les puces Arduino – et le langage utilisé pour les programmer – continuent de prospérer. L’Internet des objets, cependant, se développe encore plus rapidement grâce à d’autres cartes telles que le Raspberry Pi. Ces options matérielles apportent également de plus grandes options logicielles. C et C++, par exemple, continuent de bien fonctionner, mais d’autres choix tels que Python et Java prospèrent également. En effet, bon nombre des puces les plus récentes sont suffisamment puissantes pour exécuter un bureau Linux complet et tous les logiciels susceptibles de fonctionner dessus.

intervalle

Ce langage combine un style de programmation fonctionnel avec une structure orientée objet, et il continue de prospérer dans des niches à travers Internet. Les passionnés célèbrent à quel point le fait de contraindre le code à s’adapter à un idéal fonctionnel étroit peut limiter les bogues et faciliter la modélisation de tâches plus complexes. La dépendance du langage à la machine virtuelle Java au moment de l’exécution ouvre également la possibilité de lier le code à de nombreuses bibliothèques et à d’autres projets.

Haskell

Les programmeurs qui doivent jongler avec des flux incessants d’événements qui peuvent ou non arriver simultanément apprécient la structure fonctionnelle de Haskell. Le typage statique et l’évaluation paresseuse simplifient l’écriture de chaînes de fonctions imbriquées ou composées qui sont plus faciles à analyser pour le compilateur à la recherche de bogues potentiels. Les entreprises gourmandes en données telles que les commerçants algorithmiques et les sociétés de médias sociaux aiment la structure qui accompagne le langage.

SECOUSSE

JOLT continue de susciter l’intérêt grâce à l’essor continu de JSON, le format de données que le langage est conçu pour manipuler. L’intérêt signifie qu’il y a plus d’options pour les programmeurs. Des applications telles que GraphQL, par exemple, peuvent fusionner des requêtes de données et des transformations, éliminant ainsi le besoin d’une autre couche. Néanmoins, tant que JSON restera utilisé, il y aura une demande pour certaines des transformations simples proposées par JOLT.

La seule omission

Dans l’ensemble, mes prévisions n’étaient pas si mauvaises. De nombreuses langues continuent de croître lentement et certaines continuent de prospérer. Dans certains cas, le langage lui-même n’est pas un grand succès, mais des versions similaires décollent avec lui.

Pourtant, j’ai un regret. L’article ne promettait pas d’être complet ou de nommer chaque langage important à venir, mais je suis toujours un peu mal d’avoir laissé Python hors de la liste. Le langage de script autrefois basique s’est tellement développé que l’index de TIOBE pour le suivi des requêtes des moteurs de recherche liées à la programmation l’a couronné “langue de l’année” en 2018, 2020 et 2021.

L’un des secrets de son succès est que Python est extrêmement populaire pour l’enseignement des cours de programmation, en particulier pour les étudiants occasionnels qui ne souhaitent que s’initier au codage. Mais il existe également un large soutien de la part des scientifiques des données qui aiment la façon dont il offre une solution relativement simple mais Turing-complète pour travailler avec des données brutes.

Considérez ce dernier élément comme un moyen de corriger l’omission passée et d’accueillir Python dans la liste.

continue d’apprendre

Leave a Comment

Your email address will not be published.