Mas leido
Building Stories
Modo Rua: Redefiniendo el desarrollo de aplicaciones mediante iteración centrada en el usuario Ago 23
Building Stories
NuStories: Adaptación de productos para clientes fanáticos en varios países Oct 30
Culture & Values
Cómo los valores y la cultura de Nu dan forma a los productos que creamos Ago 7
Carreras
Reunimos a grandes mentes de diversos orígenes que permiten la discusión y el debate y mejoran la resolución de problemas.
Conoce más sobre nuestras carreras



Matt Swan (CTO de Nubank), Stuart Halloway (uno de nuestros líderes de Datomic), Lucas Cavalcanti (uno de nuestros Ingenieros Principales) y todos los ingenieros de Nu tuvieron el placer de hablar con James Gosling, considerado el padre del Lenguaje de Programación Java. La entrevista es parte de una iniciativa interna para reunir a luminarias de la industria para conversar con nuestro equipo de clase mundial y aprovechar sus conocimientos y experiencias.
Los profesionales de la tecnología siempre se enfrentan a muchos desafíos en la industria: “Todos sabemos lo importante que es estar sobre los hombros de gigantes”, dice Matt Swann, y Gosling es, sin duda, uno de esos gigantes.
Continúa leyendo este artículo para saber más sobre cómo Java cambió el mundo y los temas que trató James Gosling en la entrevista, como programación funcional versus orientada a objetos, inteligencia artificial, recolección de basura y mucho más.
¿Quién es James Gosling?
Antes de convertirse en “Dr. Java”, como le llaman a menudo, James Gosling era sólo un niño de la zona rural del oeste de Canadá, un lugar mucho más conocido por sus tractores que por sus ordenadores, como él mismo ha dicho en la entrevista一especialmente cuando pensamos en finales de los años 60, el retrato específico en el tiempo del que hablamos en este párrafo.
No podía decir el año con precisión, pero su mirada parecía viajar con su mente cuando compartió este recuerdo: en 1968 o 69, un amigo de su padre lo llevó a pasear por la Universidad de Calgary, y cuando pasaron por el centro de informática… algo hizo clic dentro de él.
Después de esa experiencia, comenzó a pasar tiempo en la Universidad, específicamente en su biblioteca, buscando información de las cuentas de los estudiantes para poder acceder a las computadoras de la Universidad. Después de algunos años en el Centro de Computación de Calgary, finalmente decidió obtener su licenciatura en informática.Pero fue en Estados Unidos, mientras realizaba su doctorado en la Universidad Carnegie Mellon, donde desarrolló una variante del popular editor de visualización Emacs. Algunos años más tarde, ya trabajando en el proyecto Sun Java, Gosling mencionó sus primeros proyectos como inspiración para el concepto de máquina virtual Java.
Descubre las oportunidades
Proyectos a largo plazo y Java
Gosling dijo que los proyectos a largo plazo eran su camino hacia la salud mental. Trabajar en un entorno acelerado como el mundo tecnológico puede ser perjudicial para la mente, porque, en sus palabras, “cuando estás siempre apagando incendios no tienes tiempo para descansar”.
Java fue más que un proyecto a largo plazo para Gosling: fue una creación de toda la vida que cambió el mundo de la programación para siempre. Esta práctica herramienta popularizó las mejores ideas de lenguajes anteriores dándoles un nuevo formato, familiar para el codificador de C promedio, pero no un superconjunto estricto de C.
Gosling menciona que, cuando estaba desarrollando Java con Mike Sheridan, Patrick Naughton y los otros ingenieros de Sun Java, “el mundo de la programación realmente se había quedado estancado con lenguajes de programación 1.1 como C y, eventualmente, C++”.
Cuando se le pregunta si hoy tomaría alguna decisión de diseño diferente, dice que no y niega las “incesantes discusiones sobre llaves colocadas de manera extraña” de la programación actual. Para él, son “un poco tontos” (sic). Aunque parece gustarle el estado actual de Java, dice que ha “evolucionado hasta ser bastante sorprendente”. Es un padre orgulloso, de hecho.
También menciona que, a veces, se deja atrapar por la idea de crear otro lenguaje, pero se aleja de la posibilidad, describiéndolo como “agarrarse a una cerca eléctrica”. Para él, la magia de Java no depende del lenguaje, lo que realmente importa es la máquina virtual que hay debajo.
Clojure y la singularidad del Dr. Java
James Gosling identifica en Clojure algo que, en su opinión, era una cualidad que también se encontraba en la programación funcional temprana: el hecho de que evita la mutabilidad.
Es posible obtener muchas características interesantes de esto, como subprocesos múltiples: la capacidad de un programa o sistema operativo para habilitar a más de un usuario a la vez sin requerir múltiples copias del programa que se ejecuta en la computadora.
Al evitar la mutabilidad, incluso puedes realizar cambios masivos y mutar cualquier cosa excepto el puntero de lectura. Esta característica también proporciona increíbles capacidades para compartir datos. Para él, la programación funcional versus la programación orientada a objetos nunca fue una guerra; reconoce el valor de ambos estilos.
Para James Gosling, la programación es un estilo autodisciplinado. Cuando codifica, intenta escribir de una manera muy funcional, aunque sus códigos puedan provocar extrañeza en los demás: ″cuando la gente mira algunos de mis códigos, dice ‘¿qué diablos está pasando aquí?’, porque tiendo a usar la recursividad cuando otras personas usan una matriz″. Una cita definitoria, dicha con tanta naturalidad一 algo que sólo pueden hacer genios como James Gosling.
Otros lenguajes de programación, el futuro de la codificación y un consejo importante para ingenieros menos experimentados
“Java funciona para mí”, esa es la respuesta que dio Gosling cuando le preguntaron si le gustan o utiliza otros lenguajes de programación. Pese a ello, admite que el segundo lenguaje que más utiliza es Shell Script. El Dr. Java también dijo que Rust funciona muy bien cuando se escriben controladores de dispositivos de bajo nivel, aunque define la mayoría de los lenguajes de scripting como ″realmente lentos″.
Después de esta ingeniosa mezcla de ascuas y elogios, James Gosling habló sobre el futuro de la programación. Dijo que últimamente se ha producido una actividad real en torno a las herramientas y que hay una fuerte tendencia que conduce a herramientas de programación basadas en IA en nuestro futuro. Para él, la refactorización de código, por ejemplo, se está volviendo mucho más poderosa con el uso de la IA.
Cuando se le pide que dé consejos a ingenieros menos experimentados, va directo al grano: ″diviértete″. La diversión es el elemento que hizo que le encantara la programación y, una vez que la encuentras, tu trabajo ya no es un trabajo一es una causa, y realmente puede impulsarte.
Para él, lo divertido estaba en crear programas que funcionaran todo el tiempo. Y de eso se trata realmente Java: de crear programas que no se rompan.
Puntero nulo, strictfp y Java ahora y antes
Para James Gosling, “todas las soluciones al problema nulo no parecen una solución real”. Por eso prefiere los sistemas de anotación y la función “@NonNull”, que rastrea el problema hasta su origen. También comentó sobre la selección de IEE754 como sistema aritmético oficial de Java y el contradictorio ″strictfp″ diseñado para Intel.
En sus palabras, “los mayores cambios en Java (con el tiempo) no han afectado directamente al lenguaje, sino que tendieron a afectar más a los fundamentos”. Para él, algo que realmente cambió la industria, y especialmente la recolección de basura, fueron las enormes cantidades de RAM.
Después de lograr tanto como ingeniero, ¿qué sigue para James Gosling?
Descubre las oportunidades