Pour célébrer les 25 ans du langage Java, Oracle revient sur 25 applications Java qui ont marqué leur époque.

Passé de mode chez la jeune génération de développeurs, Java reste pourtant, encore et toujours, l’un des langages les plus employés en entreprise. Officiellement rendu disponible en mai 1995 par Sun, le langage promettait son « Write Once, Run Anywhere » (écrivez une fois, lancez n’importe où). En 2009, Sun tombait dans l’escarcelle d’Oracle qui allait veiller à la destinée du langage avant d’annoncer en 2018 que son utilisation dans un cadre professionnel deviendrait payante dès 2019 et de relancer par la même occasion l’innovation de la plateforme avec Java 14 sorti il y a quelques semaines.

Pas de quoi ternir l’anniversaire du langage. Java fête donc en 2020 ses 25 ans. Un anniversaire qu’Oracle célèbre dans un billet de blog en revenant sur 25 applications Java pas tout à fait ordinaires, témoins de leur époque et de l’évolution de l’informatique. Les choix d’Oracle réalisés en partenariat avec Java Magazine peuvent bien évidemment prêter à discussion. Mais certains méritent selon nous un coup de projecteur.

Minecraft

Les joueurs actuels l’ont un peu perdu de vue, mais le révolutionnaire jeu de Mojang (inventé par Markus “Notch” Persson) sorti en 2009 fût à l’origine écrit en Java. Une version pour Windows, macOS et Linux qui persiste toujours de nos jours sous le nom de « Minecraft Java Edition », même si les versions désormais les plus populaires (celles sur Xbox One, Playstation, iOS, Android et Windows 10 avec leurs différents contenus téléchargeables DLC) ont depuis été réécrites en C++ ou Objective-C. Rappelons que Minecraft appartient à Microsoft depuis 2014.

NASA WorldWind

Pour être tout à fait honnête, NASA WorldWind n’est pas à l’origine un projet Java. Loin de là puisqu’il a été au départ (en 2003) créé par la NASA en C# avec le .NET Framework de Microsoft ce qui en faisait (à l’époque) un outil d’exploration de l’univers uniquement disponible sur PC. Versé en open-source en 2004, il ne sera réécrit en Java qu’en 2011 ! Et depuis, il a même été réécrit en JavaScript dans une version 100% Web.

Maestro Mars Rover

Java avait déjà été utilisé pour créer le logiciel de contrôle et commandes du petit robot Sojourner mais ce logiciel restait hébergé sur Terre. En 2004, il sera utilisé pour la première fois sur une autre planète en étant embarqué au sein du robot Spirit pour le contrôle de certaines expériences scientifiques sur Mars (Maestro Science Activity Planner).

Après cette aventure martienne, Java sera utilisé à de multiples autres reprises dans des outils de la Nasa et notamment pour créer le système d’informations géospatiales de Mars (projet JMars) et celui de la Lune (projet JMoon). Java est aussi au cœur du projet SBMT (Small Body Mapping Tool) qui compile toutes les images et informations des petits objets du système solaire analysés par les différentes sondes avec un affichage 3D basé sur le kit VTK (Visualization Toolkit).

Wikipedia Search

On ne peut pas vraiment dire que la recherche intégrée de Wikipedia soit particulièrement pertinente et la plupart des utilisateurs passent plutôt par la recherche Google pour y trouver ce qu’ils cherchent. Néanmoins, la recherche intégrée dans Wikipedia (plus exactement le moteur Lucene, depuis réécrit en Python) a été écrite à l’origine en Java par Doug Cutting. Depuis 2014, la recherche Wikipedia est réalisée au travers du moteur open-source Elasticsearch lui aussi écrit en Java.

H2O.ai

Il ne faudrait cependant pas penser que tous les projets phares Java datent de plus d’une décennie. Loin de là. Preuve en est avec l’un des moteurs « AutoML » les plus populaires au monde. Écrit en Java, « H2O.ai » rendre le Machine Learning accessible au plus grand nombre. La solution figure d’ailleurs dans les visionnaires de deux Magic Quadrant du Gartner : celui sur les plateformes de Data Science et celui sur les services cloud IA.

Jenkins

Le serveur d’intégration continue au cœur de bien des chaînes DevOps actuelles est né en 2004 chez Sun. Depuis, Jenkins n’a cessé d’évoluer et de s’enrichir de plugins mais a aussi largement contribué à populariser les concepts d’Infrastructure as Code. Il est toujours écrit en Java.

Hadoop

Même si l’on parle moins désormais d’Hadoop, la plateforme Big Data ainsi que son moteur d’interrogation de larges clusters de données « MapReduce » sont tous deux écrits en Java. Ils sont l’œuvre d’un certain Doug Cutting, déjà auteur du moteur Lucene de Wikipedia…

Eclipse IDE

Le célèbre IDE open source lancé en 2001 par IBM est devenu emblématique chez toute une génération de développeurs. Bien qu’il supporte d’autres langages, Eclipse reste l’environnement de développement Java le plus populaire au monde et fût lui-même écrit en Java.

VisibleTesla

En 2013, le développeur Joe Pasqua diffuse en open-source sur GitHub un outil resté très célèbre, VisibleTesla, créé en Java pour monitorer et contrôler sa rutilante Tesla Model S. Le programme deviendra rapidement l’un des gadgets indispensables à tous propriétaires d’une Tesla.

NSA Ghidra

En 2019, la très secrète NSA annonce à la surprise générale la diffusion en open-source d’un de ses utilitaires. Ecrit en Java, Ghidra est un outil de reverse-engineering pour décompiler les malwares et en comprendre le fonctionnement.

Voici la liste complète des 25 outils Java retenus par Oracle : Maestro Mars Rover Controller, JavaFX Deep Space Trajectory Explorer, NASA WorldWind, JMars, SBMT, Lucene, Hadoop, Parallel Graph AnalytiX, H2O, Minecraft, Jitter Robot & leJOS, Java applets, Netbeans & Eclipse, IntelliJ IDEA, Byte Buddy, Jenkins, GraalVM, Micronaut, Weblogic Tengah, Eclipse Collections, NSA Ghidra, Integrated Genome Browser, BioJava, VisibleTesla, SmartThings.