Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express
Next Previous

Le langage Java a 20 ans

2 février, 2015

Nous sommes en 1995 à une conférence. James Gosling et John Gage, directeur du SUN’s Science Office font une démonstration de Webrunner, l’un des premiers navigateurs internet. A cette époque, il n’existe que NCSA Mosaic pour « surfer » sur Internet. Lors de la démonstration, James charge une page, clique sur cette page, et pour la première fois montre une animation en 3D d’une molécule. Tout d’un coup, le web qui n’était qu’un maillage de document, s’anime devant la salle. L’ancêtre du navigateur HotJava est né.

Or les derniers mois ont été plutôt difficile pour James Gosling et son équipe. Début 1991, SUN Microsystems envisage de lancer les premiers périphériques connectés. Pour cela, il faut une couche logiciel, et donc des applications. L’équipe de James Gosling, une trentaine de personnes, débute avec le C++. James voit que la vitesse de développement de ses équipes n’est pas optimale. Ils décident donc collectivement d’initier aussi un nouveau langage, afin de simplifier les développements.

Ce langage c’est « Oak« . Il permettra à la « Green team », dès 1992, de sortir un OS et de construire l’un des premiers PDA. En 1994, les avocats informent SUN que le nom « Oak » est déjà déposé, et qu’il convient donc de le changer. L’équipe, sous l’impulsion de Kim Polese, fait une session de brainstorming, d’où le nom Java sortira, après validation avec les avocats.  L’histoire dit que Chris Warth, une coupe de café « Peet’s Java » à la main, aurait proposé « Java ».

Février 1995. James Gosling publie un papier qui marque définitivement la naissance du langage.

JAVA: A simple, object oriented, distributed, interpreted, robust, secure,
architecture neutral, portable, high performance, multithreaded,
dynamic language.

Un langage simple dont l’origine, la génèse… est de faire plus simple que le C++ et le C. Le langage est pensé dès le départ pour simplifier la vie du développeur. Avec l’introduction d’un ramasse-miettes (Garbage Collector), Java simplifie la gestion de la mémoire, et retire cette responsabilité des mains du dévelopeur. Ce principe permettra aussi d’optimiser l’architecture et la gestion de la mémoire, sans remettre en question le programme. A cette époque, vous deviez autant connaître l’allocation de mémoire, que les patterns de création des structures de données.

Java est aussi fortement orienté objet. Plutôt que de se concentrer sur le « comment », l’approche de Java est de proposer un focus sur le « quoi ». Java renforce cette idée avec la sortie d’une librairie assez riche, surtout sur la partie collection. Bien qu’assez buggé, les premières idées sont là : Java c’est aussi des APIs, prêtes à répondre aux besoins de base du dévelopeur.

Le support réseau, et la notion de distribué, seront très présents dans les premières années. En 1999, Java RMI (Remote method invocation) après le support de CORBA, permet l’exécution de code entre 2 serveurs. L’approche RPC restera longtemps populaire, pour être remplacée aujourd’hui par une approche plus web, avec les architectures de type REST. Nous sommes passés d’un paradigme orienté commande (RPC) à un paradigme orienté document (REST API).

Java apparaît en 1995. A cette époque, les étudiants apprennent surtout le C à l’école. Or une bonne maîtrise de la programmation C/C++ passe par l’apprentissage de la gestion de la mémoire, par l’écriture de code qui ne contribue pas immédiatement à réaliser le projet. Le ratio « code métier/code technique » est plus déséquilibré qu’avec Java. A contrario, Java se positionne dès le départ comme le langage du développement Web. Un même code peut fonctionner sur différents serveurs, quelque soit les architectures.

On l’oublie parfois, mais la tagline de Java a été longtemps : « Write once, run everywhere« .

Il y a 20 ans, le développement cross-plateforme était assez peu répandu. Java n’a pas inventé ce concept, mais il met en avant le concept de machine virtuelle. Un code écrit dans une seule syntaxe, est interprété pour fonctionner sur l’architecture cible. La différence entre le langage interprété et le langage compilé colle une réputation de lenteur dans les premières années. Or Java compile vers du byte-code cible, aussi bien que votre compilateur C. Et ce, depuis plus de 18 ans. Java est aussi, parfois même plus rapide, que du code écrit par un développeur C.

Java change aussi la donne pour le développeur grâce à la JVM. Si vous avez codé en C, en C++, en assembleur ou autre, il était courant en 1995 de planter sa machine. Il suffisait d’une écriture dans une zone mémoire non protégée, pour voir un écran bleu de la mort ou un kernel panic. Je lève la main car en 1993/1994, j’étais ce gars. Java était une petite révolution car le système isole votre code de la machine, via la JVM. Ceci permet aussi une meilleure remontée d’erreur, avec les fameuses StackTrace.

Pourquoi Java est rapidement adopté

La première raison est simple : Java est l’un des premiers langages distribué sur Internet. En mars 1995, l’équipe de James Gosling sort Java 1.0a2, la première version officielle.  L’équipe souhaite distribuer rapidement le langage afin qu’il soit adopté sans limite et sans frontière. A cette époque, c’est une petite révolution. Imaginez que les autres éditeurs vendaient des boîtes avec des disquettes, sur lesquelles vous pouviez avoir par exemple une version de « Turbo C » de Borland.

Java est distribué sur Internet.

Chez SUN, dans l’équipe de James Gosling, c’est l’effervescence. Après avoir monté un serveur, java.sun.com, l’équipe dépasse rapidement les 10 000 téléchargements. Avec ce succès, vient un flot d’emails et de questions de la part des développeurs. Cela prend tellement de temps, que l’équipe prépare une liste des questions fréquentes. Puis une personne responsable par semaine pour répondre. Puis une équipe à temps plein… Java remporte aussi un succès d’adoption car la documentation et les efforts pour écrire des exemples sont exemplaires. Les livres suivent rapidement. J’ai pour ma part débuté en 1996 avec « Java in a Nutshell ». Non, Stack Overflow n’existait pas à cette époque.

Le langage remporte aussi un énorme succès, car il débarque dans un monde prêt à travailler avec Internet. 1995 c’est la sortie de Microsoft Windows 95 et de la première version d’Internet Explorer. Nous sommes au début du Web, tel que nous le connaissons aujourd’hui. Le serveur java.sun.com et la ligne T1 sont rapidement saturés. Les équipes marketing de SUN Microsystems constatent le succès et décident d’appuyer immédiatement le langage, et renforcent les équipes.

Les équipes travaillent sans compter. Un article doit être publié le 23 mars 1995, à l’occasion de la conférence SunWorld, dans le San Jose Mercury News, alors que la page java.sun.com n’est même pas en ligne.

Le coup de projecteur final aura lieu le 23 mars 1995, lors de la conférence SunWorld. Eric Schmidt signe un accord avec Netscape, dirigé par Marc Andreessen. Ils annoncent ensemble sur scène, que Java sera officiellement intégré dans le navigateur Netscape, le premier navigateur à l’époque.

Java est né le 23 mars 1995.

tag_-150-par-150-touilleur-express

0 no like

Articles similaires:

Default ThumbnailVentura attaque SUN Microsystems sur la marque Java Default ThumbnailPourquoi Java s'appelle Java Default ThumbnailSortie de Java 8 Default ThumbnailComment trouver la charge CPU de la machine en Java ?
  • Ludovic Poitou 2 février 2015 at 12 h 33 min

    Nicolas,
    Es-tu certain de tes informations sur la version Alpha et sa distribution sur Internet ?

    En Juillet 1995, j’ai rejoins Sun Microsystems, et j’avais deja entre les mains les specifications techniques du langage Java, mais j’ai du attendre comme tout le monde la mise a disposition de la version beta publique, qui n’a eu lieu que Fin Septembre, debut Octobre 1995 pour pouvoir tester le langage et la JVM. A ma connaissance, la version Alpha n’etait pas publique.

  • Nicolas Martignole 20 février 2015 at 11 h 24 min

    Bonjour Ludovic

    Ma source est dans cet article, page 5

    Going Public

    By March 1995, there were still only seven or eight binary copies of what they called « 1.0a » outside of Sun. The team was getting ready to post a « full public » alpha
    version (« 1.0a2 ») of the Java source code on the Internet. « We released the source code over the Internet in the belief that the developers
    would decide for themselves, » said Lisa Friendly. The team knew that releasing code
    to developers for free is one of the fastest ways to create widespread adoption. It’s
    also a great way to enlist the help of the development community to inspect code and
    find any overlooked bugs.
    So the team set up an Internet address and, with their hearts pounding, they pushed
    ENTER, sending the Java source code through the net and out into the world.

  • Ludovic Poitou 20 février 2015 at 22 h 22 min

    Merci Nicolas.
    Dans mon souvenir, la version Beta sortie à l’automne 1995 était sous forme binaire et permettait de compiler un programme Java et l’executer.
    Je pense que je n’avais pas entendu parler de version Alpha en open source.
    Ludo

Chercher

Derniers articles

  • L’instant T où tu poses ta dém…
  • The « Robinson » projection – comprendre son système d’information
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise
  • Gérer les situations de blocage en tant que Staff Engineer
  • Un monolithe, c’est quoi ?

Commentaires récents

  • Nicolas Martignole dans The « Robinson » projection – comprendre son système d’information
  • Lucas dans The « Robinson » projection – comprendre son système d’information
  • Guillaume dans The « Robinson » projection – comprendre son système d’information
  • Francois Dechery dans The « Robinson » projection – comprendre son système d’information
  • Gaëtan dans The « Robinson » projection – comprendre son système d’information

Les plus lus

  • Les revenus d’un informaticien indépendant en EURL - 89 684 affichage(s)
  • Optional en Java 8 - 70 952 affichage(s)
  • Changer la batterie d’un MacBook Pro de 2011 - 65 588 affichage(s)
  • Quelle est la différence entre volatile et synchronized ? - 65 466 affichage(s)
  • Retour sur la soirée du lundi 12 juillet chez Doctolib - 63 072 affichage(s)
  • Un modèle de Product Backlog et de Sprint Backlog avec Excel - 57 801 affichage(s)
  • Redis, découverte d’un moteur clé-valeur simple et puissant - 51 018 affichage(s)
  • Comment simuler le navigateur de l'iphone avec Firefox ou Safari ? - 45 657 affichage(s)
  • serialVersionUID mythes et légendes - 41 901 affichage(s)
  • Développeur après 31 ans ? Ridé et chauve tu seras - 39 394 affichage(s)

Mots clés

agile ajax Apple architecture barcamp BarCampJavaParis ddd devoxx esb exo flex geek google grails groovy humeur humour independant iphone Java javascript jazoon jboss jboss seam jsf jug Linux mac mule paris jug parisjug pjug play playframework portlet recrutement ria Scala scrum spring Startup usi usi2010 web xebia

Derniers articles

  • L’instant T où tu poses ta dém…

    Retour d’expérience sur la démission et le moment où vous devez quitter une entreprise.

    6 likes

    24 octobre, 2024
  • The « Robinson » projection – comprendre son système d’information

    Nous sommes en juillet 2022 chez Doctolib. Je travaille sur un projet

    5 likes

    22 octobre, 2024
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise

    Je prépare une présentation avec mon collègue Théotime pour la conférence Cloud

    3 likes

    6 octobre, 2024

Mots clés

Apple (32) Architecture (14) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (15) Perso (266) Recrutement (2) Scala (30) scrum (43) Société (3) Staff Engineer (5) Startup (21) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur X (Twitter) : @nmartignole

Copyright© 2008 - 2024 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Reset Password

Le Touilleur Express