Bjarne Stroustrup: Learn More than One Programming Language
Вставка
- Опубліковано 25 лис 2024
- This is a clip from a conversation with Bjarne Stroustrup from Nov 2019. New full episodes are released once or twice a week and 1-2 new clips or a new non-podcast video is released on all other days. You can watch the full conversation here: • Bjarne Stroustrup: C++...
(more links below)
Podcast full episodes playlist:
• Lex Fridman Podcast
Podcasts clips playlist:
• Lex Fridman Podcast Clips
Podcast website:
lexfridman.com/ai
Podcast on Apple Podcasts (iTunes):
apple.co/2lwqZIr
Podcast on Spotify:
spoti.fi/2nEwCF8
Podcast RSS:
lexfridman.com...
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 UA-cam channel. I hear the 6% and partially agree, so am torn about the whole thing. I tried creating a separate clips channel but the UA-cam 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 UA-cam, many of the critical back-end component of UA-cam 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 UA-cam channel or connect on:
Twitter: / lexfridman
LinkedIn: / lexfridman
Facebook: / lexfridman
Instagram: / lexfridman
Medium: / lexfridman
Support on Patreon: / lexfridman
This is a clip from a conversation with Bjarne Stroustrup from Nov 2019. New full episodes are released once or twice a week and 1-2 new clips or a new non-podcast video is released on all other days. If you enjoy it, subscribe, comment, and share. You can watch the full conversation here: ua-cam.com/video/uTxRF5ag27A/v-deo.html
(more links below)
Podcast full episodes playlist:
ua-cam.com/play/PLrAXtmErZgOdP_8GztsuKi9nrraNbKKp4.html
Podcasts clips playlist:
ua-cam.com/play/PLrAXtmErZgOeciFP3CBCIEElOJeitOr41.html
Podcast website:
lexfridman.com/ai
Podcast on Apple Podcasts (iTunes):
apple.co/2lwqZIr
Podcast on Spotify:
spoti.fi/2nEwCF8
Podcast RSS:
lexfridman.com/category/ai/feed/
in may opinion you must leran algorithme first than leran the basics of many languages, Because, I think, a good programmer must adapt
Languages I've written commercial projects in: Assembler, BASIC, C, Objective C, C++, C#, Clarion, COBOL, FORTRAN, Java, Javascript, Pascal, Python, Modula-2, PL/I, RPG. And then, of course, many control languages, SQL, dBase, etc.
I've never had trouble picking up whatever language a project is using. It's all the same concepts.
I always like a quote of his, there are two types of programming languages in this world- ones nobody uses and ones everybody complains about
I like his preciseness by saying " a good learning" and not just "learning" when he talked about human languages and cultures
After Joe Rogan moving to spotify and being censored, this channel is one of best to remain. Thank you Lex. Keep up the good work.
how was he censored?
Lmao ya how tf was he censored?
@@Purpyboi exactly, if he chose to move to Spotify for more money or any other reason, then that’s his choice. Not censorship
@@Purpyboi His back catalog wasn't uploaded in its entirety. Spotify intentionally left out specific (and some of his most popular) uploads that were 'controversial'.
The quality of conversation on this podcast is smth else. Rogan is not even close
Your UA-cam channel should be ranked as a Unesco World Heritage site. I really would like to thank you so much Lex Fridman for bringing up the smartest and brightest brains in the world and making the content of your interviews with them available to us on UA-cam. The opinions of such people are just very precious for continuing reshaping our thoughts and social/economic/scientific/environmental/etc organizations for the better.
What a legend! I mean, Bjarne is in the history books already!
Can't wait for the generic watchmojo top 10 programming languages video
😂😂😂😂
Number 10 - HTML
@@JoHn-gi1lb Number 9 - Photoshop
number 7 wordpress
Number 6 - PowerPoint
• an optimized, low level language but with great modern abstractions (you know which one i’m talking about)
• one of the functional languages just grab one out of a hat pretty much
• and a quick and dirty scripting language that you can actually be most productive with
…and ain’t that the truth what a list honestly
Proud to see smart men talking about things that really matter. Thank you, Gentlemen
The never ending cycle of learning new languages and forgetting old ones. There was a time when java was my strongest language. Nowadays, i couldn't write a simple java program without doing some googleling.
Literally same.
I'm currently learning Kotlin, what I do is compare the syntax with JAVA. It helps me to remember things. Apart from these two I know JS also.
I learned only C++, but as we already know it accidentally has 3 or 4 Turing-complete languages in it.
@helo helo you should try to be good in one.
@4th4rv alt This is why I'm sticking to C++ for now. I agree with all what Bjarne said but I think that a beginner shouldn't wonder a lot.
Is it rare that I had only classes with C and C++ and pretty much just syntax and a little bit of hardware and now that I want to learn more on my own I just cant get my head around the more high level ones that I need to learn to land a job xd...I just cant take something as understood if I dont know exactly how its work...I mean I literally start reviewing some python material and end up watching a guy building a hello world program in assembly on a calculator screen and understanding right away unlike js 😂
@@440s Yeah, I can relate. It's ironic but the high-level languages can be more difficult to understand for the person who wants to know precisely how the program works. Because they hide so much.
He has the looks, the name, and the brain of a genius.
and the fashion sense
Just to be precise, it is Motorola 68000 and not 6800, this processor was a 16-bit processor and it did not support unaligned accesses. It was truly a marvelous processor and was used in Macintosh 2 iirc.
The keynote by Jason Turner he talks about is for the 6510 (Commodore 64), amazing keynote. It's called:
'CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17"'
EDIT: Removed "IIRC", the info in the comment made it redundant..
Here's a link ua-cam.com/video/zBkNBP00wJE/v-deo.html
Thanks to both of you
nice one boys
Thanks a lot!!!
If you take a job as a software engineer or programmer you will inevitably have to use or understand more than one language in the course of your work.
C/C++, Java, Python, Haskell. This should provide a good range of languages. You'll get your OOP, imperative and functional programming experiences, ranging from low-level (C) to high-level (Python) languages etc.
Totally agree.
his name is like an extremely poorly named String function, I swear!
/*
* Function: StrOuStrUp
* ----------------------------
* Sends the selected string at index from array to stdout and moves the string to the top of the array
*/
I'll finally remember how it's spelled
Only true nerds get that one 😅
Romanas de-a meu
void std::str_out_str_up(const char *);
A pretty, artsy representation of the assembler code leaning up during the sped up writing of a large codebase... that'd be real ceewl
I've written using C, Basic, C++,Java, C#, Scala, Js, Typescript, Python, Ruby, PHP, Actionscript and I'm thinking whether to add Rust or Golang to my arsenal. Pretty sure i won't need it but who knows.
Thanks for the videos . They are very interesting and inspiring !
I will learn C first as the basic language, then C++, later Python, and do one but my goal is learning for robotics.
Hey! I have the exact same plan, except that I'm not gonna do robotics
@@AhnafAbdullah what u gonna do then?
@@joserosa5342 I just plan on being an adept programmer so I can make some software for myself that no one else will make for me :(,
I also like computers so I plan on pursuing computer science and the like
@@AhnafAbdullah very nicee. U think like me i think. I want to learn other thing to do it for myself.
I don't think learning C has much added value when learning C++. C++ is truly 'better' than C in the sense that it has everything C has and then some more. Learning C first will just make it harder to not use C functions in C++ where they aren't necessary. It's better to learn C++ first, imo
He modified his list and he left Java but Ruby python and JavaScript holding up.
Really like the way he talks :)
I love this man!
really great advice!
4:38 visualization back then ...
At 3:00 I, too, was covering my mouth and listening as attentive and intrigued as Lex was lol
This man is a Skyrim character
Wow... best advice ever! Honestly, I think Python is the best language to start with, given the level of abstraction inherent in the language. Once you've gotten your feet wet, move on to Java. Then, C (I recommend C before C++). Then, C++. Finally, Javascript.
and what of c#
I think C is better to start with. I start with C, then C++, Java and the Python. If you get the idea how C works and learn to use debbug to see what code actually do then other languages make more sanse. I learned Python really fast after knowing C. If I learned Python first, I think C become a big problem .
@@zuna21 I agree to some extent. The problem with that is if you don't have the drive or passion for programming, C will break you down! The concept of memory allocation and pointers alone are a handful for CS engineers, let alone someone starting out. I still think Python is the best language to start with... give them a soft cushion to sit on!
@_Hedura_ For web development, definitely JS. For everything else, not JS.
@@zuna21 I agree... but for someone who isn't really motivated to learn, if you go with C, you'll likely get discouraged and quit!
3:35 "Keynote by Jason Turner at CPP con a couple of years ago"
CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
25-Sept-2016
what I heard once more: C++ is not so much a programming language, it's rather a meta compiler language... you don't just write down an algorithm, rather its meant to for you to give your compiler as much (abstract) information as possible in order to optimize it for (any) actual CPU hardware. Fancy concept...
@Bebtelovimablol
Legend.
"I need the abstraction mechanism, or something like C++" 3:29
legendTalks
I replaced all 5 languages with C# and C++
My List: JS, Go, Java, python, C, and Few DSL's
Next: Nim, Zig, WASM, Rust, Ocaml, Clojure
Probably Next: erlang, haskell, julia
C++??
@@mujtabahussain7015 c++ is well established, but I chose rust coz I want to witness the change the growth, packages tooling just like javascript had like es5 then es7, es 2020 etc. its fun u get to know more and improves reading skiils
Functional languages are proved to be garbage.
Strike everything off the "Next" list except for Rust and pick Haskell. Here's why:
1. Rust seems to be aiming for becoming the future of low-level programming.
2. Learning Haskell will be painful judging from your current "language portfolio" but it will be worth it in the end. I can guarantee you that experience of learning a truly functional language and making something useful in it will make you a better programmer overall.
P.S. If not Haskell, learn Elixir/Erlang, they're also functional languages but are, in my opinion, more fun than Haskell because you get pretty cool persistent and concurrent functionality out of the box.
I wish web devs are watching this
Bjarne Stroustrup: "It's easy to learn 25 programming languages"
* "back in that day" he said as well :) now they are far larger languages
Once you learned one language it's easy to pick up the rest.
He just wanted to mention C, Perl and Java
Excellent interview!
I believe, more than language, one should decide what he wants to do - just find SOME job, or be able to do some stuff he/she is interested in - graphics, robotics, mobile biz apps, web, ML, etc.
People are proud of their assembly/C/C++ code being fast but have never heard of VHDL/Verilog hardware description languages, where algorithms are implemented in custom digital hardware and perform 100 times faster than their lowest level programming languages.
I know it's old, but thank you for this post. You've taught me something.
What if I only learn assembly?
Ofc you should :)
The second time , Pepsi is featured in the podcast , sponserd?😂
Machine code in the streets, undefined behavior in the sheets
So true
“I have to understand a bit of it”, a bit?🤣
I think that he is bias toward his language C++ because I can't see any reason why a developer should learn C++ these days unless you are going to work as a game developer. Learning different languages should not be about the "how many" but about "how different" they are from each other. The focus should be about learning different language paradigms and not learning similar languages. I personally still think today that learning the C programming language (the mother language of them all) is very important and valuable to any programmer even if you are not going to work with it or use it.
As some one that has to program in C++, Stroustrup should not be forgiven.
More importantly, what programming language do you use now, and if you now say Python, that wouldnt even exist without cpp
@@Gollowain Go
@@Gollowain Python was written in C, not C++ lol.
C++ is the most powerful language there is... unless you want to write assembly. Why should I care about difficulty?
@@rakinrahman890 I am more talking about the many C++ libraries that are wrapped with Python, but sure, you are right
What does he mean by you should learn "machine code" today. "Machine code" is a little bit vague to me. Does he mean assembly or 1's and 0's ??
Nobody uses 0s and 1s :DDDD
@@updaet6870 Yeah but you know understanding how the computer works with pure 1's and 0's e.g. Two's Complement, floating point binary etc.
@@updaet6870 But judging from your answer I guess he means assembly :D
Hairstyle ++
He's the Einstein of programming languages.
Does he keep on whistling while he's talking without even knowing it??
Trying to be smart by cracking a joke on one of the smartest brains
Yes, kinda weird,
how can he do that anyway
The real time compiler on 3:40:
ua-cam.com/video/zBkNBP00wJE/v-deo.html
This inspired me to take start working on my C++ projects again but than i remembered the massive complexity of the language & brutalness of incorrect memory managements. No Thanks, c++ is only for the pros.
I am also learning. and this c++ language learning is not ending. Basic/OOP/function objects/template/iterator/forward iterator/bidirectional iterator/smart pointer ... and this never ends.
Which projects do you recommend for practice?
Learn functional programming. Break your brain today.
What does he say at @2:59 "I would go..." hard to understand with his accent.
I think he just made a language mistake, pretty sure he said "Lesser simpler"
Which is a typical direct translation from danish into english. Probably because he thinks in danish, we say. "Mindre simpel" = "Lesser simpler"
Jason Turner's talk: ua-cam.com/video/zBkNBP00wJE/v-deo.html
I think this is the C++/X86 assembly talk Bjarne is referring too: ua-cam.com/video/zBkNBP00wJE/v-deo.html
thank you Sir!
I tried counting the word *abstraction* said by him. ....
during whole podcast
I failed
What about shader languages, Cg is cool.
Cg is ded
TFW no Go :(
TFW Go is implied in 'choose any language' :)
this days you need to learn frameworks also
I know Pascal, VB, Python, C++, and SQL, HTML, CSS and JavaScript if you count those as programming languages. Is that enough? Was thinking of learning Java and PHP next. It's so easy; all these languages are very similar. C++ is the main language I use and my favourite by far. Python is next for when you want something done quick and dirty. LIke a bot scraping the internet lol.
Geez those S's are rough with earbuds...
Learning a compiled or interpreted language and not having the curiosity of wanting to know machine language through the use of an assembly is terrible. All coders should have a fair understanding of digital circuits and how they are coded.
Not knowing what the Stack does at every call, what the Flag register does at every loop, how all the chips are memory mapped, etc, is not understandable for me. Mr Stroustrup must have studied very accurately how various CPUs are machine coded. Knowing some coding at the electronics level of abstraction would make you an overall better coder. Anyway all my best to you.
I don't know, I hear Rust is better.
Please tell me if rust will replace c++
they are both in the same league, a league of their own.
Why the fuck is there html on the thumbnail
can talk fluently c, vb, java, c#. python , php .. i am getting there
After reading clean code by uncle bob I followed his advice of learning 1 new programming language each year. Current I know Swift, Ruby, Python, Javascript and this year I'm learning C#.
Talk fluently is all good, but in a professional environment can you solve issues that are presented to you, it's all good knowing the language but it's completely different when applying it
@@JW-jd6sn this is what many people here don't understand.
I wonder what he qualifies a "known" language. I can write a very simple and short x86 program, but I have no idea how to be a programmer in that world. I couldn't live in a world where everyone speaks x86. If learning 5 languages means being fluent in 5, then it's a life work. I know one quite decently (python), then I know maybe 10 in which I know the grammar and the spelling but I have no idea on what's going on. 5 seems like way too much to me.
I would say learn one and have a vague idea of many. Just like for natural languages, there are very few reasons to spend years and years learning several languages. Your mother tongue + a garbage level of english is way more than enough. At least it is for me. Same goes for programming languages. If you know one well you are already in a good spot because the internals of languages are all quite similar, the differences between two languages are a matter of design choice. Knowing the choices of 5 communities of languages designers s just a painful task.
@@osquigene I've done commercial work in more than a dozen languages. If you get a computer science degree and understand the concepts that all computer languages are built on it's not at all difficult to pick up another language.
you do not choose which language to learn, the market forces you to learn a particular one. right now, if you want to find a job, you need to know Java and Python, at least. however, it depends on the domain. check craigslist, they list what languages you need to know. some of them say you have to know C++. you do your own research and come up with your own list, based on your interests. interested in AI, Python is a must. Stocks, then C++, operating system level programming, than C. it depends what you want to do. it is the dumbest idea to tell ppl that they have to learn 5 languages. those smart ppl are not very smart time to time bec they are human, and human psychology plays a big role about their behaviors. Stroustrup is a very smart person but he should be smart enough to know when to stop talking. remember this, they are just humans. Einstein helped us to build the atom bomb, and we killed millions of ppl thanks to him. you have to be able to think for yourself.
for full web backend, should I learn only java?
@@electricimpulsetoprogramming you mean JavaScript? Java is not used for we backend programming in general. however, you could use any language for web backend, since every general purpose language can receive and send data. for a full stack web programming, I recommend PHP, JavaScript, SQL, HTML and CSS.
@@robertjulesyoung9994 I'm talking about full web backend, and I meant java, a lot of companies use Java in the backend with the Spring framework.
@@electricimpulsetoprogramming I always recommend my students to check websites like indeed, dice, craigslist etc to see what is the market demand. no one, like literally no company wants you to know Java for a full stack web developer position. you need to figure out what they are asking for and educate yourself accordingly. Java is a popular language, demand is high, but not for web backend. do your own research, talk to professionals, your advisors, ask ppl w experience on the net etc, you will know what is best for you. however, if you are a computer science person, I would really recommend you to learn Python for AI. good luck.
nice coca cola advertisement
No thanks.
The nervous nurse ipsilaterally tap because pollution proximately influence an a jobless loss. mixed, untidy plane
c++ as a language is completely crap.
not crap, hard, if you truly understand the language you are set
but i do agree it is odd
Is he tweeting? He sounds like a bird at times. Get a better pop filter! :D
ok boomer
Pepsi Stock 📉