It's pretty amazing to think that the software industry is so young that the OG's are still alive today and can be interviewed like this. We've come a very long way in a very short time.
@@Robert_McGarry_Poems o j nii8 ki ok. Ino Koo kkjkii ki ok look j in in kkjkii kkk injn ki kkk non in k jnko. I see jkkkiiion kkk in kkk jj ki kkk kiiinni kkk ki kkkkjk bkk kkkkkkkkkkkkj kkk I. K nj kkk kkk kkk k kkk in o j kkk ki kkk ki kkk ki kkk k kkk kkk ki ino kkk kkk k I Koo kkk kkki kkk oin j kkk in ok look I kkkkjk ini8 kkk ki ik8 ok ok kkk kkkkkkkkkkkkj jkiiii ii know kkk bkk ikkki I ki in o kkk kknk ki I look no ki ok kkk kkki kkk kkk kkk kkk ki kkk i kkk nkkjojkn in kkk nj kkk ki kkk kkk ki kkk k kikkoman I nkkkiiiiiki kkk kkkkkkkkkkkkj kkk kkkkkkkkkkkkj kkk konijn ok in o kkk kkki n ok k kkk ki kkk kkk Koo kkk ki kkkkjk. I ki k look n 8kii kkkkkkkkkkkkj j job j nj k jj ki kkk k job i kkk know ok Koo. Jo okkoo kkk kkk kkk jj n kkk njk j kkk in o kkk ki job ojko kkk nj kkk k kknkkkkkk kkk nj kkk know ki n kkk kkk in ookj kkk k kkk Koo ki okknjo kkk Koo noj Koo kkk jj j kkk kkk Koo k kkk ki. J Kkk kkk kkkik o look kinn kkk bio kkk jj kkk n k k kkk I in i k in i in knonkik kkk kkki k k kkk n kkk kkkkkkkk k jj no kkk I kkkkjk k ki kkk kkkkkkknkkkkkkkkkk kkk k k kkk k in ki ok ok Koo inknkkij ii Koo in k in k I kkk kkk kkk nj in ki I kkk I ki bio kkk iijo. J Jon nj kknk I Koo ok kkk njoni kkk kkk ki Koo. Ok kkk kkk njk I kkkkjk I kkk ki k kkk kkk k kkk I kkk jj kkk onkjn j Koo k inn nj kkk ii k nj. J nj ki okj kkk kkkj nj kknk k Koo k k k k kkk kkki. Jk kkk. Ok no ookkknk k kkk k kkk ok kkk kkk k ink k n nnn. K n. Nn. K k k nok. I. K. Nj. Kkkkkkk k nj nok n k ii o. N n k jj k 8 k Koo ki k jj k. I k jj. I I k. Jk k kkk k jj pjok. Nn kkk k I n. Nkkk k k k k kkk nj ki ok. I I k ki k kkk 8 kkk. Ok k nj k. Ii k I. K. K no n n k kkk kkk. N. K. N ink. N. Ok ii k. N n ok. Ookj. Ok. N. No nj k jnko kkk. I ki k jj n k. K. K ii. N n o ink on k n o nnk n. K. Koo kkk k ii know. K kkk k o kkkkjk k. Jnj. N I n no ok n ok n nnn kkk k nj I ok. K. I k k k k k n n I I. I I n kkk no nj k nkkkkk ok n kkk onnk n ink ok nnk jn nj. N I j. N. J n. N look. Nj in k in all. J. K k n k k. K k I ki kkk k k nok nj ki 8 k jj k k. Kkk k o. I n nj onk k k k k k I kkk kkk jj k k k k kkk ki I j k kkk 8 k k k kkk ki kkk ki kkk n kkk kkk k kkk jj j k kkk nj k kojjn n nnkk no ki. I ii k ok Kno kkk kkkkkk knkkk k k n k k k k jj k k k k kkk k kkk kkk k kkk k nkkjkkkjk ki nj n kkk kkk nj kkk k Koo kkk inn k k k jj k k nj ink. K jj k k jj ki nnk kkk kknk k Koo kkk kkk k kkk k n ki n in on Koo njk. K njk inn Kno kkkkkkkkk kkk nj in ki. N k. J I. Kkk nn nn kkk jj o kkk Koo k kkk kkk kknk n in kkjkii kkk kkk k kkk kkk k kkk kkk kkkik kkk k jj ki k kkk. K kkk kkk jj ki nkkk kkk k k kkkki. K k k nkkjkkkjk no ki kkkkkkk j kkk jj in n kkk kkkkkkkk ki I in in nkkkk kkkkkkkk ki kkkkkkkkkkkkj ki k kkkkjk kkk kkkkkkkkkok k kkk k n kkk ki jj njk jj kkknnknnknnkkkkkkknnnk jj kkk kkkkkkinnkknnkknnkknkkknkkknokknkk k n kjkkkkkjnnnn kkk jj kkk k jj I knjnknkk nnkk k kkkki jk kjkninnkjkniknknnnkinn onknoonj kkkkkkk knjnonjjnkikjjjninijkjnnkknojnk j njjnonoini o jnknnjjonnokno ii jnjkkonnkn k k oki. Knnoji no nnknkji nnknkji ok nkin jknknkknnjnnnkkknkkkno kjjonnkkkji kojnnk jni
I really enjoyed this conversation with Bjarne. Here's the outline: 0:00 - Introduction 1:40 - First program 2:18 - Journey to C++ 16:45 - Learning multiple languages 23:20 - Javascript 25:08 - Efficiency and reliability in C++ 31:53 - What does good code look like? 36:45 - Static checkers 41:16 - Zero-overhead principle in C++ 50:00 - Different implementation of C++ 54:46 - Key features of C++ 1:08:02 - C++ Concepts 1:18:06 - C++ Standards Process 1:28:05 - Constructors and destructors 1:31:52 - Unified theory of programming 1:38:10 - Machine learning 1:44:20 - Proudest moment
this man wasn't getting what he wanted out of the languages he had at his disposal, so he just said fuck it and created his own language and it became one of the best languages of all time. legend.
@popasmuerf It requires a bit of knowledge to create the most used OS in the world. Linus also uses C because it's simple, C++ can be a real mess to deal with, and for an added bonus C compiles faster.
@@90hijacked he's probably gonna promote senders for presidency rather than talk about gcc. Stallman is not that technical person even though his background is.
"By the way, philosophy is important. You can't do good language design without philosophy, because what you are determining is what people can express and how."
@@McRingil I assume by "Tyson" you're talking about Neil DeGrasse? If so, I'd say there is another significant layer of separation between Nye and Tyson... While they are both public figures, spokespeople, etc...Bill Nye doesn't even have a masters...he has a BS in engineering, while Tyson has an MA and a PHd... I think that's worth mentioning.
Since programming has become such a fundamental part of the 21st century perhaps the Swedish Nobel committee should consider a Nobel prize in this category 😊
Especially since all of STEM relies on programming these days. In the past, mathematics was what tied it all together, but in the modern world none of it would be possible without programming
@@itdepends604 Some say that there's no math category in Nobel prizes because a mathematician married the girl that Alfred Nobel fancied after. I guess Alfred was a bit bitter about that and excluded mathematics from the prize.
You should organize a playlist with all the programming language creators. It was brilliant to interview many of them, it’s going to be a reference for many years from now. You’re the bomb
i have glazed chicken wing bits on my elbow, also drunk.. but gonna pass out to this thinking about that time i wrote the best aterm window and setup the best scripts... then i formatted and installed windows to play age of empires 2.... =\
Lex, thank you greatly for interviewing Bjarne Stroustrup! He has been a personal hero of mine for the last twenty years or more. He is not only a supreme engineer but also an adroit consensus builder. That is a rare combination and his consensus building seems to have played a critical role in forging the success of C++. I highly recommend his "The Design and Evolution of C++" to anyone interested in computing history, language design, or even politics. To me, Stroustrup's approach seems to be 1) understand the "customer's" problem and needs 2) assess the shortcomings of existing tools and prior art 3) design simple, pragmatic, correct solutions to fill the gaps and 3) deliver and communicate those solutions with humility. That is an admirable process I aspire to emulate.
I met Bjarne few days after watching this video, it was one the best experiences of my life. He is very humble, i asked him a roadmap to be better c++ programmer, he gave some excellent advice.
Such a humble guy. You can tell he is really interested in the languages and meta-level stuff. It reminds me how business-oriented programming today has become. It's so nice to see a guy like this, with so much love and thought for the craft itself.
It’s amazing to here Dr. Stroustrup comment on his thought process of the C++ language. His ease of explaining a complicated subject in such elegance is truly artistic! Lex, amazing execution on you part, thank you for capturing this and sharing it with all of us.
In the early 90s I met Bjarne at a Usenix conference. Presented a problem per C++ and a proposal to address it, that he took an interest in and we corresponded via email for a while about it. Alas, at the time RTTI ended up being the lion share of C++ mindset for new improvements. And the problem I was looking at ended up being addressed by Microsoft with their COM implementation - which made it sort of feasible to have more or less practical runtime loadable modules extendability. But what was cool was that Bjarne is a great guy that is not aloof, but approachable. Lot of flame wars over the decades saying this or that, but in my book, Bjarne is a class act. And he's a giant in the world of computer science and programming languages.
This is GREAT stuff. I have tried to watched Bjarne a few times and it was all beyond me but you brought his ideas out of him in a way that was possible for me to understand. THANKS.
There is something so satisfying hearing Bjourne talk about the fundamentals and low level code, as well as OOP. Definitely makes me want to get back into learning about low level code, as well as the concepts of OOP.
This was my favorite episode you did so far, it may not be the most popular by views, but I enjoyed it. Bjarne Stroustrup is such a national treasure, a man we can learn allot from. I enjoy his talks on C++ whenever cpp con happens.
Thanks to Bjarne for starting and continuing to work on C++. I have been programming in C++ for 10 hours a day every day for the last 10+ years and I am still in love with it.
@@gcma1999 I make games. During the day I work on the server code and at night I work on my own single player game. Of course, debugging takes a lot of time.
Lex, thank you very much for bringing the legendary Bjarne to your channel. 🙏. The question about comparison between machine learning and C++ is unclear. One can implement machine learning in a variety of languages including C++. Machine learning is a way of building the model that describes a system using extensive data collected from the system while operating. The form the model takes may be different from the usual analytical closed form that one may be used to, but once the model is learned, programming the system is no different from what we have always done. A closed form analytical model is prone to error as much as a model derived from learning from data. The main difference is that we feel comfortable with closed form analytical model because we can name the variables and their interactions in the model. But a model is nothing but an approximation of “truth” about the system under consideration.
This guy talked about the “turning left of different vehicles” being the spark of inheritance and polymorphism, and now I understand it 😂 it’s safe to say, there’s only one person who can truly teach c++, and that’s the inventor of it lmao. It’s makes sense to define a virtual turn left method and then whatever vehicle off the base class can use it for its form of vehicle at run time. Truly amazing story and explanation. C++ is great.
In class they always teach it like an animal inheriting its features etc. Which didn't make any sense to me at all. Seeing it in the form of a problem is a better way to understand it since you can tell where did this solution originated from.
We really appreciate this kind of things, the interview. Thanks Lex for making it possible. So hyped up!! Its a pleassure to hear how Bjarne comunicate computer concepts...
1:43:47 Tensorflow is a good example of that. You can give all those libraries with Python to AI/Data scientists/Neurophysicist but under it you have a computer scientist/hard-core engineer who made it with *C++*
nicely put, al the "esy" to use ready made libr and compnents as written in C++, , people have to learn C and C++ and leave the other languages, i hate best effort languages like java and python it;s intermdiate language and needs a VM , comming with with overhead penalty.
What a privilege to be able to see such a legend and listen to his thoughts.. I was just a kid learning programming 20+ years ago - and back then this name was like a name of a god to me and others around me. Mindblowing.
I'm so happy to have the opportunity of hearing a conversation from someone that started it all. It's not often you get to hear a long form interview from historical figures like him.
Because we can surely do better than C++ and the obsession of creating class hierarchies for everything. Because the assumption that the world is made of objects is fundamentally mistaken, the world is only made of processes, and objects are only illusions created by temporarily repetitive enough processes.
Thank you for these amazing interviews. I began programming in 1983 and was an extremely ordinary programmer until 2001. After that I went back to school. History is most interesting to me. I became very good at C but always struggled with learning C++.
I would love to hear a conversation with: Gerald Jay Sussman, Guy L. Steele Jr., Robert Virding and the Knuthinator: Don Knuth! I wrote c++ for 13 years so this was an interesting talk.
The Pong game he was talking about by Jason Turner was actually written for the C64 not Motorola. Here's the video for that: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-zBkNBP00wJE.html
Lex you are yourself a legend. Please publish an interview of yourself as well someday. Like me, lot many people will be interested to know as to how you are able to pose such intelligent questions to all these legends 😊
The story of the creation of c++ is amazing. Such a humble person created one of the most important programming languages that are used in so many places. For more than 30 years c++ did not have real challengers for certain tasks and even though Stroustrup himself notices that languages like lisp, python, javascript, etc... are great for certain things but sometimes you need that zero-overhead abstraction to write reliable and efficient software. The only real challenger we currently have is rust which proposes really interesting ideas, I guess only time will show how useful of tool rust will become but it seems great that innovation on that front did not stop.
I was surprised that the functional languages got many mentions and that telecom as a use case was brought up quite a bit, but there was no mention of Erlang. Either way, this is amazing to listen to.
05:44 classes used for define type, simula, Nicklaus Wirth 06:19 brief history of programming languages, Fortran (formula translation), portability 08:09 Cobol, business people 08:24 algol, type, scope, not a set of translation phases, syntax, lexical, technical breakthrough 09:27 then simula came along to make that idea more flexible 10:58 for me the key idea, basically I could get my own types, that's the fundamental idea, under the constraints, hardware, environment 13:47 lisp, performance, reliability, deployability, cost of hardware, I don't like things to be too dynamic 15:47 smalltalk, ML, Haskell 16:45 it's good for any professional programmer to know at least five languages 18:09 the important thing that the number is not one 18:53 it's actually good to know machine code, machine architecture, assembler, c++ 20:21 Jason turner, ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-zBkNBP00wJE.html 22:40 machine code and C++ 22:45 functional languages, you can learn a lot, I don't care which, pick Haskell or ML, type notion that's really strict 23:08 you could pick JavaScript, python, ruby, when you build a tool you do not know how it's going to be used 24:13 bitcoin mining 25:07 original story of C++, efficiency, reliability 28:45 security, type, SQL injection 33:12 correct code looks like, c++ core guidelines 36:39 static checkers, sloppiness, great fan of static analysis 38:33 leaks, static analysis, error handler 42:00 tension between efficiency and abstraction, object-oriented programming language, I've never said that 47:15 algorithm, lock free, compiler techniques 50:15 GCC, compilers, single implementations, monoculture, clang 54:07 llvm 54:50 c++ is for people who wants to use the hardware really well and then manage the complexity of doing that through abstraction 55:21 thats looks very much like C, it has loops, variables, pointers, 55:57 after Dennis Ritchie, I'm probably the major contributor to modern C, Brian Kernighan 56:15 this C vs C++ fight are for people who don't quite understand what's going on 56:32 abstraction 59:26 vectors, Fortran ~ 01:01:10 implementation, simula, object-oriented, virtual function 01:09:46 generic component like a sort function
C++ has always been complicated. And the development goes on and on. Stroustrup does not exactly stand out as a brakeman. The question is how "modern" your code should be. If you run a static code analysis according to the C++ Core Guidelines against a 30 year old code base: 10000 to 20000 warnings are nothing special there. The idea of what good C++ is has changed over time. Because C++ is always evolving, you have to consider how "modern" you can afford to be. And whether it really makes a difference. I don't rewrite proven legacy code just for fun. You don't have that much time. But sure: A tool that checks your code against the C++ Core Guidelines is of course a blessing! I can't imagine doing without such tools anymore.
Interview with god. That is why C++ has become a cult. Stroustrup is to C++ as L. Ron Hubbard is to Scientology and they are both to good thinking as Hubbard is to Bertrand Russell.
he seems quite pleased by the intelligent questions, it's charming. i've been waiting for the right moment to crack the C++ book on my shelf.. i sense it's time has come
amazing podcast! can't believe so many people skipped the like button on this one... superb, magnificent, deep conversation, as delightful as Michelangelo's masterpieces thank you for this!
Too bad we didn't had the podcast in time for John McCarthy or Dennis Ritchie =/. On the other hand, Lex's work it's being far better than we could expect, every week.
One of, if not THE, most significant conversations on software engineering principles and philosophy I've had the pleasure of listening to. Very well done, as relevant today as it was when originally recorded.
I'm only a few minutes in but I just realized I'm watching a podcast where the inventor of c++ is talking about programming in the early SIXTIES. My mind is blow.
I am glad I have the opportunity to hear this podcast. A lot of people are here I personally follow their video. After hearing this podcast I fill like I am part of something.
0:00 - Introduction 1:40 - First program 2:18 - Journey to C++ 16:45 - Learning multiple languages 23:20 - Javascript 25:08 - Efficiency and reliability in C++ 31:53 - What does good code look like? 36:45 - Static checkers 41:16 - Zero-overhead principle in C++ 50:00 - Different implementation of C++ 54:46 - Key features of C++ 1:08:02 - C++ Concepts 1:18:06 - C++ Standards Process 1:28:05 - Constructors and destructors 1:31:52 - Unified theory of programming 1:38:10 - Machine learning 1:44:20 - Proudest moment
For each programmer 👨🏼💻 who has made some *C++* code available to us *TypeScript developers* hidden behind the JavaScript code in an NodeJS Package Module _( NPM acronym is - _*_Not Perfectly Managed_*_ )_ I will have to say thanks for your work… I am so passionated about high level languages I didn’t choose to go deeper into the C++ journey… Knowing a small subset of C not to die in my journey and like driving an automatic car first and never feeling bad about not driving manual 😅😅😅😅 I am shameless but grateful… Gratitude is encoded in the fabric of Lex Friedman podcasts and I am also grateful for being able to witness this interview…
Programming: Phase 1: Being able to get away from machine code to more abstracted code based on pure mathematics. Phase 2: Adding types and scope. Phase 3: Inheritance and runtime polymorphism....