X
Langages
Thierry Thaureaux / mardi 22 janvier 2019 / Thèmes: Développement, Dossier

Langages

Les langages de programmation à connaître en priorité… et ceux à éviter !

Quels sont les langages de programmation les plus utilisés par les développeurs et surtout quels sont ceux à « bûcher » pour trouver du travail et être bien payé ? Et, au contraire, quels langages sont en perte de vitesse et risquent d’être abandonnés à plus ou moins long terme ? C’est ce que nous allons voir dans ces lignes, non codées.

Le classement établi par l’index TIOBE est basé sur les recherches effectuées sur les plus grands moteurs, et non pas sur le nombre de projets ou de lignes de code.

Les langages qui ont le vent en poupe

Dans cette liste vous trouvez notamment les « jeunes » langages qui ont la cote auprès des développeurs. Le langage Go de Google, qui était censé remplacer le C++, arrive en toute première place, suivi de TypeScript de Microsoft, une espèce de surensemble typé de JavaScript. Kotlin vient juste après. Celui-ci est presque exclusivement utilisé pour le développement d’applications Android. L’annonce par Google du support de première classe de Kotlin dans Android Studio en mai 2017 a d’ailleurs largement contribué à son avancée.

Un autre nouveau venu, Rust de la fondation Mozilla (lire l’article d’Alain Clapaud dans notre numéro précédent), se développe plus lentement que les autres langages mais suit une croissance régulière. Il a été créé dans le but de remplacer les langages C et C++, rien de moins… Y arrivera-t-il ? Rien n’est moins sûr.

Go et d’autres avaient les mêmes prétentions, mais ils ont dû se rendre à l’évidence : même si les C et C++ comportent des failles en termes de sécurité, qu’il faut prendre en compte, ils restent très puissants et bénéficient d’un grand nombre d’adeptes.

 

Un taux d'utilisation relativement stable

Julia ne doit pas être oublié dans la liste des petits nouveaux à suivre. Spécialisé dans le calcul scientifique haute performance, ce langage est une évolution très intéressante de Lisp. Là encore, comme pour Rust, nous vous renvoyons au récent article d’Alain Clapaud.

Dans l’ensemble, les principaux langages de programmation, tous domaines confondus, conservent un taux d’utilisation relativement stable : JavaScript, PHP, Python, C, C++ ou C#, entre autres, resteront des valeurs sûres. Dans l’ordre, les langages qui ont occupé le top 6 des plus populaires selon, cette fois, l’index TIOBE (https://www.tiobe. com/tiobe-index/) d’octobre 2018 sont Java, C, Python, C ++, Visual Basic .NET et C#.

Le projet GHTorrent, un miroir offline des données proposé à travers l’API REST DE Github.

Les langages à éviter

S’il y a des langages à apprendre, il y a aussi des langages à éviter, au moins pour de nouveaux projets, en se basant sur la baisse constante de leur utilisation. Dans cette catégorie, il y a Ruby qui brille de moins en moins ; Objective-C, remplacé pour la plate-forme Apple par Swift, CoffeeScript, Perl et bien sûr Java, mais à beaucoup plus long terme pour ce dernier – et seulement si la situation ne s’arrange pas. Ces langages ont tous vu leur pourcentage d’utilisateurs sur GitHub diminuer de manière significative au cours de ces dernières années. Celui qui a connu la plus forte baisse sur cette période, passant de la 2e à la 11e place entre 2011 et 2018, est Ruby. Il faut néanmoins rester prudent quant à l’interprétation de ces statistiques, car elles sont données en pourcentage de la base d’utilisateurs de GitHub, comme le fait si bien remarquer le sieur Ben Frederickson, développeur chevronné et blogueur. Cela ne veut donc pas forcément dire que la base d’utilisateurs de Ruby ou d’autres langages cités dans ces statistiques ait diminué en nombre global de développeurs ou de projets les mettant en œuvre, mais surtout que leur part s’est réduite par rapport à l’ensemble des langages utilisés aujourd’hui. Ajoutons à cela que le nombre d’utilisateurs sur GitHub a, lui, été multiplié par plus de 20 entre 2011 et 2018. Le langage PHP est un de ceux qui illustrent parfaitement cet état de fait. Bien qu’ayant diminué en termes de pourcentage, son nombre d’utilisateurs ne cesse de croître. Les remplaçants de fait Il faut aussi signaler que certains nouveaux langages récupèrent quasi directement la base d’utilisateurs d’autres langages rendus obsolètes de par leur manque de puissance ou de fonctionnalités ou simplement par la volonté de l’éditeur ou de la principale plate-forme qui les emploient. C’est le cas pour le couple Objective-C/Cocoa, fer de lance du développement pour les machines Apple – plus particulièrement la plate-forme iOS – que Apple a mis au banc pour le remplacer par Swift. Il en est de même pour CoffeeScript remplacé par TypeScript.

Les langages web

Les trois principaux langages front-end sont le HTML, le CSS et le Javascript. Quel que soit le langage back-end utilisé, ces trois langages sont quasi-incontournables – surtout le HTML – pour la présentation du contenu général. L’ensemble des navigateurs internet sont capables d’interpréter ces langages et de mettre en forme les pages qui en découlent.

RUBY

Ruby reste encore très employé par de grands sites tels que Airbnb ou Groupon. C’est un langage orienté objet relativement facile à apprendre. Son célèbre framework de développement web, Ruby On Rails, l’a propulsé un temps en haut des outils de conception d’applications web haut de gamme. L’ensemble constitue toujours un bon environnement de développement web, mais d’autres technologies sont en train – ou l’ont déjà – supplanté.

PHP

Le nombre de logiciels opensource développé en PHP est plus que considérable. Ceux-ci permettent de créer pratiquement tout type de site internet très rapidement. Vous avez WordPress, Drupal ou Joomla pour les systèmes de gestion de contenu (CMS) les plus simples ; Woo-Commerce, Magento ou Prestashop pour créer des boutiques en ligne ; ou encore PhpBB pour des forums. Autre avantage et non des moindres du PHP : quasiment tous les hébergeurs le proposent et son coût d’utilisation est bien souvent le plus faible. Le PHP reste donc le principal outil de conception de sites internet dits standard. WordPress est le CMS le plus utilisé au monde ! La principale force du PHP est sa formidable adaptation aux SGBDR (Systèmes de gestion de bases de données relationnelles) client-serveur, et en particulier à MySQL et ses forks comme MariaDB.

JAVASCRIPT

Le JavaScript reste de loin le langage le plus utilisé pour le Web. C’est certainement dû au fait que ce langage s’accouple parfaitement avec d’autres technologies web auxquelles il sert de « ciment ». Il arrive toujours dans le trio de tête – avec le HTML et le CSS –, car il propose une interface simple et facile à manipuler avec une multitude de fonctionnalités et des frameworks front. Il est difficile de s’en passer pour le développement web tant il est complet. Ce langage de programmation permet d’ajouter du dynamisme à une page HTML. Sortant de son cadre initial, le Javascript est de plus en plus employé pour la programmation back-end avec l’apparition des serveurs Node JS. Il est aussi un bon langage d’apprentissage pour les débutants en programmation. Bref, le Javascript est vraiment un des langages à apprendre pour faire du développement web. Son intégration native dans les navigateurs a fortement contribué à son succès. Il est donc le langage par défaut pour le développement front-end pour la partie interactive. C’est aussi un très bon langage pour créer des applications natives à la fois pour iOS et Android. Là encore, son interpréteur est installé partout, sur tous les appareils mobiles, ce qui le rend idéal pour créer des applications multi platesformes. Plusieurs frameworks tels que Angular ou React permettent d’améliorer ses possibilités.

TYPESCRIPT

Ce langage libre et open-source créé par Microsoft peut parfaitement remplacer le JavaScript dont il constitue un surensemble typé. Bien qu’il demande encore un peu plus de stabilité côté versionning, il s’est déjà fait un nom dans la sphère du développement web et ne cesse de croître en nombre d’utilisateurs et de sites.

Typescript est un langage de programmation libre et open source créé par Microsoft et constituant un surensemble du Javascript.

Les « bons à tout faire », ou presque

JAVA

Initialement développé par Sun Microsystems en 1991, le Java a subi beaucoup de changements au fil des années mais reste aujourd’hui encore un des langages de programmation les plus employés. Google l’a choisi comme langage de base pour la conception d’applications Android. Des géants comme Amazon, eBay, IBM, Uber, Slack, TripAdvisor ou SAP l’utilisent intensivement pour leurs sites web et/ou leurs applications Android. En effet, Java Android, adaptation spécifique à la dite plate-forme mobile, est totalement adapté par Google au cycle de vie des apps Android.

C#

De manière moins coordonnée et répondant à une certaine concurrence entre éditeurs, le C# monte régulièrement en puissance dans le domaine des applications web au détriment du Java. C’est le résultat des efforts de Microsoft pour améliorer et mettre en avant son langage, mais bien aidé par le désintérêt de longue date maintenant d’Oracle pour le Java ; cela s’est traduit pour celui-ci par une évolution bien trop lente – surtout de la partie J2E –, des problèmes de performances et de sécurité croissants et surtout de rétrocompatibilité d’une version à l’autre, entre les 7, 8 et 9 notamment. Le C# est une espèce de Java amélioré créé pour Microsoft par Anders Hejlsberg, l’inventeur, entre autres, de Delphi, au début des années 2000. Il est assez rapidement devenu le langage phare de la plate-forme .Net, poussant (enfin…) doucement mais sûrement au rencard VB .NET. Progressant constamment, il supplante le Java auprès de développeurs qui n’en peuvent plus du manque d’évolutivité et des problèmes de sécurité de ce dernier. Le seul véritable avantage restant au Java par rapport au C# est la portabilité de la JVM sur presque toutes les plates-formes. Cela aussi est en train de changer avec le passage en Open Source du .Net qui augure une disponibilité identique pour le CLR (Common Language Runtime, la machine virtuelle du .Net). En clair, le code C# pourra bientôt être exécuté sur tous types de systèmes Linux et non plus seulement sous Windows. Le C# est « le » langage à apprendre si l’on veut percer dans l’univers Microsoft. Il est le langage par défaut pour créer des applications sur la plate-forme .NET mais aussi pour développer des jeux vidéo sur Unity. Il permet de plus  de coder – via Xamarin – des applications pour les platesformes mobiles Android et iOS.

PYTHON

Le langage Python a été créé en 1989. Il gagne régulièrement du terrain, après un long sommeil de plusieurs années depuis sa création, et surtout la sortie de nouvelles bibliothèques de code venues l’enrichir. Il a déjà dépassé le Java et se trouve à la deuxième place des langages les plus populaires sur GitHub. Le Python a largement bénéficié de la montée en puissance du Machine Learning (ML), domaine dans lequel il est l’un des langages les plus prisés – avec le R et quelques autres – grâce à des librairies puissantes. Élu meilleur langage 2017 par l’IEEE, il dépasse les Java et C en termes d’influence en 2018. Sa popularité vient en partie de sa grande simplicité et de la lisibilité de son code, séduisant de nombreux débutants. Rappelons que ce langage n’a pas grand-chose à voir avec le serpent éponyme et tirerait plutôt son nom d’une bande de joyeux drilles mondialement célèbres, les Monty Python. Il est reconnu comme un véritable langage web lorsqu’il est employé avec son framework Django, mais son cadre d’utilisation est bien plus large : scripts d’installation d’applications de type client lourd, Intelligence artificielle, ML, calcul scientifique – ou il a détrôné Mathlab dans bien des laboratoires de recherche et universités –, testing… Il n’est pas étonnant qu’il soit l’un des principaux outils de développement de Facebook, Google, Pinterest, Reddit, Spotify et autres YouTube.

Les langages qui sont peut-être à éviter selon Ben Frederickson.

Les langages de type client lourd

C

Le langage C a été créé en 1972 pour le système d’exploitation UNIX et il est encore et toujours utilisé sur nombre de projets de développement ! C’est l’un des langages de programmation les plus stables et il fonctionne sur presque toutes, voire toutes les plates-formes connues. Il existe un compilateur C pour quasiment tous les environnements.

Le C est le langage de développement des systèmes d’exploitation, pas seulement Unix et Linux, mais aussi Windows, Mac OS X…, et des pilotes de périphériques ou de logiciels. Il a récemment profité d’un nouveau regain de popularité grâce aux objets connectés. Le C est, d’une manière générale, assez bien adapté à la programmation de logiciels embarqués.

C++

Créé en 1983 comme une espèce de surcouche objet du langage C, et non pas pour le remplacer – pas du tout ! – comme prétendent certains, le C++ a profité d’une popularité quasi instantanée grâce à sa puissance et son mélange de programmation bas niveau et objet. C’est un langage hybride (structuré et objet) très stable permettant de créer du code réutilisable – un anti Swift, en quelque sorte… Le C++ est un langage de développement toujours en forte croissance qui reste presque en permanence sur le devant de la scène malgré de nombreuses tentatives pour le remplacer par d’autres langages – avec Go et Rust, récemment. Il est très performant, assez fiable pour peu qu’il soit bien maîtrisé, ce qui est loin d’être simple, et il possède de très nombreuses fonctionnalités via des bibliothèques de toute sorte, open source pour la plupart. C’est un des langages les plus connus au monde et sa maîtrise est très appréciée dans le monde de l’entreprise. Sa connaissance permet le plus souvent d’apprendre plus facilement d’autres langages dont la syntaxe a été inspirée. Vous pourrez coder presque tout en C++ : des jeux, des programmes complexes pour des domaines tels que le trading, les télécoms, le calcul vectoriel, la gestion graphique, les applications mobiles, scientifiques, etc.

Les langages pour les applications mobiles

KOTLIN

Inspiré du concept JavaScript, le langage Kotlin rencontre un certain succès depuis qu’il a obtenu le soutien de Google, en mai 2017. Il remplace surtout le JavaScript pour la partie descriptive des apps Android. La dernière version est la 1.3.

SWIFT

Swift a été créé en 2014 par Apple comme un langage maison pour les applications iOS – surtout – et Mac OS X. C’est ce que l’on appelle un langage de niche. Il a été fortement influencé par les Ruby et Python. Le problème avec ce type de langage est qu’il n’est vraiment intéressant, et un peu obligatoire, que pour développer des applications iOS. Apple peut l’abandonner du jour au lendemain, comme il l’a fait avec l’Objective-C. Et comme il n’est utilisé quasiment nulle part ailleurs, tout le travail investi dedans ainsi que le code existant seront inutilisables. Or, la réutilisabilité du code, en programmation, n’est pas un vague détail : les développeurs n’aiment pas trop qu’on les prenne pour des pommes…


Le poids de l’éditeur, le choc du plébiscite

La plupart des langages populaires ont été plébiscités par de grandes entreprises : Google avec Go, Microsoft avec C# ou TypeScript, JetBrains avec Kotlin, Mozilla avec Rust, ou Sun avec Java. La chute perpétuelle du Java est d’ailleurs liée au désintérêt flagrant de son actuel propriétaire, Oracle, et du manque de confiance – plutôt justifié – que lui octroient les développeurs. Le succès d’un langage ne dépend donc pas que de sa syntaxe ou de sa puissance dans tel ou tel domaine applicatif, mais aussi de la communauté de développeurs voulant l’adopter, de la qualité du ou des EDI (Environnement de développement intégré), des bibliothèques de code, des outils, de l’ouverture – open-source ou non, et si oui, quelle licence ? – ou de la documentation existante.


Classement Github

Le développeur et blogueur Ben Frederickson a dressé un classement de la popularité des langages de programmation en se basant sur le nombre de personnes les utilisant sur les plates-formes d’hébergement de code – en particulier sur GitHub. Il s’est servi pour cette analyse des projets GitHub Archive et GHTorrent comme sources de données. Les données traitées remontent sur sept années, ce qui lui a permis de montrer l’évolution des différents langages de programmation au fil du temps. Il a pu ainsi faire le classement de la popularité des langages, mais aussi déterminer les langages de programmation qui vaudrait la peine d’être appris et ceux qu’il faudrait peut-être bien éviter.

Print
10238

x
Rechercher dans les dossiers
Actuellement à la Une...
Il est rare d’avoir pareille réaction de la Cnil. Le gendarme des données personnelles s’est fendu de plusieurs tweets visant à recadrer Christian Estrosi, alors que celui-ci affirmait avoir obtenu l’autorisation de la Cnil pour tester la reconnaissance faciale à Nice… sauf que, depuis l’entrée en vigueur du RGPD, le régulateur ne délivre plus d’autorisation préalable à la mise en place de dispositifs biométriques.

Le géant de Mountain View met la main sur une startup israélienne, Alooma. Cette jeune enterprise est spécialisée dans l’intégration de données de sources multiples vers un seul et unique entrepôt.

Apple a corrigé le bug permettant à un utilisateur d’entendre son interlocuteur avant que celui-ci ne décroche. Toutefois, le correctif semble apporter son lot de problèmes, dont des restrictions vraisemblablement volontaires de la part de la marque à la pomme.

L’éditeur britannique s’empare d’une société spécialisée dans la détection de menaces, ou ...

C’est une amélioration importante et attendue qui débarque dans la version 1903 de Windows 10 pour Windows Subsystem for Linux. Il sera désormais possible d’accéder à des fichiers Linux par le biais de l’explorateur Windows, et même de les copier/couper/coller/ouvrir avec par le biais du menu contextuel natif.

L’éditeur d’une base de données multi modèles vient de lever 60M$ auprès de ses investisseurs historiques et de Francisco Partners.

Le fournisseur de stockage en Flash élargit son offre avec des possibilités de backup étendu vers le Cloud et de nouveaux matériels profitant de la technologie NVMoF (NVMe over Fabric).

Le HPE Edgeline EL8000 Converged Edge System est un système conçu pour aider les fournisseurs de services de communication (Communication Service Providers - CSP) à proposer des services de traitement de données intensifs, avec de faibles latences, à destination des applications de diffusion d’informations, de mobilité connectée et de Smart Cities. 

Rien n’est officiel mais il est fort probable que l’opérateur français fasse quelques infidélités à Nokia et Ericsson pour mener des expérimentations 5G avec Samsung. Le Sud-Coréen, bon dernier du Top 5 des équipementiers, entend bien profiter de la méfiance nourrie à l’égard de Huawei pour avancer de quelques places.

C’est un coup dur que vient de porter au lobby américain son allié de toujours, le Royaume-Uni. Le National Cyber Security Center estimerait en effet que les risques posés par l’équipementier chinois peuvent être atténués, n’abondant donc pas dans le sens des Etats-Unis qui accusent Huawei d’être à la solde de Pékin.

Toutes les News

LIVRES BLANCS

Pour gérer le risque informationnel et permettre à l'entreprise d'aller de l'avant, vous avez besoin d'une stratégie solide et d'un plan d'ordre en marche. RSA a développé ce livre blanc comme aide sur ces deux besoins. Il vous guide pas à pas pour mettre en place un programme de gestion des risques, basé sur des principes GRC éprouvés.


Plus facile à déployer et plus économique, découvrez le meilleur de la virtualisation et du PC dans un poste de travail de nouvelle génération.


Plus l'entreprise se numérise, plus le risque d'interruption s'accroît. Plus les architectures informatiques se complexifient (services de clouds publics et plateformes hybrides, mondialisation, personnalisation des TI...), plus les reprises après sinistre deviennent difficiles et coûteuses. Face à de tels enjeux, il est essentiel de se demander si l'approche traditionnelle, basée sur les reprises après sinistre, est encore véritablement appropriée.

Ce livre blanc passe en revue toutes les composantes et propose une approche originale pour ne plus subir d'interruption de services.


Avez-vous le contrôle de vos données Office 365 ? Avez-vous accès à tous les éléments dont vous avez besoin ? À première vue, la réponse est en général « Bien sûr » ou « Microsoft s’en occupe ». Mais à bien y réfléchir, en êtes-vous sûr ?


Tous les secteurs industriels dans le monde sont confrontés à des défis informatiques spécifiques qui conditionnent le succès ou l’échec de l’entreprise.


Tous les Livres Blancs