Gosling naît le . 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 Calgary (Canada) en , puis un doctorat en Informatique de l'Université de Carnegie-Mellon en . Le titre de sa thèse est La manipulation algébrique des contraintes.
Il construit des systèmes d'acquisition de données satellites, une version multiprocesseurs de Unix, 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 Richard Stallmann au développement de l'éditeur de texte pour Unix nommé Emacs.
Chez Sun sa première tâche est d'être ingénieur en chef du système de fenêtrage NeWS.
en 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 C++ pour développer un langage OO 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 C++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.
On s'aperçoit peu après qu'un autre langage a un nom similaire, et Oak est renommé Java en .
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.
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 IDE (plugin pour NetBeans).
Quand on reproche à Sun de prendre du retard par rapport aux actions de Microsoft (.Net, Web Services), Gosling répond :
Les démocraties 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.
Gosling est également critique à propos de C# :
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.
Auteur de :