La vie des informaticiens consiste à apprendre différents langages de programmation et technologies. Et si certains sont des valeurs sûres comme l’or ou le dollar, d’autres sont volatiles comme l’Ethereum. Au delà d’apprendre un langage parce qu’il nous plait, c’est important de savoir si on va trouver du travail avec.
Cet article s’adresse également aux recruteur•ses qui rédigent leurs annonces. Les opérationnels vous ont balancé une liste de mot clef pour votre GEPP ? Difficile d’en faire une annonce ou un plan de formation ? Pas de soucis, on vous explique tout.
On a regardé plein de classements comme celui de Github par exemple. Et puis on s’est rappelé de toutes les technos qui sont mentionnées dans les milliers d’annonces en ligne sur WeLoveDevs au fil des mois. Et on a aussi considéré que certains langages qui ne sont pas sur Github sont quand même un bel accès à l’emploi. On a aussi considéré que les métiers de dev, ops, data sont de plus en plus mélangés et les fiches de postes demandes des compétences hybrides (Java, Spark et R). Et enfin, on a ajouté une touche d’opinion et d’impertinence. Parce que c’est un article assez long, un soupçon d’humour vous aidera à garder l’attention. C’est parti pour 23 langages à connaître ou pas en 2024.
JavaScript a été écrit par Brendan Eich en 1995. Il travaillait alors pour Netscape et il avait appelé le produit LiveScript. Netscape commercialisait les premiers navigateurs pour le grand public, mais aussi les premiers serveurs HTTP supportant TLS (“HTTPS”) et ils cherchent à ajouter un nouveau produit à leur gamme.
Ils décident d’appeler le langage JavaScript parce qu’ils sont partenaires avec Sun Microsystems qui est l’éditeur de la machine virtuelle Java. Même si JavaScript est présenté comme un complément à Java, les deux langages et technologies n’ont rien à voir.
Aujourd’hui, avec Node.js (et même Bun.sh) on peut développer des serveurs complets en JavaScript. La technologie est présente sur 95% des sites webs, et a permis de transformer une page web HTML/CSS en une application cliente plus ou moins lourde (de AJAX aux PWA en passant par les SPA).
Le langage JavaScript est très facile à apprendre et ne nécessite pas d’outils complexes. Pas besoin de compilateur ou d’IDE, votre navigateur permet déjà de faire du JavaScript.
Tous les développeurs sont amenés à l’utiliser dans leur carrière. En effet, un développeur dont le backend est conçu avec DotNet, PHP, Ruby ou même Kotlin peut être amené à utiliser JavaScript dans son client Web.
Cependant, les développeurs fullstack JavaScript (Node/Angular ou Node/React par exemple) on eu moins d’opportunités d’emploi en 2023. Ils sont très populaires dans les Startups de petite ou grande taille, qui ont moins recruté que précédemment.
Javascript reste un indispensable pour tous les développeurs en 2024. La communauté open-source, soutenue par la fondation OpenJS, offre de nombreuses librairies sur NPM et énormément de ressources pour adopter la technologie.
Python est né en 1991, et il est aujourd’hui particulièrement utilisé dans le monde de la Data. Et il y a plusieurs bonnes raisons à ça. La première, c’est que le néerlandais Guido van Rossum, son auteur bénévole, a été employé par Google pendant 7 ans, pour travailler sur Python. Et comme Google est un énorme contributeur dans le monde de l’apprentissage machine, du Data Mining ou de l’intelligence artificielle, il y a beaucoup d’outils Data qui supportent Python comme premier citoyen. Je pense aussi bien à TensorFlow qu’à Spark d’Apache. Il dispose de librairies puissantes comme SciKit.
Il est également populaire dans les systèmes embarqués, parce que c’est un langage de script, il a beaucoup d’avantage par rapport à Bash ou shell sur un Raspberry PI. Il est aussi très utilisé sur le Web, avec le framework Django qui donne une bonne expérience aux développeurs comme Laravel ou Ruby On Rails.
Python est un langage interprété, il peut donc être utilisé sur toutes les machines. Il est multi-paradigme et permet de faire de la programmation orientée objet ou fonctionnelle. Ce qui est très caractéristique de Python c’est que son indentation fait partie de la syntaxe.
Il n’y a donc pas de mot-clé pour finir les blocs. Et il n’y a qu’une seule façon d’indenter un même code. C’est beau. Son nom est bien inspiré des Monthy Python. La communauté parle donc beaucoup de Spam and Eggs. On raconte cette histoire dans l’origine du mot “Spam”.
En 2024, Python devient incontournable pour deux bonnes raisons. La première, c’est que l’écosystème est enfin passé à la version 3. La version 3 est disponible depuis longtemps, mais beaucoup de librairies étaient resté coincées sur la version 2 et la communauté a mis du temps à tout réécrire. Python peut être utilisé pour un spectre d’applications en entreprise très large. Et il reste le langage préféré des professionnels de la Data. Aussi, les entreprises qui investissent sur l’intelligence artificielle adoptent Python comme langage cœur de métier.
TypeScript est jeune, il est né en 2012. Et pourtant, c’est un enfant génie, le Mozart des technos, qui a 11 ans écrit des programmes métiers symphoniques.
Il a été créé par Anders Hejsberg qui est l’un des principaux inventeurs du C#. C’est un transpilateur pour le JavaScript. C’est-à-dire que son code est ensuite transformé en JavaScript pur jus, qui sera interprété par votre machine virtuelle préférée. Il apporte un typage fort et un paradigme objet qui est familier pour les développeurs d’applications métier en Java. Et pour autant, c’est un sur-ensemble syntaxique du JavaScript. Du coup, les développeurs JavaScript l’adoptent facilement.
Si au début TypeScript était vu comme un énième langage pour le web aux côtés de CoffeeScript ou de Dart par exemple. Il est devenu aujourd’hui incontournable dans le monde du web professionnel. Il est facile à adopter à partir du moment où l’application web a une usine logicielle (Webpack, Rollup, Vite). Il n’est pas nécessaire de réécrire tout le code, il est possible d’ajouter des définitions TypeScript sur certaines parties du code et de réécrire le JS en TS au fur et à mesure.
TypeScript est indispensable en 2024 pour les développeurs Web et les développeurs d’applications métier. Il permet de maintenir plus facilement de larges bases de code. L’outil est maintenu par Microsoft sous licence libre et open source. Il évolue aussi vite que les technos web et a montré sa fiabilité pour les entreprises, aussi bien que pour les hobbyistes.
Java, créé par James Gosling chez Sun Microsystems en 1995, est un langage de programmation orienté objet. Conçu pour la flexibilité, sa devise « Écrire une fois, exécuter partout » grâce à la machine virtuelle Java (JVM) assure sa portabilité sur différents systèmes d’exploitation. Initialement destiné aux appareils électroniques, Java s’est imposé dans le développement web, mobile et d’entreprise, valorisé pour sa robustesse et sa sécurité. Sa création marque un tournant dans l’informatique, offrant une plateforme unifiée aux développeurs du monde entier.
Par contre, à chaque réunion de famille, Java, c’est l’ancien. Dans la JVM, il est concurrencé par Kotlin, Scala, Groovy. Depuis quelques années, Java évolue plus vite. Il y a deux nouvelles versions par an. L’écosystème de développement s’est beaucoup modernisé, notamment par l’action d’éditeurs ou de communautés comme Spring et Quarkus.
En 2024, Java redevient le chef de file. Quentin Adam sur le Podcast ifttd fait le constat que le langage a pas mal rattrapé son retard. Les développeurs Java sont redevenus des chefs de file dans le monde du développement.
Kotlin est un langage de programmation moderne, conçu par JetBrains et officiellement lancé en 2011. Conçu pour être totalement interopérable avec Java, Kotlin s’adresse aux développeurs qui cherchent à améliorer leur productivité et la qualité de leur code. Kotlin se distingue par sa syntaxe concise, ses fonctionnalités de sécurité avancées, telles que la gestion intégrée des valeurs null, et son support pour la programmation fonctionnelle et orientée objet. C’était une révolution à l’époque de pouvoir faire du code qui sera plus sûr à l’exécution. Et c’est facile de l’adopter parce qu’il est familier pour les développeurs et développeuses Java, tout en reposant sur le même environnement de développement et de production.
Son adoption a été significativement boostée en 2017 lorsque Google l’a annoncé comme langage de premier choix pour le développement d’applications Android. Ce qui est cohérent parce qu’Android Studio, l’IDE pour Android est développé par JetBrains, l’éditeur de Koltin. Le langage est aujourd’hui largement utilisé pour le développement d’applications mobiles, web, de serveurs, et même pour le développement de logiciels embarqués. L’apprendre en 2024 est toujours pertinent, il ne sera pas remplacé par un concurrent avant quelques années !
C#, prononcé « C Sharp », est un langage de programmation moderne orienté objet, développé par Microsoft dans le cadre de son initiative .NET au début des années 2000. Conçu pour être à la fois puissant et polyvalent, C# combine la robustesse de C++ avec la facilité d’utilisation de Visual Basic. C# se distingue par sa syntaxe claire, son soutien robuste pour le paradigme orienté objet, ainsi que pour la programmation fonctionnelle et asynchrone. Il intègre également des fonctionnalités de gestion automatique de la mémoire et de sécurité de type, réduisant les erreurs courantes de programmation.
Avec un écosystème riche, incluant l’environnement de développement intégré Visual Studio, C# reste un choix moderne. Il est particulièrement apprécié pour le développement d’applications Windows, web, et maintenant, grâce à .NET Core, pour les applications multiplateformes incluant Linux et macOS.
Beaucoup d’entreprises font reposer leurs DSIs sur les technologies Microsoft, Windows et Azure. Aussi, elles développent des applications avec .Net et C#. C’est un langage qui peut vous emmener pour travailler dans le bancaire, au Luxembourg ou dans l’industrie partout en France.
C++ est un langage de programmation polyvalent à usage général qui supporte les paradigmes de programmation procédurale, orientée objet et générique. Créé par Bjarne Stroustrup et introduit dans les années 1980 comme une extension du langage C, C++ combine la puissance et la flexibilité du C tout en offrant des fonctionnalités avancées telles que les classes, l’héritage, les modèles et le polymorphisme. La standardisation du C++ par l’ISO garantit sa portabilité et son évolution continue, avec des mises à jour régulières qui enrichissent le langage de nouvelles fonctionnalités tout en conservant une compatibilité ascendante.
Ces caractéristiques permettent aux développeurs de créer des systèmes complexes et performants. C++ est reconnu pour son efficacité et son contrôle précis sur les ressources système, ce qui en fait un choix privilégié pour les applications critiques en termes de performances. Par exemple, un système de trading haute fréquence sera sûrement développé en C++. Les jeux vidéos sont souvent en C++ : on fait souvent remarquer que le défaut de Minecraft est d’être fait avec Java.
Depuis quelques années, C++ est concurrencé par Rust. Cependant, les compétences sur ce language restent rares et chères. Il est difficile de monter en compétence et de développer une expérience significative sur cet environnement.
PHP est un acronyme récursif : « PHP: Hypertext Preprocessor ». C’est un langage de script open-source conçu principalement pour le développement web. Créé par Rasmus Lerdorf en 1994, PHP a évolué pour devenir l’un des langages de programmation côté serveur les plus utilisés sur le web. Il permet aux développeurs de créer des pages web dynamiques interactives, de manipuler des données de base de données, de réaliser des opérations de fichiers, et de gérer les sessions utilisateurs. PHP se distingue par sa facilité d’intégration avec de nombreux systèmes de gestion de base de données, ses vastes bibliothèques de fonctions et son support pour divers protocoles web. Il fonctionne sur presque tous les systèmes d’exploitation et serveurs web, ce qui le rend extrêmement versatile.
PHP ferait tourner plus de 80% du web. Et c’est grâce à des CMS très faciles à déployer : WordPress, Drupal, Magento. Mais aussi grâce à des frameworks comme Symfony et Laravel.
Même si beaucoup prédisent la fin de PHP depuis des décennies, c’est un langage qui reste populaire et fait travailler beaucoup de personnes sur des sites à fort trafic. Il est particulièrement populaire en France et à Montréal. C’est le langage de choix pour beaucoup de développeurs web qui rejoignent le marché chaque année.
C est un langage de programmation impératif de bas niveau créé au début des années 1970 par Dennis Ritchie pour le développement du système d’exploitation UNIX. En tant que l’un des langages de programmation les plus anciens encore largement utilisés aujourd’hui, C est fondamental pour la compréhension de l’informatique moderne. Il est conçu pour offrir aux programmeurs un contrôle précis sur la gestion de la mémoire et les opérations matérielles, ce qui le rend idéal pour le développement de systèmes embarqués et de logiciels de bas niveau. Arduino par exemple utilise le C en premier lieu. Beaucoup de librairies GNU sont développées en C.
Malgré sa courbe d’apprentissage plus abrupte due à sa gestion manuelle de la mémoire et à sa syntaxe moins permissive, C reste incontournable dans les domaines nécessitant des performances optimales et une interaction directe avec le matériel.
Il est très peu probable que le C soit le pré-requis au prochain poste qui vous intéressera. Cependant son apprentissage contribuera à votre compréhension générale de l’informatique. La syntaxe de C a influencé de nombreux autres langages de programmation, notamment C++, C#, et Java, faisant de sa maîtrise un atout précieux pour les développeurs.
Shell est un langage de script utilisé pour communiquer avec le système d’exploitation d’un ordinateur, principalement dans les environnements Unix et Linux. Il permet aux utilisateurs d’écrire des scripts pour automatiser des tâches, gérer des fichiers, et exécuter des programmes. Les shells les plus connus incluent Bash (Bourne Again SHell), Zsh (Z Shell), et Fish (Friendly Interactive SHell), chacun offrant des fonctionnalités uniques comme la complétion automatique, les alias de commandes, et les interfaces personnalisables. En tant que langage de script, Shell est apprécié pour sa capacité à effectuer des opérations complexes avec des commandes simples, rendant les processus répétitifs plus efficaces et moins sujets aux erreurs.
La maîtrise du Shell est essentielle pour les professionnels de l’informatique, car elle facilite la gestion des systèmes, la programmation de tâches automatisées et la manipulation des processus du système d’exploitation. Cela concerne par exemple un dev qui utilise son terminal pour être plus productif. Shell est aussi la glue, le couteau suisse, des administrateurs système, des DevOps et SRE de nos jours.
Des ingénieurs de Google, dont Robert Griesemer, Rob Pike, et Ken Thompson, ont lancé Go en 2007. Ils cherchaient à simplifier la compilation, gérer efficacement les dépendances et faciliter la programmation concurrente. Avec sa syntaxe concise, Go rend le code facile à lire et à écrire. Son système de types robuste prévient les erreurs courantes. Go combine la performance du C avec l’efficacité de Python. Il est devenu incontournable pour développer des logiciels systèmes, des applications web et des solutions cloud.
Le résultat d’un build Go contient toutes les dépendances nécessaires à son exécution. Il est compact et optimisé. C’est très pratique de le déployer dans un environnement micro-service. Les fonctionnalités natives comme les “Channels” lui permettent de gérer de manière élégante la concurrence.
C’est donc un langage de choix comme alternative à Java dans les environnements métier exigeants.
Sa popularité future est relativement liée à celle de Java. Quand Java n’a pas la cote, Go gagne en popularité. Cependant, il est peu probable qu’il le remplace à l’avenir.
Créé en 1995 par Yukihiro Matsumoto, Ruby se distingue dès ses origines comme un langage de script doté d’un typage dynamique, incarné par le principe du Duck Typing : « Si ça marche comme un canard, alors c’est un canard ». Cette philosophie permet aux développeurs de se concentrer sur la lisibilité du code. Un script en ruby ça doit se lire aussi bien que de l’anglais ou du français ou du japonais.
La popularité de Ruby a grimpé en flèche avec l’introduction de Ruby on Rails par David Heinemeier Hansson en 2004, un framework qui prône la simplicité et la rapidité de développement web avec sa devise « Convention over Configuration ». Ce choix a solidement ancré Ruby dans l’écosystème des startups, en particulier en Californie, où il a symbolisé le développement web agile. Cette communauté a introduit la notion de “Developer Experience”. Ils portaient des t-shirts mentionnant “Tu l’aurais fait en 4h avec Rails” pour provoquer les utilisateurs de Java et PHP.
Toutefois, avec le temps, l’évolution de la technologie a vu l’ascension de JavaScript et Node.js, redéfinissant les préférences en matière de développement web. Dans cette quête d’innovation, une partie de la communauté Ruby s’est orientée vers le framework Phoenix et le langage Elixir, qui favorise une expérience développeur fluide (ce que Node ne fait pas du tout, peut-être que Bun pourra compenser ça ?)
Il y a encore beaucoup de logiciels à maintenir en Ruby et Rails continue d’évoluer. Le besoin en main d’œuvre sur Ruby et Rails reste fort. Cependant, il reste probable que son usage continue de décliner dans le futur.
Apple a introduit Swift en 2014 en tant que successeur d’Objective-C, avec l’ambition de révolutionner le développement sur iOS et macOS. Conçu dès le départ autour de LLVM (Low Level Virtual Machine), Swift se distingue non seulement par sa compilation optimisée, mais aussi par sa sécurité typologique, notamment sa gestion null-safe qui minimise les erreurs d’exécution courantes en Objective-C. Avant Swift, il était très dur de faire des applications avec plus de 85% de sessions sans crash. Cela prend plus de travail de faire une application en Swift. Mais ma première application complètement Swift était à 98% de sessions sans crash.
Objective-C c’était un langage chouette proche du paradigme objet en SmallTalk. Mais franchement pour les développeurs nés après la première version de C++ c’était compliqué de l’apprendre. Swift est moderne, attractif, facile à apprendre. Et ça a vraiment amélioré l’expérience des utilisateurs d’applications iOS.
Swift sera toujours indispensable pour faire des applications iPhone natives. Il lui est possible aujourd’hui de faire des applications macOS et même des applications serveur grâce à Vapor. Si vous avez un mac, faites un tuto avec Swift (par exemple sur RayWenderlich), vous aurez des résultats satisfaisant rapidement.
Développé par Martin Odersky en 2003, Scala combine les paradigmes fonctionnel et orienté objet dans un langage concis et puissant sur la JVM (Java Virtual Machine). Il offre une alternative élégante à Java, avec un typage statique fort pour une détection précoce des erreurs et une syntaxe expressive qui facilite la construction de systèmes complexes.
Scala tire parti de frameworks comme Akka et Play pour encourager une programmation robuste et scalable, s’avérant idéal pour les applications web et le traitement de données en temps réel. Sa communauté active et les bonnes pratiques qu’elle promeut rendent Scala un choix attrayant pour moderniser et améliorer la productivité dans le développement logiciel.
Est-ce que c’est pertinent d’apprendre Scala en 2024 ? Probablement pas. Former un développeur Scala nécessite de lui apprendre le paradigme fonctionnel. Son apprentissage est fini lorsqu’il pense à des monades au quotidien, même en faisant les courses chez Lidl. C’est donc beaucoup trop compliqué pour recruter des volumes conséquents de personnes. Scala est donc de moins en moins populaire.
Pour les développeurs backend, SQL est incontournable. Il est souvent nécessaire de maîtriser les jointures et les modèles de données relationnels, mais aussi de savoir interpréter les Modèles Conceptuels de Données (MCD).
Il est très courant pour autant d’utiliser des ORM (Object-Relational Mapping) pour simplifier les intéractions avec la base de données. Même si les ORMs proposent une abstraction, il est quand même nécessaire de comprendre le SQL qui y est sous-jacent. On note également que les SGBDR, le Systèmes de Gestion de Base de Données Relationnelles sont de plus en plus concurrencés par les systèmes NoSQL. On peut noter qu’avec la popularisation des architectures Micro-services il est courant que les serveurs échangent avec des queues de messages (Kafka, RabbitMQ) ou qu’ils accèdent à des flux de données (WebSocket, REST ou GraphQL).
SQL reste une compétence de base pour les développeurs Web. MySQL est le meilleur ami des CMS PHP, pendant que PostgreSQL mange le monde.
En 2024, dire qu’apprendre HTML est essentiel revient à rappeler l’importance de connaître les règles de base de la grammaire avant d’écrire un roman. Créé dans les années 90 au CERN par Tim Berners-Lee, HTML est le squelette de l’Internet, structurant le contenu web avec la rigueur et la précision des horlogers suisses. C’est la base, descriptive et fondamentale, sans laquelle les sites web resteraient de simples idées éthérées.
HTML est crucial, pas pour son caractère flamboyant, mais pour sa capacité à structurer de manière intelligible le contenu web. HTML5 a enrichi ce langage de balisage avec de nouvelles fonctionnalités, rendant possible l’intégration native de médias et d’éléments interactifs. C’est le terrain de jeu initial sur lequel le Document Object Model (DOM) prend vie, transformant le code statique en expériences web dynamiques. Le DOM, une représentation programmable des données contenues dans un document HTML, permet aux développeurs de manipuler la structure, le style et le contenu des sites web après leur chargement initial, ouvrant la voie à une interactivité riche et à des applications web sophistiquées.
CSS en 2024, c’est bien plus que des règles de style ; c’est un écosystème enrichi par des outils comme Bootstrap et Tailwind CSS, qui facilitent la création de sites élégants et réactifs. Mais jetons un œil dans le rétroviseur : il fut un temps où Sass et SCSS étaient les héros méconnus du développement web, offrant des variables, des boucles et des mixins pour étendre les capacités de CSS. Aujourd’hui, l’évolution de CSS a absorbé bon nombre de ces fonctionnalités avancées, rendant ces préprocesseurs moins indispensables. C’est le cycle naturel de la technologie, où l’innovation d’hier pave la voie au standard de demain.
L’importance de CSS aujourd’hui réside dans sa simplicité et son accessibilité, renforcées par l’intégration native de fonctionnalités qui nécessitaient autrefois des outils supplémentaires. Le déclin relatif de Sass et SCSS n’est pas une fin, mais un témoignage de la maturation de CSS, qui est devenu plus puissant et directement applicable. Dans cet univers web en constante évolution, maîtriser CSS signifie non seulement connaître ses règles et ses frameworks, mais aussi comprendre son histoire et son évolution vers une écriture de style plus efficace et intégrée.
NoSQL est un terme parapluie qui englobe une diversité de bases de données conçues pour outrepasser les limites des systèmes relationnels comme la BigTable de Google. Sauf qu’aujourd’hui, la majorité des développeurs et des applications n’ont pas besoin des contraintes d’un SGBD Relationnel. Des outils, comme MongoDB, Firebase, et Supabase, répondent à une variété de besoins, des projets de hobbyistes aux applications d’entreprise. La flexibilité de NoSQL permet une gestion des données plus libre et adaptée aux exigences modernes de développement rapide. Aujourd’hui, choisir NoSQL, c’est surtout choisir un chemin plus court vers la production. En particulier quand on sait que le contexte métier est encore à découvrir et que le schema va être amené à évoluer régulièrement.
GraphQL, introduit par Facebook en 2015, représente une évolution significative dans la manière dont les applications communiquent avec les serveurs de données. Conçu comme une alternative aux API REST traditionnelles, GraphQL permet aux clients de demander exactement ce dont ils ont besoin, ni plus ni moins, résolvant ainsi les problèmes de sur ou sous-fetching de données.
Tant qu’à partir sur une stack exotique, autant combiner GraphQL et NoSQL pour un maximum de fruit et de fun.
Rust, un langage de programmation système lancé en 2010, est devenu un acteur incontournable dans le paysage du développement moderne. Sa promesse de sécurité mémoire sans garbage collector, combinée à une performance équivalente à celle du C++, a séduit une large communauté de développeurs. Rust s’attaque aux problèmes de concurrence et de sécurité mémoire qui ont longtemps été des écueils pour les langages systèmes traditionnels, offrant ainsi une solution robuste pour le développement d’applications nécessitant une haute performance et une fiabilité sans faille.
Ce qui distingue Rust, c’est son système de propriété unique, conçu pour prévenir les bugs de segmentation mémoire et les conditions de course à la compilation plutôt qu’à l’exécution. Cette approche préventive permet aux développeurs de construire des logiciels plus sûrs et plus efficaces, réduisant le coût et le temps consacrés au débogage et à la maintenance.
L’utilisation de Rust s’est étendue bien au-delà de ses racines système pour embrasser le développement web, le cloud computing et même l’embarqué, grâce à sa capacité à générer du code performant et sûr. Des projets ambitieux, comme le moteur de navigateur Servo de Mozilla, démontrent la capacité de Rust à alimenter des technologies de pointe.
Apprendre Rust est aussi utile qu’apprendre C++. Vous n’êtes sûrement pas concerné. Mais c’est fun et excitant.
Perl, créé par Larry Wall en 1987, a longtemps été le couteau suisse du développement web et de l’automatisation des tâches système grâce à sa flexibilité et sa puissance. Connu pour sa devise « Il y a plus d’une façon de faire les choses », Perl a offert aux développeurs une liberté sans précédent dans la manière d’écrire leurs scripts, favorisant une approche pratique et parfois artistique de la programmation. Ce langage de programmation interprété a brillé dans le traitement de texte, l’extraction de données, et la génération de rapports, devenant un pilier dans les premiers jours du web pour le développement CGI (Common Gateway Interface).
Toutefois, à l’ère de 2024, Perl est souvent perçu avec une certaine nostalgie, comme un vestige d’une époque révolue où les scripts étaient rois. Bien que sa communauté reste active et dévouée, avec des mises à jour régulières et le maintien de CPAN (Comprehensive Perl Archive Network), une impressionnante collection de modules Perl, le langage fait face à une concurrence accrue de la part de nouveaux venus plus modernes et spécialisés.
Perl, c’est vraiment le langage du legacy qui est très encombrant et attachant. C’est pour ça que j’ai appellé mon chien PERL. Elle fait 42 kg, elle a beaucoup de poil et tout le monde veut lui faire des calins. C’est une golden dorée. Tu as la photo ? Super, ben c’est pareil pour le langage. Quand il est pas là on remarque tout de suite qu’il y a moins de ménage à faire aussi. Pareil je te dis.
Aborder Cobol, ABAP, AS/400, et z/OS en 2024, c’est comme ouvrir un livre d’histoire sur la technologie, mais avec une twist : ces technologies, considérées par beaucoup comme des vestiges d’une ère révolue, continuent de jouer un rôle crucial dans l’infrastructure globale de l’IT, en particulier dans des secteurs comme la banque, l’assurance, et la logistique.
Cobol, créé dans les années 1950, est le dinosaure bien-aimé de la programmation, célèbre pour sa robustesse et sa fiabilité dans le traitement des transactions commerciales. Malgré les prédictions répétées sur sa disparition, Cobol gère toujours une part significative des transactions financières mondiales, une testament à sa durabilité et à l’importance de la maintenance des systèmes existants.
ABAP (Advanced Business Application Programming) est le langage de programmation propriétaire de SAP, conçu spécifiquement pour les applications d’entreprise. Bien que l’écosystème SAP explore de nouvelles technologies, ABAP reste essentiel pour personnaliser et étendre les fonctionnalités des systèmes ERP SAP, soulignant le besoin d’experts capables de naviguer dans cet environnement spécialisé.
AS/400 (rebaptisé IBM iSeries) et z/OS représentent deux piliers de l’informatique d’entreprise, offrant des environnements stables et sécurisés pour des applications critiques. AS/400, avec sa réputation de fiabilité et de facilité de maintenance, continue de soutenir des applications d’entreprise à travers le monde. De son côté, z/OS alimente les mainframes IBM, des machines puissantes conçues pour des volumes élevés de transactions et de données, essentielles dans les opérations des grandes entreprises.
En 2024, l’intérêt pour Cobol, ABAP, AS/400, et z/OS n’est pas tant nostalgique qu’économique et pratique. Leur maintien et leur développement exigent une expertise spécifique, souvent en pénurie. C’est pour ça que beaucoup de reconversions passent par ces systèmes. Ce sont de vraies portes d’entrées sur le numérique. Faire du zOS en 2024 c’est cool. On en parle avec le CTO de BNP Paribas.
R, introduit dans les années 1990, s’est solidement établi comme le langage de prédilection pour la statistique, l’analyse de données, et la science des données. Sa conception autour de la manipulation de données et son écosystème riche en packages spécialisés le rendent incontournable pour les chercheurs, analystes et scientifiques de données. Cherchant donc à extraire des insights, à visualiser des tendances complexes, et à développer des modèles statistiques avancés. En 2024, R continue de prospérer grâce à sa communauté active qui contribue sans cesse à son développement. En témoignant également de sa capacité à s’adapter et à rester pertinent dans l’univers en rapide évolution de la data science.
La majorité des devs ne connaissent pas R. Mais s’il y a un peu de Data Science dans la pièce, il y a quelqu’un qui l’utilise plus souvent que la machine à café.
Matlab, un langage de programmation et un environnement numérique développé par MathWorks. Il joue un rôle central dans les domaines de l’ingénierie et des sciences appliquées. Depuis sa création dans les années 1980, Matlab s’est imposé comme un outil indispensable pour le calcul numérique, la simulation, et la modélisation. Sa capacité à traiter des matrices, visualiser des données complexes, et implémenter des algorithmes rapidement en fait un allié précieux, notament pour les ingénieurs et les scientifiques. L’enseignement de Matlab dans les écoles d’ingénieur n’est pas un hasard ; il fournit aux étudiants une fondation solide pour la résolution de problèmes techniques et la réalisation de projets de recherche. Grâce à son interface intuitive et à son vaste éventail de boîtes à outils spécialisées, Matlab facilite l’exploration de nouvelles idées. De plus, il accélère le développement de solutions innovantes dans des secteurs allant de l’automobile à l’aérospatiale, en passant par l’électronique et au-delà.
Vous ne trouverez probablement pas Matlab sur une fiche de poste. Mais en secret, vos collègues ingénieur y nourissent une nostalgie et l’ouvrent peut-être parfois. Vous l’aurez lu ici en premier.
Il y a 23 langages de programmation mentionnés ici. On a gardé HTML mais pas le VHDL. Solidity n’est toujours pas dans le Top 20. On l’aurai peut-être mentionné dans un Top 30 ou Top 50. Sur TikTok a une vidéo éponyme vous avez été nombreux à demander Flutter. Je vous rappelle que c’est toujours pas un langage de programmation mais un framework. Le langage associé à Flutter c’est le Dart. Et pareil il est moins populaire que Solidity.
En conclusion, je dirais qu’il n’y a pas de bonne est de mauvaise situation. Les langages sont des outils. L’important c’est la carrière que vous construirez avec. Sauf si votre projet devient Minecraft, éventuellement vous regretterez rarement vos choix. Après c’est évident qu’on fait pas des jeux vidéos avec Java. C’est simple, si vous êtes tout seul à chasser dans cette forêt, c’est probablement qu’il n’y a pas de gibier. C’est pareil, si vous êtes le seul à faire des jeux vidéos en Java, c’est qu’il y a une raison. M’enfin, je répète, l’important c’est le résultat pas les outils.
Dans la vie des informaticiens, les technos sont plus que des outils, ce sont des compétences. Ce sont nos arts dans nos vies d’artisans. Chaque expérience est l’occasion de développer une compétence. Et nos compétences sont plus importantes que nos diplômes. C’est pour ça que sur WeLoveDevs on vous propose de valider vos compétences avec des QCMs. Il y a plus de 3400 questions d’entretien technique qui ont été contribuées par la communauté. Vous êtes des rockstars. Et vous aidez les autres à s’accomplir professionnellement en développant et démontrant leurs compétences techniques.
Bravo et continuez comme ça !
BISOUS 💙Damien
Les maladies inflammatoires chroniques de l’intestin ou "MICI" sont invisibles, mais leurs impacts sur la…
Depuis l'été, j'ai un Pixel qui intègre à la fois un TPU (Tensor Processing Unit)…
On se retrouve dans un nouvel article avec toutes les infos sur cette nouvelle saison…
Pourquoi l’inclusion numérique est essentielle : le point avec Mathieu Froidure. Dans un monde de…
Elles sont passées où les femmes dans la tech ? Entre le manque de représentation…