Lex Fridman Podcast

James Gosling: Java, JVM, Emacs, and the Early Days of Computing | Lex Fridman Podcast #126

Lex Fridman and James Gosling on james Gosling on Java, safety, Emacs, and humane tech leadership.

Lex FridmanhostJames GoslingguestLex Fridmanhost
Sep 24, 20201h 51m
Early experiences with math, numbers, and visual thinking in programmingFirst computers, low-level programming, and hardware tinkeringEmacs, TECO, and Gosling’s C implementation that spread over Unix and ARPANETOrigins of Java: safety, security, concurrency, and developer productivityDesign and impact of the Java Virtual Machine and portabilityOpen source philosophy, licensing, and tensions with figures like Richard StallmanLeadership and culture in tech: Jobs, Musk, Bezos, Google, risk-taking, and ethics

In this episode of Lex Fridman Podcast, featuring Lex Fridman and James Gosling, James Gosling: Java, JVM, Emacs, and the Early Days of Computing | Lex Fridman Podcast #126 explores james Gosling on Java, safety, Emacs, and humane tech leadership James Gosling reflects on his early fascination with math, programming, and hardware hacking, tracing how those experiences shaped his thinking about software correctness, safety, and language design.

At a glance

WHAT IT’S REALLY ABOUT

James Gosling on Java, safety, Emacs, and humane tech leadership

  1. James Gosling reflects on his early fascination with math, programming, and hardware hacking, tracing how those experiences shaped his thinking about software correctness, safety, and language design.
  2. He recounts the origins of Java as a response to security, reliability, and portability problems in C/C++ and embedded systems, explaining how the JVM and strict language constraints aimed to eliminate whole classes of bugs and speed development.
  3. Gosling also describes creating an influential Emacs implementation, the culture and politics of open source versus commercial software, and the tensions around Android’s use of Java.
  4. Throughout, he contrasts different leadership styles in tech, arguing you can demand hard work and take big risks without being abusive, and urges engineers to think ethically about whether they’re building a “Blade Runner” or “Star Trek” future.

IDEAS WORTH REMEMBERING

7 ideas

Safety and correctness can be designed into a language to prevent entire bug classes.

Gosling created Java in part to eliminate common C/C++ problems like buffer overflows, pointer misuse, and memory leaks, which he saw driving the majority of security vulnerabilities and consuming developer time.

Portability and abstraction (via the JVM) give buyers and developers real freedom.

The JVM abstracts away CPU differences so software isn’t locked to a single vendor or hardware generation, addressing both purchasing pain and long-term maintainability, while still allowing efficient compilation.

Clear interfaces and enforced encapsulation reduce chaos in large codebases.

By making it hard to “sneak around the side” of APIs, Java’s visibility and object model pushed teams to negotiate proper interfaces, greatly improving robustness when software spans teams and organizations.

Developer velocity matters more than raw performance in most real systems.

Gosling argues that going from first code to solid, production-ready software is where Java shines, because failing early and visibly plus safer constructs cuts total development time, even if the first demo isn’t faster.

Open source is powerful, but “all information must be free” can be harmful.

He values open source for community and collaboration, yet rejects dogmatic views that effectively demand engineers take a vow of poverty, emphasizing the need for a pragmatic balance between openness and sustainable business.

Working extremely hard is essential; being abusive is not.

Gosling criticizes the idea, popularized by some readings of Steve Jobs, that you must be a jerk to succeed, noting there are highly successful, non-abusive leaders (e.g., at Google) who still demand intense effort and excellence.

Taking calculated risks—and accepting failure—is key to meaningful innovation.

Many of his projects have “crashed and burned,” but he sees risk-taking as necessary; his advice is not to fear risk, to accept doing some “stupid things” once or twice, and to keep moving toward the futures you’d actually want to live in.

WORDS WORTH SAVING

5 quotes

It means that your definition of perfect was imperfect.

James Gosling

I got really religious about making it so that if something fails, it fails immediately and visibly.

James Gosling

Two-thirds of my time as a software developer was hunting down mystery pointer bugs.

James Gosling

One of the toughest things about life is making choices.

James Gosling

Are you building Blade Runner or Star Trek?

James Gosling

QUESTIONS ANSWERED IN THIS EPISODE

5 questions

How might modern languages and toolchains further reduce or eliminate entire classes of security vulnerabilities beyond what Java achieved?

James Gosling reflects on his early fascination with math, programming, and hardware hacking, tracing how those experiences shaped his thinking about software correctness, safety, and language design.

What trade-offs would you make differently if you were designing Java and the JVM from scratch today, knowing how hardware and the web evolved?

He recounts the origins of Java as a response to security, reliability, and portability problems in C/C++ and embedded systems, explaining how the JVM and strict language constraints aimed to eliminate whole classes of bugs and speed development.

How can engineering teams create a culture of extreme effort and high standards without drifting into the abusive patterns you see in parts of Silicon Valley?

Gosling also describes creating an influential Emacs implementation, the culture and politics of open source versus commercial software, and the tensions around Android’s use of Java.

Where is the healthiest balance between open source ideals and the need for sustainable business models that fairly compensate creators?

Throughout, he contrasts different leadership styles in tech, arguing you can demand hard work and take big risks without being abusive, and urges engineers to think ethically about whether they’re building a “Blade Runner” or “Star Trek” future.

Looking at today’s AI and networked systems, what concrete choices can developers make to push the world toward a “Star Trek” future rather than a “Blade Runner” or “Skynet” one?

EVERY SPOKEN WORD

Install uListen for AI-powered chat & search across the full episode — Get Full Transcript

Get more out of YouTube videos.

High quality summaries for YouTube videos. Accurate transcripts to search & find moments. Powered by ChatGPT & Claude AI.

Add to Chrome