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
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.
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.
The transcript discusses the development of integrated circuits, and how they allowed for better understanding and visualization of functions.
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.
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.
The speaker compares their experience using old text editing commands which required multiple commands for one character to newer, more efficient editing commands.
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.
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.
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.
The guest talks about the importance of luck and timing in success as well as the impact of open-source projects in developers' work.
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.
The clash between business priorities and technical priorities within a startup can lead to conflict and difficulty in implementing the correct solution.
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.
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.
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.
The speaker discusses his early contemplation of ethical choices and advises young developers, engineers and scientists on how to approach their lives.
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.