comment un langage conçu pour un gadget complètem …

comment un langage conçu pour un gadget complètem ...



Certains langages de programmation, comme Rust, Go ou TypeScript, sont cool. D’autres, comme Cobol et Java, sont considérés comme ennuyeux. Toutefois, si Java, qui a fêté ses 30 ans le 23 mai, n’est peut-être pas le langage le plus passionnant, il reste l’un des plus importants utilisés aujourd’hui.

Lancé pour la première fois par Sun Microsystems le 23 mai 1995, Java est passé d’un projet de niche pour l’électronique grand public à un pilier technologique des entreprises, du cloud computing et du développement web. Bref, c’est une histoire de vision et d’adaptabilité.

Car si Java vient d’avoir 30 ans, son histoire est bien plus longue. Les racines de Java remontent à 1991, lorsque les ingénieurs de Sun James Gosling, Mike Sheridan et Patrick Naughton ont entrepris de créer un langage pour la télévision interactive et les appareils embarqués. Ce projet s’appelait le Green Project. Son objectif n’était pas tant de créer un nouveau langage que de construire ce que nous appellerions un contrôleur de l’internet des objets. Tim Lindholm, un autre développeur Java de la première heure, l’a décrit comme une sorte de « croisement entre un grand PDA et une super télécommande« .

Trop en avance, et trop cher

L’appareil, Star7, était un assistant numérique portable sans fil basé sur un processeur SPARC et doté d’un écran LCD couleur de 5 pouces. Hélas, il était trop avancé et trop cher pour l’époque. Et le gadget n’a pas trouvé de marché.

Le langage, en revanche, c’est une autre histoire. Initialement baptisée « Oak », cette version de Java utilisait une syntaxe de type C++. Mais comme l’a dit Gosling à propos d’Oak/Java, il s’agissait de « C++ sans armes ni couteaux ». Pourquoi ne pas utiliser directement le C++ ? Le langage n’aurait pas facilement fonctionné pour leurs objectifs. Comme l’a dit Lindholm, il s’agissait de créer des applications qui pourraient être déplacées en toute sécurité « sur l’internet. De plus, nous estimions que le C++ était suffisamment difficile à programmer pour que les programmeurs moins qualifiés, que nous espérions atteindre, éprouvent des difficultés à le faire ».

La vision de Gosling pour Java incluait la gestion automatique de la mémoire (garbage collection), qui réduit les erreurs et les vulnérabilités de sécurité communes à la gestion manuelle de la mémoire du C++. Il a également suggéré que la philosophie « écrire une fois, exécuter partout » de Java, rendue possible par la Machine Virtuelle Java (JVM), rendait Java portable et indépendant de la plate-forme. Et ce alors que le code C++ doit être compilé séparément pour chaque plate-forme.

Le bon langage au bon moment

Tous ces avantages sont louables. Mais à quoi servirait un langage conçu pour un projet d’électronique grand public qui n’a pas abouti ? Heureusement, Gosling et son équipe terminaient Java juste au moment où le World Wide Web apparaissait au grand public en 1993. Java s’est donc avéré être le bon langage au bon moment.

La caractéristique déterminante du langage, son indépendance vis-à-vis de la plate-forme, a changé la donne. Contrairement à d’autres langages qui nécessitent la réécriture du code pour différents systèmes d’exploitation, les programmes Java sont compilés en bytecode, qui s’exécute sur n’importe quel appareil doté d’une JVM. Cette philosophie a rapidement fait de Java le langage de prédilection pour les applets web et, plus tard, pour les applications d’entreprise.

Pour souligner l’utilité de Java, Gosling a dévoilé en 1995 un navigateur appelé WebRunner. Ce prototype de navigateur web n’a jamais connu de succès commercial. Mais il a démontré comment un navigateur web pouvait présenter un contenu HTML mélangé à des applets Java.

Vers la programmation orientée objet

Les choses se sont ensuite accélérées. D’abord, WebRunner est devenu HotJava. Puis java.sun.com, le site web d’origine de Java, s’est officiellement ouvert au public. Sun ne pouvait pas utiliser le nom Oak pour des raisons de marque déposée. Après de longues nuits et de nombreux débats, l’équipe a décidé que leur boisson préférée, le café, inspirerait le nom du langage.

Java va rapidement évoluer. Son premier changement significatif est intervenu avec la publication de Java Development Kit 1.1 en 1997. Cette version introduit JavaBeans, qui facilite grandement la programmation orientée objet pour les développeurs. Elle a également ajouté Java Database Connectivity (JDBC). Cette interface de programmation d’applications (API) standard de Java permet aux programmes Java de travailler avec des bases de données.

En 1998, Java a été modifié par l’ajout de la bibliothèque Swing, qui a amélioré les capacités de l’interface utilisateur graphique (GUI) de Java, les modules d’extension Java et le framework Java Collections. La différence la plus visible est peut-être le fait que Java a été divisé en trois variétés :

Et ces trois versions sont encore bien vivantes aujourd’hui.

La grande avancée de l’ouverture de Java (2006)

Bien que le langage ait continué à connaître de nombreuses améliorations au cours des années suivantes, le changement le plus important a sans doute été l’ouverture de Java par Sun en 2006. L’implémentation de référence de Java est Open Java Development Kit (OpenJDK), qui est libre et gratuite en vertu de la GNU General Public License (GPL) version 2, avec Classpath Exception.

Cette exception vous permet de lier les bibliothèques système Java à votre code, quelle que soit la licence de ce dernier, et de distribuer l’exécutable qui en résulte selon les conditions de votre choix. Cette exception peut rendre l’utilisation de Java un peu difficile dans certaines situations. Il suffit de demander à Google, qui a eu une longue bataille avec Oracle, l’actuel propriétaire de Java, au sujet de l’utilisation de Java dans Android.

Java a également joué un rôle important pour les logiciels libres d’une manière qui est souvent négligée. Comme l’a expliqué Brian Fox, fondateur de la société d’outils Software Composition Analysis (SCA) Sonatype, à The New Stack, les fichiers Java ARchive (JAR) ont permis de créer des modules de code facilement utilisables, tandis que l’arrivée d’Apache Maven a rendu possible la gestion des dépendances de Java.

Java à l’assaut du cloud-native et du big data

Ces concepts ont grandement facilité la création de projets open-source à partir du code. Avant cette étape, Fox a déclaré : « Je me souviens très bien de la première fois où j’ai pu construire un projet open-source ». Vous pouviez regarder le code et dire « Je veux le changer de cette façon ». Mais vous pouviez passer une semaine à essayer de comprendre comment construire quelque chose ». Jusqu’à la création de Git par Linus Torvalds, on peut dire que l’approche des paquets de code JAR et Maven a constitué l’amélioration la plus significative dans la construction de programmes open-source.

Lorsqu’Oracle a racheté Sun, la société a fermé de nombreux projets Sun, mais a continué à soutenir Java. La communauté Java, via le Java Community Process (JCP), a toujours son mot à dire, mais c’est Oracle qui décide.

Au cours des trois décennies suivantes, Java a évolué avec le paysage technologique. Depuis ses débuts, où il alimentait des contenus web dynamiques, Java s’est développé pour dominer les logiciels d’entreprise, les applications mobiles et, plus récemment, le développement « cloud-native » et les solutions « big data ». L’écosystème robuste du langage, qui comprend des cadres tels que Spring Boot, Jakarta EE et Hibernate, l’a rendu indispensable pour les organisations en quête de fiabilité, d’évolutivité et de sécurité.

Un vieux langage qui évolue et s’adapte

Contrairement à d’autres langages plus anciens, tels que Cobol et Fortran, qui sont toujours utilisés, mais presque toujours dans le cadre de projets anciens, Java a constamment évolué pour répondre aux nouvelles demandes tout en conservant une compatibilité ascendante.

Malgré la montée en puissance de nouveaux langages comme Kotlin et Scala, Java reste l’un des langages de programmation les plus utilisés dans le monde. Selon l’indice ZDNET de popularité des langages de programmation, Java est, avec Python et JavaScript, l’un des trois langages les plus populaires. Il n’est pas nécessaire d’être un génie pour comprendre pourquoi. La polyvalence de Java, sa prise en charge des architectures « cloud » et sa capacité à répondre aux exigences de l’IA et du big data garantissent que le langage continuera à façonner l’avenir du développement logiciel.

Java sera-t-il un jour un langage sexy et en vogue ? Probablement pas. Il est un peu lent, la gestion de la mémoire peut être pénible, et sa verbosité et sa syntaxe complexe agacent certains programmeurs. Cela dit, Java est un langage essentiel et le restera pendant des décennies.



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.