- James Gosling es el creador de Java y es considerado un genio práctico que ha influido en la computación moderna durante 30 años
- En un entorno de pobreza, aprendió a programar armando computadoras con piezas rescatadas de la basura, y ese aprendizaje autodirigido luego se reflejó en su filosofía de diseño de lenguajes
- Su etapa en Sun Microsystems, cuando convivían las bromas y la innovación, se convirtió en la base de la creatividad característica de Gosling y de su forma de construir cultura técnica
- Recientemente expresó un fuerte escepticismo sobre las herramientas de IA generativa y el boom de la IA, y subrayó que la importancia de la educación en programación ha crecido aún más
- El secreto de la supervivencia de Java no fue lo llamativo, sino una filosofía de diseño pragmática enfocada a fondo en la estabilidad, la compatibilidad hacia atrás y la productividad del desarrollador
Java at 30: The Genius Behind the Code That Changed Tech
- Java cumple 30 años este 23 de mayo como un lenguaje orientado a objetos, de alto nivel y de propósito general, y sigue siendo una tecnología clave que impulsa sistemas de todos los tamaños
- En la base de la existencia de Java estuvo el sentido práctico de la tecnología y la intuición creativa de James Gosling
- Gosling pasó de ser un adolescente canadiense autosuficiente que armaba computadoras reuniendo piezas de la basura a convertirse en un programador de talla mundial
- La filosofía de “escríbelo una vez, ejecútalo en cualquier parte” es el símbolo de Java, y se convirtió en una filosofía de lenguaje que impulsó un cambio fundamental en la forma de desarrollar software
- A lo largo de su carrera, Gosling combinó excelencia técnica, sentido lúdico y una clara conciencia ética, encarnando un perfil de desarrollador que ha influido de forma continua en la formación de la cultura de la computación moderna
James Gosling: The Brilliant Mind Behind Java
- James Gosling no es solo el “padre de Java”, sino un genio humilde capaz de explicar conceptos complejos de forma intuitiva
- Ahora, 30 años después de crear Java, repasa su recorrido tecnológico y la evolución del lenguaje y de la cultura de desarrollo
The Path To Programming: Resourceful Beginnings
- En una infancia marcada por la pobreza extrema, Gosling tuvo la experiencia de recoger televisores de la basura y desarrollar así su creatividad técnica
- Su primera computadora la ensambló con racks de relés descartados de la compañía telefónica, símbolo de su temprano sentido mecánico y habilidad para construir cosas
- Al visitar el centro de cómputo de la Universidad de Calgary, quedó fascinado por las pantallas, las luces parpadeantes y las unidades de cinta, y ahí comenzó su curiosidad de toda la vida por la programación
- Aprendió por su cuenta revisando tarjetas perforadas para conseguir contraseñas, y en la preparatoria escribió programas de análisis de datos satelitales para el departamento de física de la universidad, acumulando la experiencia de disfrutar programar mientras le pagaban por ello
- Su experiencia inicial en programación abarcó PL/1 en mainframes de IBM, Fortran, ensamblador de PDP-8 y código para CDC 6400. Con su tono sobrio característico, comentó de pasada que “en verano trabajó desarrollando un compilador de COBOL”, una tarea que incluso muchos programadores veteranos encontrarían difícil
Academia to Industry: Finding His Way
- Gosling describió la academia como “un laboratorio que usa estudiantes de posgrado como mano de obra barata”, mostrando una visión directa que prioriza lo práctico sobre lo teórico
- Incluso durante su doctorado en Carnegie Mellon trabajó en startups para ganar experiencia real, y luego terminó el grado, concretando una trayectoria flexible que combinó industria y academia
- Su primer empleo fue en IBM Research, pero la describió como “una empresa dedicada a dispararse en el pie”, manteniendo una actitud de análisis frío sobre la gestión empresarial y la estrategia tecnológica
- Estas experiencias tempranas se convirtieron después en una base de comprensión de una cultura organizacional centrada en la realidad, que influyó en su forma de trabajar en Sun Microsystems
The Sun Days: Innovation and Pranks
- Entre sus recuerdos más divertidos de Sun, Gosling destaca los grandes proyectos de bromas de April Fools’ que se hacían cada año, recordando una cultura organizacional donde convivían creatividad y diversión
- Un ejemplo famoso fue poner a flotar un Ferrari sobre una plataforma en un estanque, caso que mostró sentido del humor apoyado en capacidad de resolver problemas de ingeniería y trabajo en equipo
- Otra broma fue construir en la oficina del CEO un campo de golf de un hoyo con césped artificial, bunker y obstáculo de agua, mencionado como un intento original que combinaba tecnología y juego
- Gosling recuerda a Sun como “un entorno poco común donde se permitían al mismo tiempo la excelencia técnica y la creatividad juguetona”, y eso se convirtió en la base de su enfoque general para resolver problemas y de su actitud hacia la tecnología
Java: Creating a Legacy That Changed Everything
- El recorrido de 30 años de Java es para Gosling su logro más representativo y el punto de inflexión decisivo de su vida tecnológica
- Menciona la profunda satisfacción por el impacto que dejó en el ecosistema de desarrolladores cada vez que alguien en la calle le dice: “Conseguí mi carrera gracias a Java”
- Quiso incluir funciones como lambdas y genéricos desde el principio, pero ajustó su incorporación según la filosofía de diseño de “no meterlas de la manera equivocada”
- Sobre la gestión de Java por parte de Oracle, dijo que “lo hicieron mejor de lo esperado”, y enfatizó que en realidad la participación y la contribución continua de la comunidad han jugado un papel clave
- Java ha evolucionado para optimizarse para entornos cloud y ha alcanzado un nivel técnico “realmente impresionante” en soporte multicore, manejo de memoria y mejoras del GC
Beyond Java: Ventures After Sun
- Después de la adquisición de Sun por Oracle, Gosling descansó un tiempo, entró a Google y renunció seis meses después para irse a Liquid Robotics
- Ahí desarrolló sistemas de control para robots marinos autónomos y vivió condiciones de trabajo únicas que combinaban tecnología y naturaleza, como tareas que requerían hacer snorkel en Hawái
- Participó en proyectos para monitorear temperaturas oceánicas en el Ártico y la Antártida, pero la investigación ambiental tenía poco financiamiento y chocó con la estructura de una startup respaldada por venture capital
- Ante la presión de virar hacia el sector defensa, renunció por razones éticas y luego trabajó en AWS en el proyecto Greengrass y en herramientas de desarrollo, manteniendo una trayectoria que combinó interés técnico y criterios éticos
On Open Source and Industry Trends: Cutting Through the Hype
- El open source se describe como un ecosistema complejo que va más allá de una simple herramienta de colaboración, y funciona también como relación con desarrolladores, estrategia de marketing y modelo de adopción bottom-up
- Sobre la tendencia low-code/no-code, expresó escepticismo diciendo que es una idea repetida desde la época de COBOL, y la ve como un enfoque especializado con límites al aplicarse a dominios complejos
- Sostiene que en IA y machine learning el problema está más en el nombre que en la tecnología, y plantea una crítica terminológica: que “técnicas estadísticas avanzadas” describe mejor la esencia
- Afirma que la IA es solo una herramienta y no debe confundirse con una entidad autónoma, y que debe entenderse como una herramienta avanzada para asistir al trabajo humano, no para amenazarlo
Developer Tools and Preferences: Embracing Progress
- Gosling usa NetBeans IDE como herramienta principal de desarrollo y muestra apoyo al open source bajo licencia Apache y a una comunidad activa
- Respecto a quienes siguen aferrados a Vi o a herramientas de los 70 y 80, expresó cierta frustración ante una actitud que rechaza el progreso tecnológico
- Aunque a veces usa Vi porque puede ejecutarse en cualquier lugar, apoya con fuerza el uso de IDE modernos para entornos de desarrollo serios
The JVM Vision: From Academic Concept to Global Standard
- El concepto inicial de la Java Virtual Machine (JVM) surgió en la época de posgrado de Gosling, a partir de experimentos con formatos de distribución neutros respecto a la arquitectura y de investigación sobre traducción de instrucciones
- Más adelante eso evolucionó no solo para Java, sino hacia una tecnología de plataforma de ejecución de propósito general capaz de correr varios lenguajes en distintos tipos de hardware
- La filosofía de ‘Write once, run anywhere’ fue rechazada al principio como tema de tesis doctoral por falta de base matemática, pero terminó convirtiéndose en una tecnología práctica que cambió el entorno mundial de desarrollo de software
More Recent Work: Bridging IoT Gaps at AWS
- En AWS, Gosling participó en el desarrollo de Greengrass, un framework de aplicaciones IoT, materializando un enfoque técnico que simplifica con elegancia problemas complejos
- Abstrajo trabajos repetitivos y boilerplate entre despliegue y operación, como actualizaciones OTA, control remoto, telemetría, confiabilidad de red, seguridad y gestión de autenticación
- El código del lado del dispositivo se publicó como open source, promoviendo aportaciones de la comunidad para portar la tecnología a plataformas no prioritarias para Amazon, como RISC-V
- Otro proyecto de herramientas de desarrollo en el que participó después se canceló al quedar atrapado por el boom de la IA, lo que sugiere problemas derivados de una confusión guiada más por la moda que por la autenticidad técnica
AI Skepticism
- En entrevistas recientes, Gosling se refirió a la revolución de la IA como “en su mayoría un fraude”, mostrando una mirada escéptica que ve a la IA como un término de marketing tóxico
- Aunque reconoce que se trata de una tecnología matemáticamente impresionante, señala que el nombre IA oscurece la verdadera naturaleza técnica de estas herramientas como técnicas estadísticas avanzadas
- Critica con dureza la fiebre de la IA impulsada por venture capital, llamándola “un punto de reunión de estafadores y vendedores de humo”, y denuncia la búsqueda de ganancias rápidas centrada en el exit más que en tecnología realmente útil
- También advierte que la mayor parte del dinero invertido en IA terminará “tragado por un agujero negro”, como alerta sobre un flujo de capital guiado por modas sin sostenibilidad
Is It a Vibe? AI Coding Tools: Impressive Demos, Limited Utility
- Las herramientas de código con IA generativa causan una fuerte primera impresión, pero tienen una estructura limitada que falla apenas la tarea se vuelve un poco más compleja
- Estas herramientas solo pueden raspar y repetir muestras de código existentes, y los problemas realmente interesantes siempre son nuevos, por lo que no encajan bien con herramientas basadas en la copia
- En entornos de desarrollo profesional, el código patrón tiende a converger en bibliotecas, así que la generación de código por IA choca estructuralmente con las necesidades reales del desarrollo
- Gosling define el verdadero valor de la IA como una herramienta de búsqueda que se hace cargo de la documentación que nadie quiere escribir, destacando su utilidad como apoyo especializado para explicar cómo usar APIs
Java’s Evolution: Language Features and Runtime Improvements
- Entre los cambios recientes del lenguaje Java, mejoras como la inferencia de tipos y la forma de declarar arreglos son evaluadas como extensiones útiles que aumentan la comodidad de desarrollo
- Sin embargo, Gosling enfatiza que el avance más impresionante de Java está en la mejora de la calidad del entorno de ejecución JVM y de la biblioteca estándar
- La JVM moderna muestra un rendimiento de ejecución que ha llegado a un nivel “asombroso” en calidad de código, rendimiento de hilos y garbage collection
- Señala también que, en manejo de memoria y predictibilidad de rendimiento, es más eficiente que C basado en
malloc, y menciona la posibilidad de ajustar las pausas del GC hasta unos pocos milisegundos
- La JVM actual se evalúa como un entorno de ejecución de alto rendimiento capaz de manejar de forma estable espacios de memoria absurdamente grandes
Programming Languages for Critical Infrastructure
- Ante la pregunta de en qué lenguaje debería reescribirse el sistema de control aéreo de la FAA, Gosling rechaza la premisa, diciendo que sería como “construir una casa eligiendo primero el martillo”
- Enfatiza que antes hay que entender claramente las propiedades del dominio del problema, como sistemas de comunicación, normativas internacionales, rutas de vuelo y evasión de colisiones, y solo después elegir la tecnología
- Aun así, agrega que para sistemas grandes donde la confiabilidad es crítica, Java puede ser un candidato fuerte
The Future of Programming in an AI World
- Aunque la IA siga avanzando, Gosling sostiene que la programación seguirá siendo una habilidad esencial, y afirma que si tuviera hijos, sin duda les enseñaría a programar
- Critica las afirmaciones de ejecutivos de big tech que dicen que la IA reemplazará a los desarrolladores humanos, calificándolas como amenazas defensivas para intensificar el trabajo
- Desarrolla la idea de que para entender bien los sistemas se necesita capacidad de programación, y que aunque una máquina haga parte del trabajo, la base de comprensión técnica humana debe mantenerse
Java’s Longevity Secret
- Como razones de la supervivencia de Java durante más de 30 años, Gosling menciona la capacidad de resolver problemas reales, el respeto por el usuario, la compatibilidad hacia atrás, la mejora de productividad y una filosofía centrada en la confiabilidad
- Siempre ha priorizado la utilidad práctica constante por encima de las modas del lenguaje, y su filosofía de diseño centrada en la realidad, enfocada en resultados más que en estilo, fue especialmente efectiva en entornos empresariales
- Desde la perspectiva de que el software “siempre debe funcionar correctamente”, Java sigue siendo una herramienta de ingeniería honesta y práctica
Oracle’s Stewardship: Better Than Expected
- Gosling dijo sobre la gestión de Java por parte de Oracle después de la compra de Sun Microsystems que “lo hicieron mucho mejor de lo que pensaba”, expresando sorpresa por un desempeño que superó sus expectativas
- Al principio temía “despojo y saqueo” por el historial pasado de la empresa, pero terminó valorando positivamente que no interfiriera con el equipo de Java y lo protegiera, preservando independencia y foco técnico
- Aunque señaló que faltó apoyo financiero, le dio una alta calificación al hecho de que se mantuviera una estructura que garantizaba la autonomía del equipo técnico sin interferencia corporativa
Crab Lovers Unite!
- Gosling ha dicho que quiere trabajar con la gente con la que le gustaría sentarse a comer, mostrando una actitud que valora criterios de colaboración centrados en las personas
- El periodista se encontró por casualidad con Gosling en Thanh Long, un restaurante de cangrejo en San Francisco, y dejó registro de ese momento en que una figura gigante del mundo tech aparece en una escena cotidiana
- Después ambos comieron cangrejo y conversaron juntos, y al prometer volver a verse en el mismo lugar transmitieron la calidez de un intercambio humano que va más allá de la tecnología
13 comentarios
Yo también creo que, entre los lenguajes de tipado estático, Java es el más cómodo y fácil de usar.
Aun así, desde el punto de vista del desarrollo general y práctico, escribir en Java aplicaciones orientadas al usuario final con GUI no era una muy buena elección. (Desde esa perspectiva, la combinación de C# + .NET es la mejor de todas).
Considerando las ventajas de Java, creo que el caso más adecuado en términos prácticos es usarlo en backend o middleware.
En fin, como de vez en cuando me toca usarlo, siento que siempre es un lenguaje que puedo manejar sin demasiada carga, así que me quedan más experiencias positivas con él.
La historia de que programaba desarmando televisores sacados de la basura suena como el puro inicio de una leyenda.
Es cierto que, después de Java, los lenguajes empezaron a enfocarse en la productividad.
Antes de eso, C++, que se usaba mucho, todavía hoy es terrible incluso solo de leer. Sobre todo cuando te toca meter mano en proyectos de larga duración.
Me cuesta estar de acuerdo con que Java priorizara la productividad del desarrollador.
¿Hay otro lenguaje que haya evolucionado hasta depender tan profundamente de un IDE como Java?
Hice un comentario imprudente.
Depender profundamente del IDE es un problema del ecosistema de Java, que ha evolucionado de forma poco ideal,
no un problema a nivel de diseño.
Dicho mal y pronto, hoy en día para desarrollar en Java no hace falta usar a la fuerza un producto de JetBrains,
pero igual que todos lo usan.
Y si miras la lista de lenguajes de programación de cuando apareció Java, había muchos lenguajes con implementaciones dependientes de la plataforma, es decir, del sistema operativo.
Java fue el que mostró la dirección que luego seguirían lenguajes como Node, Python y C#, capaces de ejecutarse en varios sistemas operativos con el mismo código.
Hoy en día, la compatibilidad de correr el mismo código en distintos sistemas operativos es algo tan obvio que ya es "sentido común".
> Francamente, hoy en día desarrollas en Java y tampoco es que necesariamente tengas que usar productos de JetBrains.
En esta parte... me cuesta un poco estar de acuerdo, sniff sniff...
Ahora parece algo bastante natural,
pero cuando salió Java, ¿no habrá sido ya una ayuda bastante grande para la productividad el solo hecho de soportar de forma estable múltiples plataformas sin necesidad de una nueva compilación?
Parece que, en comparación con los lenguajes anteriores a Java, la productividad es mejor.
c++ > c# >= java
C# >= Java > C++
Comentarios de Hacker News
hotswap.java.util.concurrento JCTools.value typede Go facilitan la optimización. Llama la atención que se mencione específicamente a Go, y considerando que C# es más rápido que Java, se concluye que Java no estaría en tercer lugar sino más bien en quinto.sealed class,switch expression, Project Loom yrecords, introducidos recientemente en Java, se integraron de forma natural con la sintaxis existente. También se percibe que las herramientas de diagnóstico de Java, como los analizadores deheap dumpy de GC, están entre las mejores.lifetimesorprenden y bajan la productividad. Sin duda transmite una fuerte sensación de seguridad de tipos, pero en conjunto cuesta decir que sea una experiencia realmente divertida.value typedesde hace muchísimo tiempo y una FFI conveniente. Fuera de Unity, sin embargo, parece que a la gente no le importa demasiado, y se cree que Microsoft fracasó hace años en posicionarlo mejor en la conciencia popular.rewriteayuda incluso en revisiones de seguridad, pero por lo general las empresas no tienen margen para eso; solo excepciones como Google.fork/join pool, mientras que .NET simplemente metiówork-stealingen un thread pool global, lo que hace que el códigosync-over-asyncprovoque deadlocks generales con facilidad. En una base de código grande, pedir una conversión total de código síncrono a asíncrono es prácticamente imposible. Del lado de Java, incluso si hay errores a nivel de librería o framework, se suelen superar pronto; en .NET, si el problema está en la librería estándar, el lenguaje o el runtime, es mucho más difícil arreglarlo. Java acertó con muchos estándares base.thread pool starvationen .NET resulta muy irritante, aunque se dice que últimamente impacta menos. Se piensa que es imposible una implementación totalmente inmune al mal uso del thread pool; lo único viable es aumentar threads o ajustar inteligentemente el orden del trabajo. Quien comenta aclara que no es especialista en thread pools.straceogdb, y el sobreaprovisionamiento de memoria complicaba que el kernel entendiera bien la carga. También se percibía que, al usar la JVM, sin ayuda de expertos era fácil terminar con problemas graves. Además, Oracle, las licencias, la gestión de versiones del JDK, la falta de una imagen atractiva en 2025 y el peso del código legado se ven como puntos negativos. En lo personal, se ha construido una carrera evitando Java en lo posible. Hoy existen muchos lenguajes de alto rendimiento basados en compilación estática y ejecutables pequeños con menor complejidad operativa, por lo que el papel de soluciones como la JVM o la VM de Python parece ir reduciéndose.jstack, HPROF, etc. Se apunta además que la licencia open source no impone restricciones de uso y que comprar la JVM de Oracle es una elección opcional. Se pregunta incluso cuál sería exactamente el problema con el código legado.strace/gdb, las herramientas del JDK y los IDE son abrumadoramente superiores.strace/gdb, y el soporte de depuración/IDE es muy potente. Poner Python y la JVM al mismo nivel en rendimiento no es apropiado.Parece que el bando de C# estaba escondido por ahí.