2021 : quelques tendances pour la nouvelle année

Par:
francoistonic

mar, 05/01/2021 - 14:15

2020 a été marquée par 9 mois de crise Covid qui n’est toujours pas maîtrisée en Europe, et ailleurs dans le monde. Pour 2021, qu’est-ce que l’on peut espérer pour les technologies et les développeurs ? Voici une sélection de tendances, de tops et de flops de la rédaction de Programmez!.

Janvier démarre assez lentement côté technologie. La fin d’année avait été mouvementée et riche en annonces. Retenons pour les premiers jours de 2021 :

- la fin définitive de Flash après 10 ans d’attente :-)

- le hack du code source de Windows sur des serveurs de Microsoft

Reprise des recrutements de développeurs ?

Le confinement du printemps avait fortement freiné le marché. On notait des reports de recrutements, des stages et alternances plus difficiles à trouver. Et certaines entreprises ajustèrent les équipes techniques, notamment en arrêtant les missions avec des développeurs free-lances. L’autre problème est venu de l’arrivée des nouveaux diplômés et formés sur le marché de l’emploi alors que d’autres cherchaient un poste. Cette situation entretenait une certaine confusion. Cet été, nous avons vu la relance de certains recrutements, mais cela se heurta à un confinement plus léger en automne. D’autre part, le télétravail a transformé certaines pratiques et des salariés ne voulaient pas revenir dans les locaux… 

Mais les entreprises ne pourront pas reporter les recrutements et les projets durant x mois. On peut s’attendre à une relance des recrutements dans les prochaines semaines. Si aucune nouvelle crise Covid ne survient, la situation devrait s’améliorer d’ici le printemps. Reste à voir les conditions et comment les stages et alternances pourront repartir. 

Kotlin, Swift, Rust : un trio à surveiller !

Aucune surprise ! Nous voyons la confirmation de Kotlin côté Android et Swift sur iOS et macOS. Aucune surprise à avoir. Ces langages vont continuer à prendre de l’importance par rapport à Java et à Objective-C. Rust sera-t-il LE langage marquant de 2021 ? Il a fait parler de lui en 2020. Et nous avons publié un long dossier dans le n°244 de Programmez!. Il ne remplacera pas les langages actuels, mais son engouement actuel devra se confirmer, surtout si les géants technologiques transforment les annonces de 2020. 

Soyons aussi pragmatiques. Rust est encore un langage récent même si sa maturité est plutôt rapide. Mais d’ici 3-4 ans, il pourrait faire parti du top 10 des langages références. Pour le moment, les compétences Rust sont quasi inexistantes dans les recrutements, mais n’hésitez pas à investir une partie de votre veille technologique. 

Sur Swift et Kotlin, à voir si ces langages sauront devenir crédible en dehors de leurs systèmes cibles. Nous pensons notamment sur desktop. 

Quels changements côté JavaScript ?

Là encore, aucune surprise ! JavaScript continuera à une des valeurs fortes du développement et des compétences recherchées. On peut s’attendre à de multiples nouveaux frameworks JS même si finalement, seule une poignée est réellement utilisée. React, Angular, Vue.js continueront à dominer. Cependant, des frameworks légers pourraient aussi titiller les frameworks « historiques ». Svelte pourrait accentuer sa présence. 

Mais il faudrait que certains frameworks puissent se stabiliser et éviter des mises à jour trop rapides. C’est l’un des défauts d’Angular par exemple. 

Côté JS serveur, on a parlé de Deno comme d’une alternative à Node. Pour le moment, Deno doit compléter sa couverture fonctionnelle et améliorer la v1.x. Que ce projet suscite un intérêt est une chose, vouloir remplacer Node en est une autre. Reparlons-en dans 18 mois. 

Java, Flutter, C#, C++

Nous ne voyons pas beaucoup d’évolutions pour Java, C# et C++. Java évolue désormais tous les 6 mois et surtout, plusieurs projets, tels que Quarkus, donnent à ce langage une place dans le cloud. Java continue à vivre sa vie. Pour rester d’actualité, il ne doit pas rester immobile . Il a raté le smartphone, l’IoT mais en entreprise, il reste une plateforme de production. C++ évolue aussi, la version C++ 20 apporte d’importantes nouveautés. Le C++ Modern a redonné une belle vigueur à ce langage. Il est loin d’être mort comme on a voulu le croire. Il reste incontournable dans l’optimisation logicielle et de nombreux domaines. 

Flutter pourrait être un des incontournables de 2021, surtout, si Google sort et stabilise Flutter pour web et desktop. L’environnement promet beaucoup, surtout si ça disponibilité mobile, web, desktop se concrétise réellement. À suivre de près !

Python

2021 ressemblera à 2020 : multiplication des formations et des offres d’emploi. Le langage est devenu incontournable dans le Machine Learning, l’IA. Il est aussi utilisé dans la découverte à la programmation. Le point positif est un rythme d’évolutions plus soutenues, à l’instar d’autres langages. Mais attention à ne pas nuire à sa stabilité qui en fait une de ces forces. 

Développement mobile

Sauf énorme surprise, 2021 ressemblera aux années précédentes : Java, Objective-C, Kotlin, Swift, avec du C++. À cela se rajoutent les frameworks JS ou encore Flutter. Cordova / PhoneGap ne sont plus à considérer comme des solutions viables. Xamarin ? Depuis son rachat par Microsoft, la plateforme n’a pas su trouver sa place, pire, elle a tendance à perdre de son intérêt. Flutter a su profiter du flottement côté Microsoft. Xamarin va se fondre dans .Net avec la future v6 prévue pour cet automne. 

À surveiller : ARM, Docker, CentOS, Apple Silicon

2020 a été marqué plusieurs grosses annonces : le rachat de ARM par Nvidia par 40 milliards, Kubernetes qui passe d’un runtime Docker à un runtime CRI, Apple qui introduit la première machine avec des processeurs ARM internes pour remplacer les puces Intel, la polémique autour de la fin de CentOS par Red Hat. Concernant Kubernetes et le runtime Docker au profit d’un autre runtime de conteneurs, cela ne va pas changer fondamentalement beaucoup de choses ! Une polémique commençait à apparaître ici et là, mais en réalité, pour l’exploitation et les développeurs, peu de choses changeront. CentOS est un peu plus délicat, car Red Hat met fin à CentOS au profil de CentOS Stream qui n’offrira pas le même niveau fonctionnel. Une alternative avait été annoncée dans la foulée de l’annonce de Red Hat, Rocky Linux. Mais pour le moment, ce projet est surtout une coquille qu’il faut remplir. À suivre.

Apple a concrétisé la fin des processeurs Intel d’ici à 2 ans sur les Mac. Les premiers modèles équipés de processeurs Apple (architecture ARM) sont disponibles. Les premiers modèles montrent tout le potentiel de ces processeurs et la marge de progression semble importante. Pour Intel, Apple n’était pas le client le plus important, mais l’impact psychologique n’est pas anodin. Depuis plusieurs années, Intel a du mal à faire évoluer de manière significative ses puces et les failles découvertes au coeur même de plusieurs processeurs ont terni l’image du fondeur. Les concurrents et les architectures ARM ont énormément progressé et proposent des processeurs et des gravures plus performants. Intel résiste bien sur plusieurs marchés clés (serveurs, datacenters), mais le fondeur devra se réinventer pour rester incontournable. 

Technologie responsable, sécurité

Plus que jamais, la technologie doit se responsabilité : mieux recycler notamment les terres rares, lutter contre l’obsolescence programmée et amélioration la réparabilité des matériels, être moins consommatrice d’énergie. Ce n’est pas une tendance nouvelle. Mais trop longtemps, le développeur a été oublié ou marginalisé. Le développeur a toute sa place dans l’écoconception. Seuls les développeurs peuvent réduire l’obésité actuelle des logiciels, des services en ligne qui consomment les ressources (mémoire, stockage, réseau, énergie). L’utilisateur ne rend pas toujours compte que le moindre service, site web consomme de la ressource serveur. L’informatique dématérialisée a biaisé cette perception. 

Si le développeur fait parfois mal les choses, souvent par facilité, aux éditeurs, aux entreprises de mieux prendre en compte l’écoconception : réduire le code source, optimiser les assets techniques, mieux structurer le code, etc. Aux langages, frameworks, outils de montrer l’exemple. Est-ce raisonnable d’exiger 1 Go de RAM pour exécuter un malheureux Hello world ? L’obésité des logiciels pose un défi. Aujourd’hui, les OS, les logiciels les plus courants comportent des dizaines de millions de lignes de codes, la rétrocompatibilité pèse, en partie, sur cette obésité. Les utilisateurs et éditeurs ont leur responsabilité dans cette course à la fonctionnalité, à la nouvelle version. Mais cette obésité a été aussi facilitée par les ressources toujours plus importantes des machines et portables ! Pour 2021, les choses bougeront peu sur ce front, mais il faudrait tout de même une plus grande sensibilité des développeurs et une généralisation des bonnes pratiques. 

Sur la sécurité, 2020 et le début de 2021 ont été marqués par plusieurs actions d’envergures. Malheureusement, le hacking, le phishing et autres malwares / ransomwares auront toujours une vie vivacité en 2021. Le développeur peut aider à améliorer la sécurité même s’il n’est qu’un des maillons. Le secure by design ne doit plus être une option de développement. Le développeur peut et doit réduire la surface d’attaque. Le top 10 de l’OWASP montre encore et toujours des failles qui ne devraient plus exister, mais qui font toujours la joie des hackers. Vive l’injection de codes ! Espérons que 2021 soit une année de sensibilité des développeurs à la sécurité et aux bonnes pratiques pour réduire les failles. Mais les DSI et les entreprises doivent aussi prendre leurs responsabilités. 

La rédaction vous présente ses meilleurs vœux pour 2021 !

François Tonic

Commentaires