Retour vers le futur : Devoxx FR 2035

DevoxxFR est le plus gros événement français s'adressant aux développeurs. Le thème de cette année était le futur. A quoi pourrait ressembler notre avenir d’informaticiens ? Le point.

Les 8, 9 et 10 avril 2015, un grand nombre de Sqliens étaient présents pour la 4ème édition de Devoxx France. Le thème de cette année était le futur. Les organisateurs ont voulu nous faire réfléchir à l’informatique dans 20 ans. A quoi pourrait ressembler notre futur d’informaticiens ? Nous les avons donc pris au mot et nous avons fabriqué une machine à voyager dans le temps (à base de Tesla Model S, la DeLorean n’étant plus trop au goût du jour...) pour constater quelles seront les technologies qui feront notre quotidien de développeurs en 2035.

Voici ce que nous avons pu observer :   

Le développement est modulaire et découplé

Tous les langages sont modulaires et les développeurs ne codent que des briques indépendantes. Que ce soit avec Browserify 29 qui apporte la dernière brique de modularisation Javascript dans les navigateurs ou Java 15 qui porte enfin Jigsaw de manière complète en passant par la nouvelle spécification des WebComponents version 5 qui est revenue aux principes fondateurs de la spécification initiale. Les développeurs ne jurent plus que par l’écriture de petits blocs de codes isolés. Le module est roi et permet de séparer les concepts pour mieux découpler, maintenir ou faire cohabiter différents runtimes sur une même application.

Références :

Les nouveaux protocoles sont partout

L'avènement des objets connectés en 2015 a forcé les entreprises à se tourner vers des nouveaux protocoles plus modulaires et plus réactifs. C’est ainsi qu’en 2035 HTTP3 le remplaçant de HTTP2 fait tout juste son apparition. Pour rappel, HTTP2 était en 2015 la nouvelle spécification du protocole http orienté stream, permettant de faire enfin des appels http en parallèle, le tout en https de façon standard. Les objets connectés, quant à eux, sont restés sur le protocole MQTT toujours aussi efficace pour faire du publish / subscribe.

Références :

 

Les entreprises ont encore et toujours besoin d’évoluer

Malgré les mises en garde de Ludovic Cinquin, force est de constater qu’il y a encore du travail à faire. Rajouter des personnes dans un projet en retard ne le fera pas terminer à l’heure. La prime exceptionnelle visant à booster les performances des collaborateurs n’est que pure illusion si ces derniers ne sont pas entraînés. En résumé, cette conférence reste donc d’actualité et avait l’avantage de présenter les études associées à ses observations.

Références :


Les langages et API du futur

En 2035, dans la plupart des entreprises, les serveurs ne seront plus des ressources gérées directement en interne. La Production - telle qu’on la connaît - ne sera plus (cf. talk de Clever cloud). Les serveurs seront entièrement externalisés vers des services de Cloud (on voit d’ailleurs de plus en plus d’acteurs présents sur le Cloud, Microsoft Azure qui étend son offre, IBM Bluemix). Chaque exécution d’application se traduit par une demande “CPU / mémoire / stockage / bande passante” définie en amont par les développeurs. Ceux-ci ne se soucient donc plus de savoir où sont publiées physiquement leurs applications mais seulement de ce dont elles ont besoin (on fait référence ici à Apache Mesos qui permet de distribuer les applications sur différents modes d’exécution, selon les ressources disponibles sur un ensemble de serveurs). Les besoins des applications peuvent évoluer de manière élastique et les nouvelles ressources disponibles sont prises en compte en temps réel. Les serveurs d’exécution sont des ressources au même titre que l’électricité…

Références : 
 

Les frameworks et API aident à tirer parti de ces ressources qu’elles soient distribuées sur plusieurs serveurs ou sur plusieurs cœurs (cf. la conférence sur Apache Spark).

Les langages, eux-mêmes sont pensés pour faciliter la distribution des calculs. Ils marient l’approche OOP à la démarche fonctionnelle et proposent nativement des instructions de parallélisation.    

La généralisation des conteneurs (Docker menant toujours la danse), fait perdre l’intérêt des langages à compilation intermédiaire (cf. Java, .NET, Scala, Groovy sont morts depuis longtemps en 2035...). Tous les développeurs sont revenus sur des langages compilant en natif (on compile pour une seule plateforme puisqu’elle sera conteneurisée). Tout le monde y gagne : les développeurs programment et compilent plus rapidement, les utilisateurs profitent d’exécutions plus rapides.

Références : 


En 2035, ce genre de langages (dont Go et Rust ont été les précurseurs) est couramment mis en place pour les grosses applications distribuées en production.

Côté Front-end, le JavaScript est finalement devenu l’assembleur du web laissant ainsi la place à des langages typés, qui sont dorénavant pris en compte par les navigateurs. 

Références : 


Tout ça, c’était avant le drame bien entendu.

Les robots sont partout

Que ce soit sur la keynote d’Aldebaran ou la keynote de l’Inria, tous avaient vu juste et le monde sera fortement robotisé. Par contre, les robots ne seront pas forcément là pour nous remplacer mais pour nous faciliter la vie, nous accompagner et ainsi nous aider à nous préoccuper de ce qui est vraiment important pour nous.

Le dirigeant d’Aldebaran a fait remarquer qu’il ne tenait qu’à nous (développeurs et développeuses) de ne pas transformer ces robots en machine à tuer (aucune trace de Terminator dans le futur) mais bien en aide à la personne. Les robots exécuteront le code que nous avons écrit et donc nous avons le pouvoir de ce côté-là.

Références :


Conclusion

Devoxx reste donc définitivement une conférence majeure et cette année encore, nous avons pu y découvrir des sujets qui, nous le constatons, nous permettent d’anticiper l’avenir. Nous sommes très heureux d’avoir pu y prendre part que ce soit comme simple participant ou comme speaker. Vivement l’année prochaine !

Remerciement à Florent Dupont, Antoine Richard et Philippe Charrière pour leurs contributions sur cet article  

Serveurs / Microsoft