Histoire de Java

Bienvenue, émerveillés programmeurs !aujourd'hui, nous allons faire un voyage fascinant à travers l'histoire de Java, l'une des langues de programmation les plus populaires au monde. En tant que votre enseignant amical de sciences informatiques, je suis excité de partager cette histoire avec vous. Alors, prenez un café (Java, peut-être ?) et plongeons-y !

Java - History

Histoire de Java

Naissance de Java

Il était une fois, au début des années 1990, une équipe d'ingénieurs brillants chez Sun Microsystems, dirigée par James Gosling, qui a entrepris une mission. Leur objectif ? Créer une langue capable de powers la prochaine génération d'appareils intelligents. Ils ne savaient pas que leur création allait révolutionner le monde de la programmation !

Java est né en 1995, mais sa conception a commencé des années plus tôt. Le projet, initialement appelé "Oak" (nous aborderons le changement de nom plus tard), visait à créer une langue qui était :

  1. Simple
  2. Orientée objet
  3. Robuste
  4. Sécurisée
  5. Indépendante de la plateforme

Ces principes, connus sous les cinq objectifs principaux de Java, ont guidé son développement depuis lors.

Philosophie "Écrire une fois, exécuter n'importe où"

L'une des fonctionnalités les plus révolutionnaires de Java était sa capacité à s'exécuter sur n'importe quelle plateforme sans recompilation. Cette philosophie "Écrire une fois, exécuter n'importe où" (WORA) était révolutionnaire à l'époque. Voici un exemple simple pour illustrer ce concept :

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Bonjour, le monde !");
}
}

Ce simple programme s'exécutera sur n'importe quel appareil avec une Machine Virtuelle Java (JVM), que ce soit un PC Windows, un Mac, ou même un réfrigérateur intelligent (oui, c'est maintenant une chose) !

Histoire du nom Java

Maintenant, abordons l'éléphant dans la pièce - pourquoi est-il appelé Java ? Eh bien, ce n'est pas parce que les développeurs étaient des toxicomanes de café (bien que cela ait pu jouer un rôle).

Le nom "Oak" était déjà déposé, donc l'équipe avait besoin d'un nouveau nom. Lors d'une séance de brainstorming, ils ont venu avec "Java" - inspiré par le café Java que beaucoup de membres de l'équipe appréciaient. Le nom a collé, et ainsi, Java est né !

Fun fact : Le logo officiel de Java est une tasse de café fumante. Parlons de porter votre inspiration sur votre manche !

Histoire des versions de Java

Java a fait du chemin depuis sa version initiale. Faisons un tourbillon à travers ses versions majeures :

JDK 1.0 (1996)

Première version publique de Java. Elle incluait l'Applet Java, AWT et les bibliothèques centrales.

J2SE 1.2 (1998)

Introduction de la boîte à outils GUI Swing et du cadre Collections.

import java.util.ArrayList;
import java.util.List;

public class CollectionsExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Java");
list.add("est");
list.add("incroyable");
System.out.println(list);
}
}

Ce code montre l'utilisation de la classe ArrayList, partie du cadre Collections introduit dans cette version.

J2SE 5.0 (2004)

Version majeure qui a introduit les generics, les enums, les varargs et la boucle for améliorée.

public class EnhancedForLoop {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number);
}
}
}

Cet exemple montre la boucle for améliorée, qui a rendu l'itération sur les collections beaucoup plus simple.

Java SE 8 (2014)

Introduction des expressions lambda, de l'API Stream et des méthodes par défaut dans les interfaces.

import java.util.Arrays;
import java.util.List;

public class LambdaExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.forEach(n -> System.out.println(n * 2));
}
}

Ce code montre l'utilisation des expressions lambda, qui ont grandement simplifié la programmation fonctionnelle en Java.

Java SE 11 (2018)

Première version de support à long terme (LTS) après Java 8, elle a introduit le mot-clé var pour l'inférence de type des variables locales.

public class VarExample {
public static void main(String[] args) {
var message = "Bonjour, Java 11 !";
System.out.println(message);
}
}

Le mot-clé var permet au compilateur de déduire le type de la variable, rendant le code plus concis.

Java SE 17 (2021)

Dernière version LTS à ma connaissance, introduisant les classes scellées et le pattern matching pour les expressions switch.

public class SwitchPatternMatching {
public static void main(String[] args) {
Object obj = "Bonjour";
String result = switch (obj) {
case Integer i -> "C'est un entier : " + i;
case String s -> "C'est une chaîne : " + s;
default -> "C'est autre chose";
};
System.out.println(result);
}
}

Cet exemple montre le pattern matching dans les expressions switch, une fonctionnalité puissante pour gérer différents types d'objets.

Conclusion

Et voilà, mesdames et messieurs ! Un voyage à travers l'histoire de Java, de ses humbles débuts en tant que "Oak" à son statut actuel en tant que l'une des langues de programmation les plus utilisées au monde.

L'évolution de Java est un témoignage de son adaptabilité et de la dévotion de sa communauté. Du pouvoir des applications web à l'exécution sur milliards d'appareils dans le monde, Java a vraiment lived up to its "Écrire une fois, exécuter n'importe où" philosophy.

N'oubliez pas, chaque fois que vous écrivez une ligne de code Java, vous faites partie de cette riche histoire. Alors, continuez à coder, à apprendre, et qui sait ? Peut-être que vous serez celui ou celle qui écrira le prochain chapitre de l'histoire de Java !

Bon codage, futurs maîtres de Java !

Credits: Image by storyset