Ir al contenido principal
Bethemesh
BiografíaHistoria de la informática

James Gosling: el ingeniero que dio origen a Java

Cómo James Gosling y el equipo Green de Sun diseñaron Java: de Oak y las máquinas virtuales a la portabilidad y el legado del lenguaje.

Publicado el 17 de agosto de 2026Lectura : 6 minPor Equipo Bethemesh
Principiante
Retrato de James Gosling, principal diseñador del lenguaje Java
Mostrar el contenido
  1. Programar más allá de la estación de trabajo
  2. Del proyecto Green a Oak
  3. La Web cambió la trayectoria
  4. Un lenguaje definido por sus compromisos
  5. De la máquina virtual a una plataforma duradera
  6. El papel de Gosling en una obra colectiva
  7. Por qué James Gosling sigue importando
  8. Cronología
  9. Preguntas frecuentes
  10. ¿Creó James Gosling Java él solo?
  11. ¿Por qué Oak pasó a llamarse Java?
  12. ¿Están relacionados Java y JavaScript?
  13. ¿Qué significa «Write once, run anywhere»?
  14. ¿Sigue utilizándose Java sin applets?
  15. ¿Cuál es la aportación más duradera de Gosling?

James Gosling suele ser presentado como el «padre de Java». La fórmula es cómoda, pero oculta la pregunta que hace interesante su trabajo: ¿cómo ejecutar el mismo software en máquinas muy distintas sin renunciar a la seguridad necesaria para dispositivos conectados?

A principios de los noventa, Gosling buscó una respuesta con un pequeño equipo de Sun Microsystems. El resultado no nació como lenguaje web ni como invento solitario. Oak, futuro Java, formaba parte del proyecto Green, un experimento colectivo sobre informática integrada. Su traslado a la Web le daría después visibilidad mundial.

Programar más allá de la estación de trabajo

James Arthur Gosling nació cerca de Calgary, Canadá, en 1955. Tras estudiar en la Universidad de Calgary, se doctoró en Carnegie Mellon en 1983. Su tesis trataba la manipulación algebraica de restricciones, pero su trayectoria mostraba ya interés por las herramientas, incluido un editor relacionado con la historia de Emacs.

Entró en Sun Microsystems en 1984. Sun vendía estaciones Unix y apostaba por las redes. A finales de la década, vio que la informática podía extenderse a aparatos de consumo: terminales, mandos y equipos con procesadores variados.

La diversidad planteaba un problema. El código compilado para un procesador debía adaptarse o recompilarse para otro. Los lenguajes habituales también exponían operaciones de memoria capaces de causar errores difíciles de detectar, muy costosos en dispositivos distribuidos a gran escala.

Del proyecto Green a Oak

En 1991, Patrick Naughton, Mike Sheridan y James Gosling iniciaron Green. Gosling consideró C++, pero juzgó difícil garantizar la simplicidad, portabilidad y robustez buscadas. Diseñó Oak, llamado así por un roble visible desde su oficina.

Oak conservó una sintaxis familiar para C y C++ y eliminó fuentes de complejidad. Usaba memoria automática, no ofrecía aritmética general de punteros y organizaba los programas en clases. Se compilaba a un formato intermedio, el bytecode, no a instrucciones de un procesador.

Una máquina virtual adaptada a cada sistema ejecutaba el bytecode. El compilador producía un programa común y la máquina gestionaba las particularidades. La verificación y un entorno controlado intentaban limitar lo que podía hacer un programa descargado.

El equipo construyó el terminal experimental Star7 y el personaje Duke. El mercado previsto no se materializó: Oak tenía una arquitectura prometedora, pero aún no un terreno de adopción.

La Web cambió la trayectoria

En 1993 y 1994, la Web llegó al público. Los navegadores mostraban documentos en ordenadores muy distintos, justo el entorno heterogéneo para el que servía Oak.

El equipo reorientó su trabajo. Oak debía cambiar de nombre porque ya estaba protegido; Java fue anunciado en 1995 junto con HotJava. Los applets mostraron que un mismo bytecode podía descargarse y ejecutarse en varios sistemas.

«Write once, run anywhere» resumía la ambición. No significaba que todas las plataformas se comportaran igual: bibliotecas, gráficos, versiones y rendimiento podían diferir. Era un contrato arquitectónico que trasladaba gran parte de la adaptación a la plataforma Java.

Los applets desaparecieron porque los complementos generaron problemas de seguridad, rendimiento e interoperabilidad. Pero Java encontró un lugar duradero en aplicaciones empresariales, servidores, herramientas e indirectamente Android.

Un lenguaje definido por sus compromisos

Java no inventó por separado los objetos, el recolector ni las máquinas virtuales. Su éxito procede de combinarlos en un conjunto coherente y accesible.

El tipado estático detecta algunos errores antes de ejecutar. La memoria automática evita liberar cada asignación manualmente, sin eliminar todas las fugas. Las excepciones estructuran errores. La biblioteca estándar proporcionó abstracciones comunes para redes, archivos, interfaces y concurrencia.

Estos cambios tienen costes. La máquina virtual añade una capa; el recolector puede introducir pausas; la compatibilidad a largo plazo dificulta simplificar el pasado. Los compiladores JIT, nuevos recolectores y versiones posteriores redujeron progresivamente esas limitaciones.

De la máquina virtual a una plataforma duradera

Interpretar bytecode podía ser más lento que compilar directamente. Las máquinas virtuales adoptaron la compilación en tiempo de ejecución o JIT: observan el programa, identifican zonas frecuentes y las traducen a código optimizado.

La estrategia convierte una debilidad aparente en adaptación. Un compilador estático conoce el programa antes de lanzarlo; una máquina virtual observa caminos, tipos y carga reales. Puede optimizar y revertir decisiones si cambian sus hipótesis.

La seguridad evolucionó igual. Los applets usaban un sandbox para limitar archivos y sistema. Las vulnerabilidades mostraron que una frontera compleja nunca es garantía absoluta. Java conservó verificación y aislamiento, pero dejó de tener el navegador como entorno principal.

Desde 2006, Sun publicó gran parte de Java como software libre mediante OpenJDK. No eliminó marcas ni tensiones, pero permitió a varias organizaciones mantener distribuciones compatibles. Java pasó de producto dirigido por Sun a plataforma apoyada por empresas y comunidades.

El papel de Gosling en una obra colectiva

Gosling fue el principal diseñador y uno de los portavoces más visibles. La especificación, bibliotecas, máquina virtual y ecosistema son obra de muchos ingenieros y comunidades. Patrick Naughton, Mike Sheridan, Bill Joy, Guy Steele y equipos sucesivos tuvieron funciones distintas.

Precisarlo no reduce su aportación. Fijó una dirección: legibilidad, portabilidad y verificación con suficiente familiaridad para atraer a quienes conocían la familia C.

Tras la compra de Sun por Oracle, Gosling se marchó en 2010. Trabajó brevemente en Google y después en Liquid Robotics y Amazon Web Services. Java continuó evolucionando sin depender de una persona.

Por qué James Gosling sigue importando

Su legado supera el número de programas Java. Aparece en una idea hoy familiar: distribuir software en una forma intermedia y confiar portabilidad, optimización y parte de la seguridad a un entorno común.

La JVM aloja lenguajes como Kotlin, Scala y Clojure. Su longevidad demuestra que la infraestructura superó al lenguaje inicial y que la sintaxis no basta: herramientas, especificaciones, bibliotecas, compatibilidad y comunidad determinan la vida de un lenguaje.

Cronología

  • 1955: James Gosling nace cerca de Calgary.
  • 1977: se gradúa en informática en la Universidad de Calgary.
  • 1983: se doctora en Carnegie Mellon.
  • 1984: entra en Sun Microsystems.
  • 1991: comienza Green con Naughton y Sheridan; diseña Oak.
  • 1992: se muestra el terminal Star7.
  • 1994: Oak se reorienta hacia la Web.
  • 1995: se anuncian Java y HotJava.
  • 1996: se publica JDK 1.0.
  • 2002: Gosling y el equipo reciben el ACM Software System Award.
  • 2006: Sun anuncia Java libre; OpenJDK se convierte en referencia abierta.
  • 2010: Gosling deja Oracle tras la compra de Sun.
  • Hoy: Java y la JVM siguen siendo plataformas esenciales para software duradero.

Preguntas frecuentes

¿Creó James Gosling Java él solo?

No. Fue su principal diseñador, pero Java nació de Green y de numerosos equipos posteriores. Contribuyentes externos también moldearon la especificación y el ecosistema.

¿Por qué Oak pasó a llamarse Java?

Oak ya estaba protegido como marca. El equipo eligió otro nombre antes del anuncio de 1995. «Java» no describe una característica técnica.

¿Están relacionados Java y JavaScript?

No. Java se compila a bytecode para una máquina virtual; JavaScript fue creado en Netscape para el navegador. Su nombre aprovechó la visibilidad de Java.

¿Qué significa «Write once, run anywhere»?

Un programa compilado debería ejecutarse en cualquier máquina virtual compatible. Es un objetivo de portabilidad, no una garantía de gráficos, bibliotecas o rendimiento idénticos.

¿Sigue utilizándose Java sin applets?

Sí. Los applets desaparecieron, pero Java continúa en servidores, sistemas empresariales, herramientas e infraestructuras. La JVM también ejecuta otros lenguajes.

¿Cuál es la aportación más duradera de Gosling?

Combinó lenguaje y ejecución en un contrato de portabilidad creíble. La longevidad de la JVM demuestra que esa arquitectura importa tanto como la sintaxis.

Fuentes y referencias

  1. 1.James Gosling, Bill Joy et Guy Steele --- The Java Language Specification
  2. 2.Oracle --- A Brief History of Java
  3. 3.Computer History Museum --- Java: The Inside Story
  4. 4.ACM --- James Gosling, 2002 Software System Award

Colección

Lenguajes de programación

  1. 01Grace Hopper: de los primeros compiladores a COBOL
  2. 02John Backus: FORTRAN, la notación BNF y el rechazo del código máquina
  3. 03Dennis Ritchie: el lenguaje C en el corazón de Unix
  4. 04FORTRAN: demostrar que un compilador podía competir con el ensamblador
  5. 05El lenguaje C: hacer portables los sistemas sin ocultar la máquina
  6. 06Niklaus Wirth: de Pascal a Oberon, diseñar mediante la simplicidad
  7. 07Bjarne Stroustrup: diseñar C++ sin renunciar al rendimiento
  8. 08Pascal: aprender a programar haciendo visible la estructura
  9. 09C++: de C with Classes a un lenguaje de propósito general
  10. 10Programación orientada a objetos: objetos, mensajes y abstracciones reutilizables
  11. 11Guido van Rossum: crear Python para que el código sea legible
  12. 12Brendan Eich: JavaScript, del prototipo de Netscape al estándar web
  13. 13James Gosling: el ingeniero que dio origen a Java
  14. 14Python: legibilidad, baterías incluidas y un ecosistema mundial
  15. 15Java: escribir una vez, ejecutar en cualquier lugar
  16. 16JavaScript: el lenguaje que hizo interactiva la Web
  17. 17Ken Thompson: de Unix a Go, la simplicidad como método
  18. 18John McCarthy: Lisp y la idea de programar con símbolos
  19. 19Alan Kay: Smalltalk y el ordenador como medio personal
  20. 20Barbara Liskov: la abstracción que hizo modular el software
  21. 21Robin Milner: ML, la prueba asistida y los lenguajes de la interacción
  22. 22Brian Kernighan: AWK, Unix y el arte de explicar el código
  23. 23Anders Hejlsberg: de Turbo Pascal a C# y TypeScript
  24. 24Larry Wall: Perl, el lenguaje que conectó las herramientas de Internet
  25. 25Yukihiro Matsumoto: Ruby y la felicidad del programador
  26. 26Rasmus Lerdorf: PHP y la democratización de la Web dinámica

¿Te ha resultado útil este artículo?