Java 30周年:改变科技的代码背后的天才
Java at 30: Interview with James Gosling

原始链接: https://thenewstack.io/java-at-30-the-genius-behind-the-code-that-changed-tech/

詹姆斯·高斯林,Java之父,凭借其“一次编写,随处运行”的理念彻底改变了软件开发。在Java 30周年之际,他回顾了Java的演变历程和自己的人生旅程。从青少年时期利用废弃零件组装电脑,到获得大学编程工作,他早期的经历塑造了他的职业生涯。在Sun Microsystems,他和团队一起营造了创新文化,伴随着轻松的玩笑,最终创造了Java。他对Java的影响深感谦逊,并将Java的持续发展归功于社区。 离开Sun之后,他探索了机器人技术和云计算领域,始终以道德为指导。高斯林对人工智能的炒作持怀疑态度,他认为人工智能只是高级统计学,而非真正的智能,并批评了那些推动投资的“骗子”。虽然他对最初的人工智能编码演示印象深刻,但他同时也指出了它们的局限性。他强调,即使在人工智能驱动的世界中,编程技能对于理解复杂系统也至关重要。他赞扬了Java的JVM和垃圾回收机制的改进。他认为Java的持久成功源于解决实际问题、尊重用户以及优先考虑可靠性。最后,他还幽默地称赞了Oracle对Java的管理。

这篇 Hacker News 帖子讨论了 James Gosling 庆祝 Java 30 周年纪念的采访,重点介绍了 Java 的优缺点。评论者们就 Java 与 C++、Go 和 C# 等语言的性能进行了辩论,许多人称赞其一致的语法、优秀的工具(如 IntelliJ)和强大的垃圾回收机制。讨论还涉及到 Java 异常出色的向后兼容性,允许非常旧的代码仍然可以在现代 JVM 上运行,以及其跨不同操作系统的可移植性。 相当一部分对话围绕着并发性展开,参与者们讨论了在 Go 中使用通道与互斥锁,并将它们与 Java 的并发容器进行了比较。还提到了运行在 JVM 上的其他语言(Clojure、Kotlin、Scala)及其优势。也有一些不同的意见,例如关于 Python 的包管理混乱以及微软的 .NET 平台与 Java 的比较。 几位参与者表达了对 Java 对其职业生涯影响的感激之情,而另一些人则批评了 Java 的企业包袱和冗长性。总的来说,该帖子承认了 Java 的重大成就及其持久的影响力,尽管它存在缺点,并且仍在不断发展。
相关文章
  • (评论) 2024-03-04
  • (评论) 2024-01-06
  • 十亿行挑战 2024-01-05
  • (评论) 2024-08-03
  • (评论) 2025-04-18

  • 原文

    The Java programming language turns 30 next week (May 23). The high-level, general-purpose, memory-safe, object-oriented programming language that continues to power systems of all sizes today wouldn’t be here if not for its primary creator, James Gosling.

    I’ve had the privilege of interviewing and getting to know the man a little bit over the years, ever since Java’s premise of enabling programmers to write once, run anywhere revolutionized software development.

    James Gosling’s journey from resourceful Canadian teenager to pioneering world-class programmer offers valuable insights into the evolution of computing over the past several decades. His work on Java created a platform that has empowered countless developers. Throughout his career, Gosling has balanced technical excellence with a playful spirit and clear ethical boundaries — a combination that has helped shape the modern computing landscape.

    James Gosling: The Brilliant Mind Behind Java

    Gosling isn’t just the “Father of Java” — he’s a humble genius with an uncanny ability to simplify complex concepts. In a recent conversation, Gosling shared stories from his fascinating journey through tech and reflected on Java’s evolution 30 years after he and his team brought it to life.

    James Gosling and DKT.

    The Path To Programming: Resourceful Beginnings

    Gosling’s path to programming reveals much about the innovator he’d become. Growing up with “pretty close to zero money,” he turned necessity into creative inspiration. “Toys were diving into people’s trash cans and pulling out old televisions,” he explained. The first computer he built himself was literally made from a relay rack salvaged from a phone company’s discards — an achievement that demonstrated his early technical aptitude.

    A pivotal moment came when Gosling’s father’s friend took him on a tour of the University of Calgary’s computer center. “I was just hooked,” he recalls. “Screens and blinking lights and tapes — all kinds of stuff.” That curiosity has remained a defining characteristic throughout his career.

    The teenage Gosling was resourceful, teaching himself programming through unconventional means: dumpster diving for punch cards with passwords. While many teens were working retail jobs, Gosling landed a position with the university’s physics department while still in high school, creating software that processed satellite data. “They actually paid me money to have fun,” he said about this formative experience.

    His early programming experiences spanned IBM mainframes with PL/1 and Fortran, PDP-8 assembly and CDC 6400 code. In typical understated fashion, he casually mentioned that he “took a summer job writing a COBOL compiler” — an undertaking many seasoned programmers would find daunting.

    Academia to Industry: Finding His Way

    Gosling’s no-nonsense perspective on academia shines through in his descriptions. His characterization of Carnegie Mellon’s prestigious computer science PhD program as “fundamentally a Research Institute with grad students as cheap labor” captures his straightforward assessment. Always practical, he took time off during his studies to work at a Bay Area startup before returning to Pittsburgh to complete his degree.

    His first job after CMU was with IBM Research, and his assessment of IBM remains pointed years later. His characterization of the company as “dedicated to shooting themselves in the foot” delivers insight with dry humor. These early experiences influenced his approach at Sun Microsystems, where he would flourish for most of his career.

    The Sun Days: Innovation and Pranks

    Ask Gosling about his favorite times at Sun, and the conversation inevitably turns to the legendary April Fool’s pranks. He recalls them as “a terrific amount of work” but “a huge amount of fun” — a glimpse into the company culture that fostered both innovation and creativity.

    These weren’t simple practical jokes. Gosling recalls putting a Ferrari on a platform in a pond (“conceptually the most spectacular”) to make it look like it was floating there. The car belonged to Sun co-founder Bill Joy, however the original plan was to put Sun software chief Eric Schmidt’s Ferrari in the pond, but the team was concerned that Schmidt (who went on to become CEO of Google) might get “squirrely” about the prank — although Schmidt was also pranked.

    Another was building an elaborate one-hole golf course in Sun CEO Scott McNealy‘s office, complete with grass, water hazard and sand trap. These engineering challenges required the same creative problem-solving that drove Sun’s technical innovations.

    At Sun, Gosling found a rare environment where technical excellence could thrive alongside playful creativity — an atmosphere that clearly shaped his approach to technology and problem-solving throughout his career.

    Java: Creating a Legacy That Changed Everything

    Java, now 30 years old, stands as Gosling’s signature accomplishment. When asked how it feels to have created something so impactful, he shares a humbling perspective: “Every now and then, some people stop me in the street and say, ‘Oh, are you James Gosling? Thank you for giving me a career. I’ve been writing Java code for 20 years, and it’s been a great career.’ That gives me just an amazing sense of satisfaction,” he said.

    Reflecting on Java’s evolution, Gosling mentions features like lambdas (added in JDK 8) as elements he wishes had been in from the beginning. However, he explained his careful approach to language design: “I never wanted to put in something that was not right.” The challenge with features like generics and lambdas was determining the best implementation approach — “the first 90% is easy to figure out, and the last 10% is just super hard,” he said.

    On Oracle‘s stewardship of Java since acquiring Sun, James offers measured assessment: “They’ve done better than expected, but I also have to admit that my expectations were pretty low.” He credits the community with playing a crucial role in Java’s continued development and innovation.

    “Every now and then, some people stop me in the street and say, ‘Oh, are you James Gosling? Thank you for giving me a career. I’ve been writing Java code for 20 years, and it’s been a great career.’ That gives me just an amazing sense of satisfaction.”

    —James Gosling, Father of Java

    Gosling notes that Java has become well-suited for cloud environments, observing that “most of what’s happened in the last 30 years has been making Java really, really solid for the cloud.” He highlights improvements in multicore processor handling, memory management and especially garbage collection, which he describes as “just phenomenal” in the latest versions.

    Beyond Java: Ventures After Sun

    After Oracle’s acquisition of Sun in 2010, Gosling took a break before briefly joining Google. That stint lasted “a whole six months,” after which he moved to Liquid Robotics, working on control systems for autonomous ocean robots. This position combined technical challenges with unique perks: “One of the skills you have to have is snorkeling” and “part of the job is to spend a week or a month in Hawaii.”

    The work at Liquid Robotics involved environmental monitoring, with projects studying ocean temperatures in the Arctic and Antarctic regions. However, as Gosling notes, “none of the people studying that have any money at all,” which created challenges for a VC-funded company. As investors pushed the company toward defense applications, Gosling, uncomfortable with that direction, eventually departed.

    His next move took him to Amazon Web Services, where he worked on the Greengrass project and other dev tool efforts until his retirement last year. Throughout his career moves, Gosling has consistently followed not just technical interests but ethical considerations as well.

    On Open Source and Industry Trends: Cutting Through the Hype

    Regarding open source evolution, Gosling observes that “a lot of people have figured out how to make it work for them,” with different models emerging for different contexts. At Sun, open source became “partly about collaboration, partly about Developer Relations, partly about just marketing,” offering a bottom-up adoption approach that contrasted with traditional top-down enterprise sales.

    When asked about the “low code, no code” trend, Gosling expresses skepticism rooted in historical context: “People have been saying low code, no code for decades. That was the pitch for COBOL.” He noted that such approaches typically excel in narrow domains but struggle with complexity outside their specific focus areas.

    On AI and machine learning (ML), Gosling takes issue primarily with terminology: “My biggest problem with AI and ML is just the names.” He suggests that “advanced statistical methods” would be a more accurate descriptor than terms that invite misleading analogies to human reasoning. In his view, these technologies represent “extremely complex hammers and screwdrivers”: tools that humans use rather than autonomous systems that threaten jobs.

    Developer Tools and Preferences: Embracing Progress

    Gosling primarily uses the NetBeans IDE for development, praising its open source, Apache-licensed nature and dedicated community. He expresses frustration with developers who cling to outdated tools: “The thing that drives me nuts the most are people who are madly grasping the ’80s or the ’70s — people who still want to use Vi, which was high-tech in the ’70s.”

    While acknowledging that he uses Vi occasionally “because Vi is everywhere,” Gosling advocates for modern development environments for substantial coding work.

    The JVM Vision: From Academic Concept to Global Standard

    Interestingly, the concept that would become the Java Virtual Machine (JVM) originated during Gosling’s graduate studies. He had explored ideas around “architecture-neutral distribution format” and experimented with cross-instruction translation between different machine architectures.

    This early exploration informed the development of the JVM, which has since become a foundational technology enabling not just Java but numerous other languages to run on diverse hardware platforms. The vision of write-once, run-anywhere — initially dismissed as lacking sufficient mathematical foundation for a PhD thesis — ultimately transformed software development practices worldwide.

    More Recent Work: Bridging IoT Gaps at AWS

    Before his retirement from AWS last year, Gosling worked on Greengrass, an AWS framework for building Internet of Things (IoT) applications. It’s a perfect example of Gosling’s approach to technology: tackling complex, universal problems with elegant simplicity.

    “The distance from ‘I’ve got my toy that works’ to something that you can actually deploy at scale has a lot of what is essentially boilerplate,” Gosling explained with his characteristic ability to make complex ideas suddenly accessible. Greengrass handled all those tedious elements — over-the-air updates, remote command and control, telemetry, network reliability, security, credential management — freeing developers to focus on what makes their particular application unique.

    The device-side part of Greengrass was open sourced, reflecting Gosling’s long-standing appreciation for community contributions. This approach yielded benefits, with users creating ports to platforms Amazon hadn’t prioritized, like RISC-V — something that clearly gave him satisfaction.

    After Greengrass, Gosling joined another AWS project related to software development tools, but it “got caught up in the AI apocalypse.”

    AI Skepticism

    Meanwhile, in a more recent interview with The New Stack, Gosling offered a more skeptical view of the AI revolution sweeping through the tech industry. “It’s mostly a scam,” he stated bluntly, describing AI as “a marketing term that comes with its own bucket of toxic waste.” While acknowledging the impressive mathematics behind these systems, Gosling expressed concern that the AI label obscures their true nature as advanced statistical techniques.

    “The number of grifters and hypesters in the tech industry is mind-rotting.”

    —James Gosling, Father of Java

    He was particularly critical of venture capitalists driving the AI hype, stating that “the number of grifters and hypesters in the tech industry is mind-rotting” and that VCs “only care about a successful exit” rather than building genuinely useful technology. He predicted that “the vast majority of AI investments will get sucked into a black hole.”

    Is It a Vibe? AI Coding Tools: Impressive Demos, Limited Utility

    When it comes to generative AI coding assistants, Gosling acknowledged their initial impressiveness but highlighted significant limitations. “You get started on a vibe coding session, and it can actually be pretty cool,” he said, but warned that “as soon as your project gets even slightly complicated, they pretty much always blow their brains out.”

    The fundamental problem, according to Gosling, is that these tools work by scraping existing code samples and can only replicate what they’ve seen before. This creates a fundamental mismatch with professional software development, where “the interesting stuff is never repeated” because good solutions are packaged into libraries that everyone uses.

    “You get started on a vibe coding session, and it can actually be pretty cool, but as soon as your project gets even slightly complicated, they pretty much always blow their brains out.”

    —James Gosling, Father of Java

    Rather than replacing programmers, Gosling sees AI’s most valuable coding application as “being the documentation that nobody wants to write” — essentially serving as an intelligent search engine that understands how code works and can explain how to use specific APIs or features.

    Java’s Evolution: Language Features and Runtime Improvements

    When asked about recent Java developments, Gosling acknowledged some valuable language enhancements: “A bunch of the stuff that’s come through with type inferencing has been really nice. You know, the way that array declarations have evolved have been pretty nice. I think that could be pushed more.”

    However, he emphasized that Java’s most impressive recent advancements have been in its runtime environment and libraries. “The code quality coming out of the JVM these days is really good. The garbage collector in the modern versions of the JVM is just stunning. The performance of threading is really lovely,” he explained.

    He particularly praised improvements in memory management and performance predictability: “The Java storage management has been more efficient than the malloc, than the C storage management for really long, but now it’s just stunning.” Garbage collection pauses that once took “10 or 20 seconds” can now be reduced to milliseconds with careful tuning, and “if you’re not careful, it’s still well under a second.” The JVM now also handles “arbitrarily, absurdly large memory spaces” with impressive efficiency.

    Programming Languages for Critical Infrastructure

    When asked what programming language should be used to rebuild the FAA’s air traffic control system, Gosling rejected the premise of the question. “It’s like designing a house but starting out with what brand of hammer are we gonna buy,” he said.

    Instead, he advocated for understanding the problem domain first — including communication systems, international regulations, airplane tracking, collision avoidance and flight path planning — before selecting appropriate technologies for different components. “Base your decisions on the properties of what you’re trying to accomplish,” he advised, though he did note that Java would excel for large-scale systems where reliability is crucial.

    The Future of Programming in an AI World

    Despite AI’s advances, Gosling firmly believes programming remains an essential skill. “If I had a young kid today, I would absolutely be teaching them programming,” he stated, explaining that “even if AI takes over, people have to understand how their systems work.”

    He dismissed claims by tech executives like Mark Zuckerberg and Marc Benioff that AI will reduce the need for engineers as “entirely self-serving horseshit,” seeing such statements as positioning tactics and thinly veiled threats to extract more work from employees.

    “If I had a young kid today, I would absolutely be teaching them programming. Even if AI takes over, people have to understand how their systems work.”

    —James Gosling, Father of Java

    Java’s Longevity Secret

    When asked why Java has endured for three decades while other languages have faded, Gosling cited several factors: solving real problems, respecting users, maintaining backward compatibility, improving developer productivity and prioritizing reliability.

    “It was never about being stylish,” he explained. “It was always about being effective in getting the job done, helping engineers get their job done.” This focus on practical utility rather than trendiness has served Java well, particularly in enterprise environments where software “has to work every fucking time.”

    Oracle’s Stewardship: Better Than Expected

    Moreover, Gosling gave Oracle a “B+” for its stewardship of Java since acquiring Sun Microsystems. “I was really terrified of what they would do because their track record has been rape and pillage,” he admitted, “I’m just astonished at how well they’ve done.”

    While he wished the Java team had received more financial support, Gosling praised Oracle for insulating the team from corporate interference — “Oracle hasn’t fucked with them” — which exceeded his initial expectations of failure.

    “I was really terrified of what they would do because their track record has been rape and pillage. I’m just astonished at how well they’ve done.”

    —James Gosling, Father of Java

    Crab Lovers Unite!

    Gosling once told me that he liked to work with people he would enjoy having dinner with (in fact, he says he once chose a job that way). I used to have a habit of making sure I visited Thanh Long, a restaurant that specializes in roasted Dungeness crab, anytime I traveled to San Francisco. I typically visited on my way out of town just prior to heading to the airport.

    One night, I was sitting at the bar enjoying some delicious crab (I’m from Maryland!) with my carry-on beside me, and James Gosling walks out of the back of the restaurant. I greeted him and turned to ask a member of the ownership family if he knew who that was. I excitedly said, “That’s the guy that created the most popular computer programming language in the world!” The guy simply shrugged and said: “I guess he likes crab.” The sentiment was giving, “Don’t you know how many tech heavyweights come through here?!”

    Gosling and I later had dinner at Thanh Long together, and that’s the last thing we said in our recent conversation: let’s meet at the spot next time you come out. So, I will break bread and crack crab with the “Father of Java” the next time I’m in San Fran. And even at $80 per crab nowadays, we’re gonna talk and laugh and have a good time.

    Group Created with Sketch.
    联系我们 contact @ memedata.com