- James Gosling é o criador do Java e é visto como um gênio pragmático que influenciou a computação moderna por 30 anos
- Vindo de um ambiente pobre, aprendeu programação montando computadores com peças tiradas do lixo, e esse aprendizado autodidata mais tarde se refletiu em sua filosofia de design de linguagem
- Na Sun Microsystems, a era em que brincadeira e inovação coexistiam serviu de base para a criatividade característica de Gosling e para a formação de uma cultura técnica
- Recentemente, ele demonstrou forte ceticismo em relação às ferramentas de IA generativa e ao boom da IA, e enfatizou que a importância do ensino de programação aumentou ainda mais
- O segredo da sobrevivência do Java não foi o brilho, mas uma filosofia de design pragmática voltada rigorosamente para estabilidade, retrocompatibilidade e produtividade do desenvolvedor
Java at 30: The Genius Behind the Code That Changed Tech
- O Java completa 30 anos em 23 de maio como uma linguagem de propósito geral, de alto nível e orientada a objetos, e ainda hoje é uma tecnologia central que move sistemas dos mais diversos portes
- Na base da existência do Java está o senso técnico pragmático e a intuição criativa de James Gosling
- Gosling começou como um adolescente canadense independente, que montava computadores juntando peças do lixo, e cresceu até se tornar um programador de alcance mundial
- A filosofia de “escreva uma vez, execute em qualquer lugar” é o símbolo do Java e levou a uma filosofia de linguagem que provocou uma mudança fundamental na forma de desenvolver software
- Ao longo da carreira, Gosling conciliou excelência técnica, espírito brincalhão e um forte senso ético, encarnando um modelo de desenvolvedor que influenciou continuamente a formação da cultura da computação moderna
James Gosling: The Brilliant Mind Behind Java
- James Gosling não é apenas o “pai do Java”, mas um gênio humilde capaz de explicar conceitos complexos de forma intuitiva
- Agora, 30 anos após criar o Java, ele relembra sua trajetória tecnológica e revisita o processo de evolução da linguagem e da cultura de desenvolvimento
The Path To Programming: Resourceful Beginnings
- Na infância, em meio a uma situação de extrema pobreza, Gosling teve a experiência de recolher televisores do lixo e desenvolver sua criatividade técnica
- Seu primeiro computador foi montado com racks de relés descartados pela companhia telefônica, simbolizando uma aptidão mecânica e uma habilidade de montagem evidentes desde cedo
- Ao visitar o centro de computação da Universidade de Calgary, ficou fascinado pelas telas, luzes piscando e unidades de fita, e ali começou uma curiosidade pela programação que duraria a vida toda
- Ele estudou sozinho vasculhando cartões perfurados para obter senhas e, ainda no ensino médio, criou um programa de análise de dados de satélite para o departamento universitário de física, acumulando a experiência de gostar de programar e ainda ser pago por isso
- Suas primeiras experiências de programação passaram por PL/1 em mainframes IBM, Fortran, assembly de PDP-8 e código do CDC 6400. Em seu tom contido característico, comentou casualmente: “No verão, trabalhei desenvolvendo um compilador COBOL”, algo que muitos programadores experientes teriam dificuldade até de encarar
Academia to Industry: Finding His Way
- Gosling descreve o meio acadêmico como “um laboratório que usa pós-graduandos como mão de obra barata”, revelando uma visão direta que valoriza mais a prática do que a teoria
- Mesmo durante o doutorado em Carnegie Mellon, trabalhou em startups para ganhar experiência prática e depois concluiu o curso, realizando uma trajetória flexível que combinou indústria e academia
- Seu primeiro emprego foi no IBM Research, mas ele o descreveu como uma “empresa dedicada a dar tiros no próprio pé”, mantendo uma postura analítica e fria sobre gestão corporativa e estratégia tecnológica
- Essas experiências iniciais depois se tornaram a base de sua compreensão, orientada pela realidade, da cultura organizacional, influenciando sua forma de atuar na Sun Microsystems
The Sun Days: Innovation and Pranks
- Como uma de suas lembranças mais divertidas da Sun, Gosling cita os grandes projetos anuais de pegadinhas de Primeiro de Abril, recordando uma cultura organizacional em que criatividade e bom humor conviviam
- Um exemplo clássico foi colocar uma Ferrari sobre uma plataforma flutuando em um lago, um caso que mostrou senso de humor apoiado por engenharia e trabalho em equipe
- Outra pegadinha mencionada foi montar um campo de golfe de 1 buraco no escritório do CEO, com grama artificial, bunker e obstáculo de água, como uma tentativa original de unir tecnologia e diversão
- Gosling lembra a Sun como “um ambiente raro em que excelência técnica e criatividade brincalhona eram permitidas ao mesmo tempo”, e isso serviu de base para sua visão sobre tecnologia e seu modo geral de resolver problemas
Java: Creating a Legacy That Changed Everything
- A jornada de 30 anos do Java é, para Gosling, sua realização mais emblemática e o ponto de virada decisivo de sua vida tecnológica
- Ele menciona a profunda satisfação com o impacto deixado no ecossistema de desenvolvedores sempre que alguém na rua lhe diz: “Consegui minha carreira graças ao Java”
- Recursos como lambdas e genéricos eram coisas que ele queria desde o início, mas o momento de introduzi-los foi ajustado segundo a filosofia de design de “não vou colocar isso do jeito errado”
- Sobre a gestão do Java pela Oracle, avaliou que “foi melhor do que o esperado” e enfatizou que, na prática, a participação e a contribuição contínuas da comunidade tiveram papel central
- O Java evoluiu de forma otimizada para ambientes de nuvem e alcançou um nível técnico “realmente impressionante” em suporte a multicore, tratamento de memória e melhorias de GC
Beyond Java: Ventures After Sun
- Depois da aquisição da Sun pela Oracle, Gosling tirou um breve descanso, entrou no Google e, seis meses depois, saiu para ir à Liquid Robotics
- Lá, desenvolveu sistemas de controle para robôs oceânicos autônomos e viveu condições de trabalho únicas que uniam tecnologia e natureza, como um ambiente em que era preciso fazer snorkel no Havaí
- Participou de projetos para monitorar a temperatura dos oceanos no Ártico e na Antártida, mas a pesquisa ambiental sofria com falta de recursos e ele enfrentou choques com a estrutura de startups apoiadas por venture capital
- Diante da pressão para migrar para a área de defesa, saiu por razões éticas e seguiu para a AWS, trabalhando no projeto Greengrass e em ferramentas de desenvolvimento, mantendo uma trajetória profissional guiada ao mesmo tempo por interesse técnico e critérios éticos
On Open Source and Industry Trends: Cutting Through the Hype
- O open source é descrito como mais do que uma simples ferramenta de colaboração: trata-se de um ecossistema complexo que também funciona como relação com desenvolvedores, estratégia de marketing e modelo de adoção bottom-up
- Sobre a tendência low-code/no-code, ele expressa ceticismo, dizendo que é um argumento repetido desde os tempos do COBOL, e a vê como uma abordagem especializada com limites quando aplicada a domínios complexos
- IA e machine learning, segundo ele, têm um problema mais de nomenclatura do que de tecnologia, levantando uma crítica ao termo ao dizer que “técnicas estatísticas avançadas” descreve melhor sua essência
- A IA é apenas uma ferramenta e não deve ser confundida com uma entidade autônoma; ela deve ser vista como uma ferramenta sofisticada que auxilia, e não ameaça, o trabalho humano
Developer Tools and Preferences: Embracing Progress
- Gosling usa o NetBeans IDE como principal ferramenta de desenvolvimento e demonstra apoio ao open source sob licença Apache e a uma comunidade ativa
- Em relação a desenvolvedores que ainda se apegam ao Vi ou a ferramentas dos anos 70 e 80, ele expressa frustração com a recusa em aceitar o progresso tecnológico
- Ele ainda usa Vi às vezes por rodar em qualquer lugar, mas defende fortemente o uso de IDEs modernas em ambientes reais de desenvolvimento
The JVM Vision: From Academic Concept to Global Standard
- O conceito inicial da Java Virtual Machine (JVM) surgiu ainda no período de pós-graduação de Gosling, a partir de experimentos com formatos de distribuição neutros em relação à arquitetura e pesquisas em tradução de instruções
- Isso evoluiu mais tarde para uma tecnologia de plataforma de execução universal, na qual não apenas Java, mas várias linguagens podem rodar em diferentes tipos de hardware
- A filosofia “Write once, run anywhere” chegou a ser rejeitada como tema de tese por supostamente não ter base matemática suficiente, mas acabou se tornando uma tecnologia prática que transformou o ambiente global de desenvolvimento de software
More Recent Work: Bridging IoT Gaps at AWS
- Na AWS, Gosling participou do desenvolvimento do Greengrass, um framework de aplicações IoT, implementando uma abordagem técnica que simplifica com elegância problemas complexos
- O projeto abstraía tarefas boilerplate recorrentes entre implantação e operação, como atualizações OTA, controle remoto, telemetria, confiabilidade de rede, segurança e gerenciamento de autenticação
- O código do lado do dispositivo foi disponibilizado como open source, incentivando contribuições da comunidade para portar a tecnologia a plataformas não prioritárias para a Amazon, como RISC-V
- Outro projeto de ferramenta de desenvolvimento do qual participou depois acabou interrompido no meio do boom da IA, sugerindo problemas causados por uma confusão guiada mais pela moda do que pela autenticidade técnica
AI Skepticism
- Em entrevistas recentes, Gosling descreveu a revolução da IA como “em grande parte uma fraude”, mostrando uma visão cética que considera IA um termo de marketing tóxico
- Embora reconheça que a tecnologia é matematicamente impressionante, aponta o problema de que o nome IA ofusca a natureza real da tecnologia, que são técnicas estatísticas avançadas
- Ele critica duramente a febre de IA liderada por venture capital como “um ponto de encontro de vigaristas e exageradores”, denunciando a busca por lucro rápido e saídas financeiras acima da utilidade tecnológica real
- Ao dizer que a maior parte do dinheiro investido em IA acabará sendo “engolida por um buraco negro”, ele faz um alerta sobre fluxos de capital insustentáveis guiados por modismo
Is It a Vibe? AI Coding Tools: Impressive Demos, Limited Utility
- Ferramentas de código com IA generativa causam forte impressão no início, mas têm uma estrutura limitada que falha assim que as coisas ficam um pouco mais complexas
- Essas ferramentas só conseguem raspar e repetir amostras de código existentes, e os problemas realmente interessantes são sempre novos, o que não combina com ferramentas baseadas em cópia
- Em ambientes profissionais de desenvolvimento, o código padronizado tende a convergir para bibliotecas, então a geração de código por IA entra em choque estrutural com as exigências reais do desenvolvimento
- Gosling define o uso realmente útil da IA como uma ferramenta de busca que faz o trabalho de documentação que ninguém quer fazer, destacando seu valor como ferramenta auxiliar especializada em explicar como usar APIs
Java’s Evolution: Language Features and Runtime Improvements
- Entre as mudanças recentes na linguagem Java, recursos como inferência de tipos e melhorias na forma de declarar arrays são avaliados como extensões úteis que aumentaram a conveniência para o desenvolvedor
- No entanto, Gosling enfatiza que o avanço mais impressionante do Java está na melhoria da qualidade da JVM e das bibliotecas padrão
- A JVM moderna apresenta um desempenho de execução que chegou a um nível “surpreendente” em qualidade de código, desempenho de threads e garbage collection
- Em gestão de memória e previsibilidade de desempenho, ela é mais eficiente do que a linguagem C baseada em
malloc, e ele também menciona a possibilidade de ajustar pausas de GC para poucos milissegundos
- A JVM atual é vista como um ambiente de runtime de alto desempenho capaz de lidar de forma estável até com espaços de memória absurdamente grandes
Programming Languages for Critical Infrastructure
- Sobre reescrever o sistema de controle de tráfego aéreo da FAA em alguma linguagem, Gosling rejeita a premissa da pergunta, dizendo que isso seria “como escolher um martelo antes de construir a casa”
- Ele enfatiza que primeiro é preciso entender claramente as características do domínio do problema, como sistemas de comunicação, regulamentações internacionais, rotas de voo e prevenção de colisões, para só então escolher a tecnologia
- Ainda assim, acrescenta que, para sistemas grandes e críticos em confiabilidade, o Java pode ser um candidato forte
The Future of Programming in an AI World
- Mesmo com o avanço da IA, programação continua sendo uma habilidade essencial, e Gosling afirma que se tivesse filhos, ensinaria programação a eles sem hesitar
- Ele critica as declarações de executivos de big tech de que a IA substituirá desenvolvedores humanos, chamando isso de ameaças defensivas para intensificar a pressão sobre o trabalho
- Para compreender corretamente os sistemas, é preciso ter capacidade de programação, e ele defende que mesmo que máquinas façam parte do trabalho, a base de entendimento técnico humano precisa permanecer
Java’s Longevity Secret
- Como explicação para o fato de o Java ter sobrevivido por mais de 30 anos, Gosling aponta capacidade real de resolver problemas, respeito ao usuário, retrocompatibilidade, aumento de produtividade e uma filosofia centrada em confiabilidade
- Em vez de seguir modas de linguagem, o Java sempre enfatizou uma utilidade prática consistente, e uma filosofia de design voltada para a realidade, focada em resultado mais do que em estilo, foi especialmente eficaz no ambiente corporativo
- Partindo da visão de que software “deve sempre funcionar direito”, o Java permanece uma ferramenta de engenharia honesta e pragmática
Oracle’s Stewardship: Better Than Expected
- Sobre a forma como a Oracle conduziu o Java após a aquisição da Sun Microsystems, Gosling disse que “foi muito melhor do que eu imaginava”, expressando surpresa com um desempenho acima do esperado
- No início, ele temia “saque e pilhagem” por causa do histórico anterior da empresa, mas depois avaliou positivamente o fato de a equipe do Java ter sido protegida e não atrapalhada, preservando independência e foco técnico
- Embora tenha criticado a falta de apoio financeiro, deu nota alta ao fato de que foi mantida uma estrutura com autonomia para a equipe técnica, sem interferência corporativa excessiva
Crab Lovers Unite!
- Gosling diz há tempos que quer trabalhar com pessoas com quem também gostaria de jantar, mostrando uma postura que valoriza critérios de colaboração centrados nas pessoas
- O jornalista conta que encontrou Gosling por acaso no restaurante especializado em caranguejo Thanh Long, em San Francisco, registrando o momento em que uma figura gigantesca da tecnologia aparece em meio à vida cotidiana
- Depois, os dois comeram caranguejo juntos e conversaram, prometendo que o próximo encontro seria no mesmo lugar, transmitindo o calor humano de uma troca que vai além da tecnologia
13 comentários
Eu também acho que, entre as linguagens de tipagem estática, Java é a mais confortável e fácil de usar.
No entanto, do ponto de vista de um desenvolvimento genérico e prático, escrever em Java aplicativos voltados ao usuário final com GUI não era uma escolha muito boa. (Nessa perspectiva, a combinação C# + .NET é a melhor de todas.)
Considerando as vantagens do Java, acho que os melhores casos de uso, do ponto de vista prático, são backend ou middleware.
De qualquer forma, como é uma linguagem que de vez em quando preciso usar e que sempre dá para lidar sem pressão, acho que acabei ficando com mais experiências boas com ela.
Essa história de que ele programava desmontando TVs no ferro-velho parece mesmo o começo de uma lenda.
É verdade que, depois de Java, as linguagens passaram a dar atenção à produtividade.
Antes disso, o C++, que era muito usado, continua sendo assustador até de ler. Especialmente quando você mexe em projetos de longa duração.
É difícil concordar com a ideia de que o Java priorizou a produtividade dos desenvolvedores.
Existe outra linguagem que tenha evoluído a ponto de depender tão profundamente de uma IDE quanto o Java?
Acho que fiz um comentário imprudente.
Depender profundamente de IDE é um problema do ecossistema Java, que evoluiu de forma pouco ideal,
e não um problema no nível do design.
Falando de forma bem direta, hoje em dia, para desenvolver em Java, não é preciso necessariamente usar um produto da JetBrains,
mas, como todo mundo usa, acaba parecendo que é.
Além disso, se você olhar a lista de linguagens de programação da época em que o Java surgiu, muitas tinham implementações dependentes de plataforma, ou seja, dependentes do sistema operacional.
Foi o Java que mostrou a direção que linguagens como Node, Python e C# seguem: rodar em vários sistemas operacionais com o mesmo código.
Hoje em dia, essa compatibilidade de rodar o mesmo código em vários sistemas operacionais é um "bom senso" óbvio.
> Falando bem francamente, hoje em dia, para desenvolver em Java, não é exatamente necessário usar produtos da JetBrains
Essa parte... é um pouco difícil de concordar, sniff sniff...
Hoje isso parece meio óbvio,
mas, na época em que o Java surgiu, só o fato de oferecer suporte estável a múltiplas plataformas sem a necessidade de um novo build já não ajudava bastante na produtividade?
Em comparação com as linguagens anteriores ao Java, parece até ter uma produtividade melhor.
c++ > c# >= java
C# >= Java > C++
Comentários do Hacker News
java.util.concurrentou JCTools.straceegdbera difícil, e a superalocação de memória tornava mais difícil para o kernel entender a carga de trabalho. Também sentia que, ao usar a JVM, sem ajuda de especialistas havia alto risco de problemas sérios. Além disso, Oracle, licenciamento, gestão de versões do JDK e a falta de uma imagem interessante em 2025 também pesam, junto com o fardo do código legado. Pessoalmente, construí minha carreira evitando Java ao máximo. Hoje há muitas linguagens de alto desempenho com compilação estática, binários pequenos e menos complexidade operacional, então o papel de soluções como JVM ou a VM do Python também parece estar diminuindo.jstacke HPROF. Quanto à licença, o uso open source não tem restrições, e comprar a JVM da Oracle é apenas uma escolha opcional. E qual exatamente seria o problema com código legado?strace/gdb, as ferramentas do JDK e as IDEs têm desempenho esmagadoramente melhor.strace/gdb; o suporte de debugging/IDE é muito forte. Também não faz sentido colocar Python e JVM no mesmo nível em termos de desempenho.Tem uma turma do C# escondida aí no meio.