Episode

#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
listen on Spotify
1:51:28
Published: Thu Sep 24 2020
Description

James Gosling is the founder and lead designer of the Java programming language. Please check out our sponsors to get a discount and to support this podcast: - Public Goods: https://publicgoods.com/lex and use code LEX - BetterHelp: https://betterhelp.com/lex - ExpressVPN: https://www.expressvpn.com/lexpod If you would like to get more information about this podcast go to https://lexfridman.com/podcast or connect with @lexfridman on Twitter, LinkedIn, Facebook, Medium, or YouTube where you can watch the video versions of these conversations. If you enjoy the podcast, please rate it 5 stars on Apple Podcasts, follow on Spotify, or support it on Patreon. Here's the outline of the episode. On some podcast players you should be able to click the timestamp to jump to that time. OUTLINE: 0:00 - Introduction 4:45 - Irrational numbers 8:04 - Math and programming 10:36 - Coding style 14:41 - First computer 23:54 - Lisp 27:22 - Write an Emacs implementation in C 35:15 - Early days of the Internet 45:57 - Elon Musk, Steve Jobs, Jeff Bezos 56:13 - Work hard and smart 58:48 - Open source 1:10:25 - Java 1:28:31 - Java virtual machine 1:44:05 - Android 1:47:04 - Advice

Chapters
Lex Fridman speaks with James Gosling, founder and lead designer of the Java programming language, about the language, object-oriented programming, and the art of parallel computing.
00:00 - 01:34 (01:34)
listen on Spotify
Java
Summary

Lex Fridman speaks with James Gosling, founder and lead designer of the Java programming language, about the language, object-oriented programming, and the art of parallel computing.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The intersection between programming and numbers involves understanding the logical structures and patterns of computation.
01:34 - 12:31 (10:56)
listen on Spotify
Programming
Summary

The intersection between programming and numbers involves understanding the logical structures and patterns of computation. For some, this fascination with numbers extends beyond the digital world and into everyday tasks like paying for purchases with interesting sums.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The transcript discusses the development of integrated circuits, and how they allowed for better understanding and visualization of functions.
12:31 - 17:53 (05:22)
listen on Spotify
Technology
Summary

The transcript discusses the development of integrated circuits, and how they allowed for better understanding and visualization of functions.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The speaker recalls building programs for playing games like blackjack and solitaire, and working with assembly code and PDP assembly code in his early programming days.
17:55 - 24:28 (06:33)
listen on Spotify
Programming
Summary

The speaker recalls building programs for playing games like blackjack and solitaire, and working with assembly code and PDP assembly code in his early programming days.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The speaker discusses the language structure in programming which allows for multi-threading but highlights the potential drawbacks such as needing to handle semaphores and locks.
24:28 - 29:06 (04:37)
listen on Spotify
Programming
Summary

The speaker discusses the language structure in programming which allows for multi-threading but highlights the potential drawbacks such as needing to handle semaphores and locks.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The speaker compares their experience using old text editing commands which required multiple commands for one character to newer, more efficient editing commands.
29:06 - 34:12 (05:06)
listen on Spotify
Text Editing
Summary

The speaker compares their experience using old text editing commands which required multiple commands for one character to newer, more efficient editing commands.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
In the early 90s, the idea was that internet technology would enable anyone to become a provider of content, from home movies to grocery store advertisements.
34:12 - 42:51 (08:38)
listen on Spotify
Internet Content Creation
Summary

In the early 90s, the idea was that internet technology would enable anyone to become a provider of content, from home movies to grocery store advertisements. However, cable companies saw their business as selling eyeballs to advertisers rather than delivering delightful content to customers.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
Many companies struggle to transition from their old ways to digital, even if they can see the future trend lines.
42:51 - 49:52 (07:01)
listen on Spotify
Digital Trends
Summary

Many companies struggle to transition from their old ways to digital, even if they can see the future trend lines. Such transitions take time and company overhaul, making it harder for them to make it happen.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The original Tesla was doing just okay until Elon Musk took over and drove them forward with his strong vision and mostly good calls.
49:53 - 56:23 (06:30)
listen on Spotify
Elon Musk
Summary

The original Tesla was doing just okay until Elon Musk took over and drove them forward with his strong vision and mostly good calls. He pushes people to excel, and while some may not like his methods, it has led to success.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The guest talks about the importance of luck and timing in success as well as the impact of open-source projects in developers' work.
56:23 - 1:01:21 (04:57)
listen on Spotify
Developers
Summary

The guest talks about the importance of luck and timing in success as well as the impact of open-source projects in developers' work.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The high cost of medications and software dependence can be financially crippling to small corporations that do not have support contracts.
1:01:22 - 1:10:19 (08:56)
listen on Spotify
Small Business
Summary

The high cost of medications and software dependence can be financially crippling to small corporations that do not have support contracts. This worldwide problem presents challenges for those trying to make ends meet, but with perseverance, some have been able to provide for their families.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The clash between business priorities and technical priorities within a startup can lead to conflict and difficulty in implementing the correct solution.
1:10:18 - 1:20:02 (09:43)
listen on Spotify
Startup
Summary

The clash between business priorities and technical priorities within a startup can lead to conflict and difficulty in implementing the correct solution.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The software development process is crucial for projects such as banks' account reconciliation system, where issues occurring in the process can lead to serious consequences, and mystery pointer bugs are hard to find because they tend to be statistical.
1:20:02 - 1:27:47 (07:45)
listen on Spotify
Software Development
Summary

The software development process is crucial for projects such as banks' account reconciliation system, where issues occurring in the process can lead to serious consequences, and mystery pointer bugs are hard to find because they tend to be statistical.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
This podcast discusses the evolution of computer processing units and the complexities of adapting software to different types of processors.
1:27:47 - 1:34:39 (06:51)
listen on Spotify
Computer processing units
Summary

This podcast discusses the evolution of computer processing units and the complexities of adapting software to different types of processors. It touches on the Motorola 6,8,0,10 processor and its shift to the 6,8,0,20 processor, as well as the instruction set of an abstract machine designed to translate to a physical machine.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The speaker discusses the need to be able to switch between different microprocessors and the creation of multiple translators to accomplish this, with references to Pascal P code and Henry Ford's famous quote.
1:34:39 - 1:45:29 (10:50)
listen on Spotify
Microprocessors
Summary

The speaker discusses the need to be able to switch between different microprocessors and the creation of multiple translators to accomplish this, with references to Pascal P code and Henry Ford's famous quote.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
The speaker discusses his early contemplation of ethical choices and advises young developers, engineers and scientists on how to approach their lives.
1:45:32 - 1:49:29 (03:57)
listen on Spotify
Ethics
Summary

The speaker discusses his early contemplation of ethical choices and advises young developers, engineers and scientists on how to approach their lives.

Episode
#126 – James Gosling: Java, JVM, Emacs, and the Early Days of Computing
Podcast
Lex Fridman Podcast
In his conversation with Lex Friedman, James Gosling uses the science-fiction comparison of Blade Runner and Star Trek to ponder over his technical decisions, stating that he would prefer a universe like Star Trek to live in.
1:49:30 - 1:51:08 (01:38)
listen on Spotify
Technology
Summary

In his conversation with Lex Friedman, James Gosling uses the science-fiction comparison of Blade Runner and Star Trek to ponder over his technical decisions, stating that he would prefer a universe like Star Trek to live in.

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