Nice to see Bjarne in this video, what a legendary character. We must be about the same age. Learned c++ early in my software engineering career, in the chain of assembly language, c, Java, c# and lately Python. c++ is the only language that I’ve continued using extensively in my career.
That's a cool answer. So, where and how do you use c++? I often see (RUclips ) people using C. And I don't understand why there is a need to use C vs C++? Thanks
@@jaimedpcaus1 I'm not a master programming, and i can't answer for him... But i love C++ because the philosophy of "no language that is lower-level than C++ except assembly", and that it doesn't care about your programming style, it tries to fit it all for everybody. Also because the type systems is super precise, i know "exactly" what is happening to my computer when i code it... It is old enough to have lot of libraries and resources, it can adapt to C. And my style is the polemic OOP, which C++ classes makes it very easy to do, especially the easiness for inheritance and that template is so complete that it is turing complete, which, for some is a problem, but for me it is amazing, since template (wiki: Template metaprogramming): "The output of these templates can include compile-time constants, data structures, and complete functions. The use of templates can be thought of as compile-time polymorphism. The technique is used by a number of languages, the best-known being C++, but also Curl, D, Nim, and XL." One example of that is how you can make a factorial function to be done at compile-time (Wiki: Compile-time function execution). Philosophies of the language (from Wiki): "Every feature should be implementable (with a reasonably obvious way to do so). Programmers should be free to pick their own programming style, and that style should be fully supported by C++. Allowing a useful feature is more important than preventing every possible misuse of C++. It should provide facilities for organising programs into separate, well-defined parts, and provide facilities for combining separately developed parts. No implicit violations of the type system (but allow explicit violations; that is, those explicitly requested by the programmer). User-created types need to have the same support and performance as built-in types. Unused features should not negatively impact created executables (e.g. in lower performance). There should be no language beneath C++ (except assembly language). C++ should work alongside other existing programming languages, rather than fostering its own separate and incompatible programming environment. If the programmer's intent is unknown, allow the programmer to specify it by providing manual control."
If C++ had a package manager like many other languages like Python with pip/ conda to install external 3rd party libraries and modules, it would be a literal game changer. It would fundamentally change C++ forever for the better and i hope that one day it happens.
even bjarne wants that i think from one of his talks years ago he said how complicated it was to get a graphics lib installed on 3 different osboxs in his class. someone just needs to takeover C++ as a whole and dictate 1 version for it.
Coroutines are a revolution for game programming. The difference in readability and line count versus finite state machines is amazing. I've only gotten to use them on "bare metal" systems like Nintendo DS where you can safely fiddle with the CPU registers to control the program flow. It will be awesome to have them as a standard language feature.
I started with java when i started coding. The concepts like reference and object creation , didn't make sense to me earlier. I use to think it is very weird . Then I learnt C++ . started with C++11, that changed how I think about learning how to code. I started appreciating the design structure for other languages. And it makes sense why college curriculum introduces C++ in early years. To appreciate design of certain things, we need first learn what it is like to design something on our own. we learn the trade offs first hand. I am absolutely in love with C++. I get it that market structure needs languages which solve other problems like , how fast code can be written or how easy it is to manage and read, but quite really whenever any language wants to do something quick, they are gonna call c++ api at the back. Learning C++ has been an asset to my knowledge base.
@@NateLevin In a technical speech, 95% of time doesn't really cut it when the 5% it gets wrong are the important words you aren't familiar with, but yes, turning them on helped quite a bit
His college textbook with the swan on is really good. Though he says it can be a beginner book, it’s not, in the same way I wouldn’t recommend C++ to a beginner
I would say yes. Modules are meant to bring the advantages of pre-compiled headers but as a standard part of the language (right now they are compiler-specific extensions). They also provide a new way to control visibility in a way that private and protected couldn't (because they are just for classes).
@@cater1337 I really don't get why Linus hates modern C++. His arguments of readability feel very subjective and kind of like "C is better, because we have always done it in C". I personally think the STL's code (which is considered by many the most unreadable code on God's Earth) much more readable than the linux kernel code.
@@embeddor2230 I'm not a fan of Linus, but I think his issue with C++ is that he can't mentally compile it to assembly, which he can do for C. Given his focus on efficiency being an absolute priority, and that assembly languages are truly native languages to him, I can understand his dislike for C++. He seemed to have mellowed a bit over the years. There was one video during an interview where he just said that it's absolute garbage, without explanation. In a more recent talk, during the question time I saw him answer whether he'd consider transitioning to more modern languages, and he didn't rant at all (shockingly!) but just said that he can't figure out what's going on at the assembly level.
He's the worst person in the computer sciences. C++ is really bad and his book about programming it just terrible to the extremes. I respect him but it's impossible to respect his creation.
Wow... Legend himself 😵😵🙌🙌
Nice to see Bjarne in this video, what a legendary character. We must be about the same age. Learned c++ early in my software engineering career, in the chain of assembly language, c, Java, c# and lately Python. c++ is the only language that I’ve continued using extensively in my career.
That's a cool answer. So, where and how do you use c++? I often see (RUclips ) people using C. And I don't understand why there is a need to use C vs C++? Thanks
@@jaimedpcaus1 I'm not a master programming, and i can't answer for him... But i love C++ because the philosophy of "no language that is lower-level than C++ except assembly", and that it doesn't care about your programming style, it tries to fit it all for everybody. Also because the type systems is super precise, i know "exactly" what is happening to my computer when i code it... It is old enough to have lot of libraries and resources, it can adapt to C. And my style is the polemic OOP, which C++ classes makes it very easy to do, especially the easiness for inheritance and that template is so complete that it is turing complete, which, for some is a problem, but for me it is amazing, since template (wiki: Template metaprogramming): "The output of these templates can include compile-time constants, data structures, and complete functions. The use of templates can be thought of as compile-time polymorphism. The technique is used by a number of languages, the best-known being C++, but also Curl, D, Nim, and XL." One example of that is how you can make a factorial function to be done at compile-time (Wiki: Compile-time function execution).
Philosophies of the language (from Wiki):
"Every feature should be implementable (with a reasonably obvious way to do so).
Programmers should be free to pick their own programming style, and that style should be fully supported by C++.
Allowing a useful feature is more important than preventing every possible misuse of C++.
It should provide facilities for organising programs into separate, well-defined parts, and provide facilities for combining separately developed parts.
No implicit violations of the type system (but allow explicit violations; that is, those explicitly requested by the programmer).
User-created types need to have the same support and performance as built-in types.
Unused features should not negatively impact created executables (e.g. in lower performance).
There should be no language beneath C++ (except assembly language).
C++ should work alongside other existing programming languages, rather than fostering its own separate and incompatible programming environment.
If the programmer's intent is unknown, allow the programmer to specify it by providing manual control."
If C++ had a package manager like many other languages like Python with pip/ conda to install external 3rd party libraries and modules, it would be a literal game changer. It would fundamentally change C++ forever for the better and i hope that one day it happens.
well, there is a conan exist...
even bjarne wants that i think from one of his talks years ago he said how complicated it was to get a graphics lib installed on 3 different osboxs in his class. someone just needs to takeover C++ as a whole and dictate 1 version for it.
Coroutines are a revolution for game programming. The difference in readability and line count versus finite state machines is amazing. I've only gotten to use them on "bare metal" systems like Nintendo DS where you can safely fiddle with the CPU registers to control the program flow. It will be awesome to have them as a standard language feature.
It was great working with you on this! Thanks much!
what a perfect timing, i’ve been getting into cpp lately and it’s like you read my mind on the subject to be covered
Uci ics45 and 46 are great courses for cpp if u cant find good resources 😄
"Q. Question you wish you were asked?"... Every interviewer should ask this question on every interview.
06:48 "I realized that you have to have something that you can read over a weekend..." 252 pages of C++
I started with java when i started coding. The concepts like reference and object creation , didn't make sense to me earlier. I use to think it is very weird . Then I learnt C++ . started with C++11, that changed how I think about learning how to code. I started appreciating the design structure for other languages. And it makes sense why college curriculum introduces C++ in early years. To appreciate design of certain things, we need first learn what it is like to design something on our own. we learn the trade offs first hand. I am absolutely in love with C++. I get it that market structure needs languages which solve other problems like , how fast code can be written or how easy it is to manage and read, but quite really whenever any language wants to do something quick, they are gonna call c++ api at the back. Learning C++ has been an asset to my knowledge base.
Do you like new C++ versions with concurrency, modules, concepts, constrains, etc?
Wow, this needs a lot of views. Thank you for conducting this interview
You're welcome and thanks!
Came here from ContextFree channel. Subscribed. Looking forward to consuming mCoding's content henceforth. 🔥 You guys are great inspiration.
I wish there were subtitles, as a non-native speaker, I am having trouble hearing everything he is saying at times :(
The youtube auto-generated ones are right about 95% of the time for me.
@@NateLevin In a technical speech, 95% of time doesn't really cut it when the 5% it gets wrong are the important words you aren't familiar with, but yes, turning them on helped quite a bit
Yes
@@NateLevin I'd say 99 percent
Even as a native speaker it’s a bit difficult because he has a strong accent
ngl when i read this i thought it was going to be a FANG style technical interview question and i was like ohhhh shit haha!
lmao
cpp is getting better and better each release ... considering how big it is, i am pleased with the pace they are catching up to modern languages
I thank you for the question about suggestions for novice learners
Very welcome!
Holyshiit, Amazing!
Edit: just finished watching and I'm surprised how short the video is. However, there is some gold nuggets of info in there!
Geez, I was just wishing C++ had coroutines/python generators for my current project.
I think easy generators are a priority coming in C++23.
What are you working on
Thank you very much for this interview!
The question about starting now is what I needed.
I will certainly acquire that book.
how is the book?
Wow an interview with Bjarne.
Great interview. I've been loving the new Cpp content.
Very inspiring and an amazing video, thank you very much
wow! Such a legend!
I hoped it was a C++ technical job interview for Stroustroup as if he was applying for a software engineering position
Haha i don't think he needs to apply for jobs anymore.
His college textbook with the swan on is really good. Though he says it can be a beginner book, it’s not, in the same way I wouldn’t recommend C++ to a beginner
I thought I'd be like a mock job interview
That's not the creator of C++, that's Chuck from Better Call Saul
Initially, from the title, I thought that it will be a "job"-interview of Bjarne Stroustrup...
Thanks for conducting this great interview :) Any chance it will be available in textual form for easier citing?
First thought was that interviewing him for some job and im like thats messed up, if anything, it's Bjarne whos gona interview someone else.
Hahaha yes not a job interview, just a normal one.
Congratulations! Huge achievement sir!
the king
can he reverse a linked list though?
Lol, why is there a need to do that though? I know it's a question, but is there any use case for such a thing?
@@pranavnyavanandi9710 to pass a job interview
So did he pass the technical interview?
The legend ⚡⚡🔥🔥⚡⚡
Wow this was so unexpectedly cool ❤️
Would pre-compiled STL headers be an example of a module?
I would say yes. Modules are meant to bring the advantages of pre-compiled headers but as a standard part of the language (right now they are compiler-specific extensions). They also provide a new way to control visibility in a way that private and protected couldn't (because they are just for classes).
perfect timing
respect++
Wow 😳😲 amazing information
Love 💕 from Pakistan
amazing..
Nice, that's gonna be interesting :D
wow, nice
Wooooow
linus is missing here, what a talk would it be
linus hates C++.
@@embeddor2230 thats why it would be good, confrontation
@@cater1337 I really don't get why Linus hates modern C++. His arguments of readability feel very subjective and kind of like "C is better, because we have always done it in C". I personally think the STL's code (which is considered by many the most unreadable code on God's Earth) much more readable than the linux kernel code.
I first thought you were talking about Linus Sebastian
@@embeddor2230 I'm not a fan of Linus, but I think his issue with C++ is that he can't mentally compile it to assembly, which he can do for C. Given his focus on efficiency being an absolute priority, and that assembly languages are truly native languages to him, I can understand his dislike for C++.
He seemed to have mellowed a bit over the years. There was one video during an interview where he just said that it's absolute garbage, without explanation. In a more recent talk, during the question time I saw him answer whether he'd consider transitioning to more modern languages, and he didn't rant at all (shockingly!) but just said that he can't figure out what's going on at the assembly level.
👍👍!
discord gang 🤙🤙🤙
An interview with God himself. Wow
oh my...
woo
Discord gang
i wanna see him leetcode
Holy shit
O.
Weird editing
He's the worst person in the computer sciences. C++ is really bad and his book about programming it just terrible to the extremes.
I respect him but it's impossible to respect his creation.
C++ is bad and yet because of the free choices of engineers it is used widely. Do you see the problem reconciling your statements?