
10 segments available
Full episode with Bjarne Stroustrup (Nov 2019): https://www.youtube.com/watch?v=uTxRF5ag27A Please subscribe to new clips channel (Lex Clips): https://www.youtube.com/lexclips Once it reaches 20,000 subscribers, I'll start posting the clips there instead. (more links below) For now, new full episodes are released once or twice a week and a few new clips or a new non-podcast video is released on all other days. Podcast full episodes playlist: https://www.youtube.com/playlist?list=PLrAXtmErZgOdP_8GztsuKi9nrraNbKKp4 Podcasts clips playlist: https://www.youtube.com/playlist?list=PLrAXtmErZgOeciFP3CBCIEElOJeitOr41 Podcast website: https://lexfridman.com/ai Podcast on Apple Podcasts (iTunes): https://apple.co/2lwqZIr Podcast on Spotify: https://spoti.fi/2nEwCF8 Podcast RSS: https://lexfridman.com/category/ai/feed/ Note: I select clips with insights from these much longer conversation with the hope of helping make these ideas more accessible and discoverable. Ultimately, this podcast is a small side hobby for me with the goal of sharing and discussing ideas. I did a poll and 92% of people either liked or loved the posting of daily clips, 2% were indifferent, and 6% hated it, some suggesting that I post them on a separate YouTube channel. I hear the 6% and partially agree, so am torn about the whole thing. I tried creating a separate clips channel but the YouTube algorithm makes it very difficult for that channel to grow. So for a little while, I'll keep posting clips on this channel. I ask for your patience and to see these clips as supporting the dissemination of knowledge contained in nuanced discussion. If you enjoy it, consider subscribing, sharing, and commenting. Bjarne Stroustrup is the creator of C++, a programming language that after 34 years is still one of the most popular and powerful languages in the world. Its focus on fast, stable, robust code underlies many of the biggest systems in the world that we have come to rely on as a society. If you're watching this on YouTube, many of the critical back-end component of YouTube are written in C++. Same goes for Google, Facebook, Amazon, Twitter, most Microsoft applications, Adobe applications, most database systems, and most physical systems that operate in the real-world like cars, robots, rockets that launch us into space and one day will land us on Mars. Subscribe to this YouTube channel or connect on: - Twitter: https://twitter.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Facebook: https://www.facebook.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - Medium: https://medium.com/@lexfridman - Support on Patreon: https://www.patreon.com/lexfridman
Bjarne Stroustrup reflects on his early experiences with programming languages, including Fortran and Pascal. He shares how these languages didn't resonate with him until he discovered Simula, which introduced him to object-oriented programming and the concept of modularity in programming.
"and what was the first programming language if I may ask it this way that you fell in love with hi I think I'll call 60 and after that I remember my arm the snowboard I remember Fortran didn't fall in..."
Stroustrup discusses the significance of Simula in the evolution of programming languages, highlighting its introduction of object-oriented concepts like inheritance and runtime polymorphism. He emphasizes how these features allow for better organization and scalability in programming.
"simulated Albert 60 done primarily for simulation but basically they invented object oriented programming at inheritance and runtime polymorphism when they were while they were doing it and that was t..."
In this segment, Stroustrup provides a brief history of programming languages, starting with Algol 60 and Simula. He explains how Fortran revolutionized programming by allowing code to be written in a more human-readable form, paving the way for greater portability and flexibility.
"has to be extensible and flexible let's get into the details a little bit what kind of if you remember what kind of type system to Pascal have what type system typing system did Algol 60 have basicall..."
Stroustrup elaborates on the impact of Fortran as the first high-level programming language that allowed engineers and scientists to write code in a way that was natural for them. He discusses its limitations and how it set the stage for future languages like Simula.
"directly or indirectly Christ knew go on all you and Al were mathematicians and they didn't think in terms of types they but they understood sets and classes of elements and so they caught that typed ..."
Stroustrup highlights the flexibility of Simula, which allowed programmers to define their own types and create domain-specific languages. He reflects on how this capability was crucial for the development of C++ and the importance of user-defined types in programming.
"write what you really wanted that is you can write it in a language that was natural for people now these people happen to be engineers and physicists so the language I came out was somewhat unusual f..."
In this segment, Stroustrup shares his experiences learning object-oriented programming from the pioneers of Simula. He discusses the leap of abstraction that object-oriented programming represents and its significance in the evolution of programming languages.
"precise notion of scope not a set of translation phases that was what we have today lexical syntax semantics it was sort of a bit of a model in the early days but hey they're just done the biggest bre..."
Stroustrup explains the fundamental idea behind C++: the ability to create custom types that suit specific problems. He emphasizes the importance of flexibility and efficiency in programming, particularly in constrained environments.
"once you get started and in full flow it's very hard to get a word in edgeways where you're just listed so it was great I learned it from them not to romanticize the notion but it seems like a big lea..."
Stroustrup discusses the role of inheritance and runtime polymorphism in managing complexity in programming. He provides a real-world example of how these concepts were applied in simulating emergency services, showcasing their practical importance.
"key idea people picked up on the higher is in the virtual functions and the inheritance and that was only part of it it was an interesting in major part and still a major part and a lot of graphic stu..."
Stroustrup reflects on the balance between flexibility and performance in programming languages. He shares his perspective on languages like Lisp and the challenges of deploying dynamic languages in performance-critical environments.
"you needed runtime polymorphism because you wanted to handle this set of vehicles in a manageable way you you you can't just rewrite your code each time a new kind of vehicle comes along yeah that's a..."
In the final segment, Stroustrup discusses his appreciation for various programming languages, including functional languages like ML and Haskell. He emphasizes the importance of learning from different languages to improve programming practices and address the constraints faced in software development.
"you can also put in say a telephone switch in Bogota what's the chance if you get an error and you find yourself in the debugger that the telephone switch in pockets are on late Sunday night has a pro..."