people/g/GoslingJames/index.html

Summary

Maintainability
Test Coverage
<!--#include virtual="/header-start.html" -->
<title>James Gosling</title>
<!--#include virtual="/header-end.html" -->
<figure class="left side">
  <figcaption>Gosling</figcaption>
  <img alt="James Gosling" src="portrait.jpg">
</figure>
<p>Gosling naît <time>1956-05-19</time>. Dès son jeune âge, il manifeste de l'intérêt pour les ordinateurs. Quand est
  venu le temps d'aller à l'université, il choisit l'Université d'Alberta pour y étudier l'informatique. Il obtient un
  BSc en Informatique de l'Université de <span class="place">Calgary (Canada)</span> <time>1977</time>, puis un doctorat
  en Informatique de l'Université de Carnegie-Mellon <time>1983</time>. Le titre de sa thèse est La
  manipulation algébrique des contraintes.</p>
<p>Il construit des systèmes d'acquisition de données satellites, une version multiprocesseurs de <a
    href="/tech/info/soft/prod/os/unix">Unix</a>, plusieurs compilateurs, des systèmes de messagerie et des interfaces
  fenêtrées. Il construit aussi un éditeur de texte WYSIWYG, un éditeur d'image basé sur des contraintes et un contribue
  avec <span class="people">Richard Stallmann</span> au développement de l'éditeur de texte pour <a
      href="/tech/info/soft/prod/os/unix">Unix</a> nommé Emacs.</p>
<section>
  <h2>Sun</h2>
  <p>Chez Sun sa première tâche est d'être ingénieur en chef du système de fenêtrage NeWS.</p>
  <section>
    <h3>Java</h3>
    <p><time>1990</time> Gosling, Patrick Naughton et Mike Sheridan commencent le projet "Green", visant à produire
      un OS pour l'industrie de l'électronique grand public. En 1991 l'équipe comme à étendre le compilateur <a
          href="/tech/info/soft/proj/impl/lang/cpp">C++</a> pour développer un <a
          href="/tech/info/soft/proj/impl/lang/oo">langage OO</a> indépendant de la plate-forme qui permettrait à des
      appareils comme un décodeur tv et un lecteur de CD de dialoguer. Cependant, Gosling reconnait que le <a
          href="/tech/info/soft/proj/impl/lang/cpp">C++</a>l n'est pas adapté et l'équipe commence à écrire son propre
      langage. Alors qu'il s'apprête à créer un répertoire pour ce nouveau langage, Gosling va perdre son regard dehors.
      Il voit un chêne : le langage s'appelera Oak.</p>
    <figure>
      <img alt="L'auteur et Gosling lors des Sun Tech Days à Paris le 6 Décembre 2002"
          src="/time/2/0/0/2/12/06/MeAndGosling.JPG"/>
      <figcaption>L'auteur et Gosling lors des Sun Tech Days à Paris <time>2002-12-06</time></figcaption>
    </figure>
    <p>On s'aperçoit peu après qu'un autre langage a un nom similaire, et Oak est renommé Java <time>1995-01</time>.
    </p>
    <p>Ayant l'expérience de systèmes d'acquisition de données de satellites, Gosling contribue par la suite à la
      spécification de Java temps réel.</p>
    <p>Vice-président de la compagnie, après 10 ans consacrés à Java, Gosling part se changer les idées aux laboratoires
      de Sun. Là, l'inventeur d'Emacs reprend ses recherches sur l'évolution des <a
          href="/tech/info/soft/prod/ide">IDE</a> (plugin pour NetBeans).</p>
    <p>Quand on reproche à Sun de prendre du retard par rapport aux actions de Microsoft (.Net, Web Services), Gosling
      répond :</p>
    <blockquote>
      <p>Les <a href="/politique/etat/gouv/regime/Democratie.html">démocraties</a> avancent moins vite que les
        dictatures (...) Par exemple, si vous créez un système de
        réservation aérienne standard, vous devez réunir Travelocity, Orbitz et Expedia afin qu'ils se mettent d'accord
        sur un schéma XML commun pour définir ce qu'est un vol et comment réserver un billet d'avion. Vous pouvez
        toujours essayer d'imposer un système de réservation aux compagnies aériennes, mais je doute fort qu'elles
        apprécient cela.</p>
    </blockquote>
  </section>
  <p>Gosling est également critique à propos de C# :</p>
  <blockquote>
    <p>Il semble après l'avoir étudié que Microsoft a dû faire des compromis à tous les niveaux. Les règles de
      conception imposaient de supporter les langages C et C++, ce qui implique d'avoir un modèle de mémoire permettant
      d'accéder à tout, à tout moment. Or, ces compromis sont à l'origine des problèmes de sécurité, de fiabilité et de
      productivité que rencontrent à présent les développeurs. D'une part, Microsoft a copié Java, d'autre part, il a
      ajouté des éléments futiles, pour ne pas dire stupides.</p>
  </blockquote>
</section>
<p>Auteur de :</p>
<ul>
  <li>Gosling & <span class="people">Stallmann</span>: Emacs</li>
  <li>Java</li>
  <li>The Java Application Programming Interface:
    <ul>
      <li>Volume 1: Core Packages</li>
      <li>Volume 2: Window Toolkit and Applets avec Frank Yellin.</li>
    </ul>
  </li>
  <li>The Java Language Specification</li>
  <li>The Java Programming Language
    <ul>
      <li>The Java Programming Language, Second Edition avec Ken Arnold.</li>
    </ul>
  </li>
</ul>
<!--#include virtual="/footer.html" -->