Тёмный

How to learn programming - Advice for scientists | Clara Sousa-Silva and Lex Fridman 

Lex Clips
Подписаться 1,3 млн
Просмотров 117 тыс.
50% 1

Lex Fridman Podcast full episode: • Clara Sousa-Silva: Sea...
Please support this podcast by checking out our sponsors:
- Onnit: lexfridman.com/onnit to get up to 10% off
- Grammarly: grammarly.com/lex to get 20% off premium
- Blinkist: blinkist.com/lex and use code LEX to get 25% off premium
- Indeed: indeed.com/lex to get $75 credit
GUEST BIO:
Clara Sousa-Silva is a quantum astrochemist at Harvard.
PODCAST INFO:
Podcast website: lexfridman.com/podcast
Apple Podcasts: apple.co/2lwqZIr
Spotify: spoti.fi/2nEwCF8
RSS: lexfridman.com/feed/podcast/
Full episodes playlist: • Lex Fridman Podcast
Clips playlist: • Lex Fridman Podcast Clips
SOCIAL:
- Twitter: / lexfridman
- LinkedIn: / lexfridman
- Facebook: / lexfridman
- Instagram: / lexfridman
- Medium: / lexfridman
- Reddit: / lexfridman
- Support on Patreon: / lexfridman

Наука

Опубликовано:

 

2 июл 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 169   
@st0ox
@st0ox 3 года назад
About the productivity trap: I don't even spend 90% of my time improving my code, I spend 90% of time improving my Linux system like an Oldtimer car enthusiast and 9% of my time I spend on stack overflow to tell other people how bad their code is without providing actual improvements, like every regular user on this forum. With the last 1% I actually get some work done and earn my money at burger king.
@ultimateberserker3778
@ultimateberserker3778 3 года назад
Life of the average reddit neckbeard
@GodComplex98
@GodComplex98 2 года назад
LMAO this killed me
@scottydog9997
@scottydog9997 2 года назад
Some people actually listen to Reddit developers for advice....... If you want to fail, listen to people who "have to be right".
@RajibAdityaNayan
@RajibAdityaNayan Год назад
Agree with Lex about the StackOverflow obsession. And your snide remark about how unforgiving it is. But at the end of the day, all the answers to the ultimate question of life, universe and everything is to be found at StackExchange. :)
@aftalavera
@aftalavera Год назад
Everything has a good side… Take that!
@josephgaviota
@josephgaviota Год назад
As a fast typist, and as a programmer for 40 years, I agree that well written, well commented code should be fairly easy to revisit in the future, without documentation. My motto: Never sacrifice keystrokes for clarity.
@MrChaluliss
@MrChaluliss 2 года назад
I frequently question the amount of meta note taking I do while coding and while learning new concepts related to complicated project tasks. Comments like these from Clara really make me feel like I am not wasting my time though. When I want to go back to anything I have done, it usually doesn't take long to catch onto the whole picture of it so far, as I often am explicitly documenting the purpose of each object, action and task along side actually doing the work. Human memory is tricky
@matthewg5792
@matthewg5792 2 года назад
Sousa-Silva - "I would much, much faster hire someone who knows programming but barely knows where space is than teach programming to an astronomer." That is incredible. Really speaks to the difficulty of writing code.
@EnlightenedSavage
@EnlightenedSavage Год назад
Speaks to her admitted weakness
@biggop
@biggop 2 года назад
Lex hit it on the nail. Ive made the mistake of focusing too much time on optimization.
@Nick-kb2jc
@Nick-kb2jc 3 года назад
Bad programmers are usually the people who decided to do it for the wrong reasons. I know many people I went to university with who were only CS majors because they heard you could make a decent salary with a CS degree. They were never invested in learning data structures and algorithms the right way and didn’t like coding and making stuff in their free time. To truly be a good programmer, you have to know data structures and algorithms, and also like to code when you don’t have to. For me, it was making video games that kept me motivated.
@jamesgraham8797
@jamesgraham8797 3 года назад
Are you working for someone now or working on a passion project?
@Nick-kb2jc
@Nick-kb2jc 3 года назад
@@jamesgraham8797 Both. I have a full time job and I am working on a side project.
@jamesgraham8797
@jamesgraham8797 3 года назад
@@Nick-kb2jc Sick. I started programming last year and am now applying to jobs as a full stack dev but learned c# initially for games with Unity. I wanted to get hired working in games but it seemed like a higher barrier of entry for a newb opposed to other jobs I found.
@Nick-kb2jc
@Nick-kb2jc 3 года назад
@@jamesgraham8797 Yeah, if you want to work in games and don’t have any experience, then I suggest starting out making your own games and writing/publishing a tech blog about your journey. To find a job in tech these days with little to no experience, you have to prove that you know what you’re doing and that you are willing to always keep learning. The best way to do that is to be active online and blog about the things you’re interested in.
@Nick-kb2jc
@Nick-kb2jc 3 года назад
@@jamesgraham8797 For example, if you want to make games in Unity, pick a specific area of game dev that you’re interested in (like graphics, gameplay mechanics, etc) then build something small and blog about it. Do you enjoy C# and Unity? Blog about what it was like learning those tools. People who do hiring at these companies love to see your thought processes and how you solve problems.
@ridebywire6712
@ridebywire6712 3 года назад
You wont learn programming in shool. You learn it at home. Find something that interests you. Music? Develop a music player. Games? Develop a small game with sprites. Thats the start. Then apply what you learn at shool. At shool, we should develop a program to calculated taxes. Where is the fun in that? Instead I have started with C++ and played around with a small game engine. Thats how it started for me.
@Nick-kb2jc
@Nick-kb2jc 3 года назад
Exactly and this is what people don’t understand. You will not become proficient as a programmer by taking a couple courses in university. You have to love the entire process of building something you’re interested in from start to finish, and then you have to do it a lot. For me it was video games. You do have to make sure you learn data structures and algorithms though, or else you will never be a good programmer.
@TheMaxKids
@TheMaxKids 3 года назад
Who needs shool anyway…
@thepunisherxxx6804
@thepunisherxxx6804 3 года назад
@@Nick-kb2jc There are some careers that college is required but I don't think programming, modern DevOps, or IT is one of them. Sure they have foundational courses that can help you but they are so behind in the times, and never touch on real world stuff you will be learning and doing constantly. Another big thing that you have to consider as you start working with others is readability - variable names, knowing when to leave small comments for a function, noting dependencies, that sort of thing. When you start collaborating with others you have to try and standardize on best practices so everyone can read and fix code if needed. Logging each step in a formatted manner that can be grokked and sent to a logstash is very important too.
@DJLiddle
@DJLiddle 2 года назад
@@TheMaxKids children
@pranav_chalotra
@pranav_chalotra Год назад
Goal of Scientific Computing is not art of programming. They code just to simulate mathematics. They have other thousand things to focus.
@SuperYova
@SuperYova 2 года назад
There are only 3 things [to programming]: 1. Reading from a variable 2. Writing to a variable 3. Conditional branching Everything else is syntactic sugar. This is from another Lex interview (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-j-BVv0XW1H8.html.
@absolutenegativity7369
@absolutenegativity7369 Год назад
Programming paradigms can be radically different though. Like you wouldn’t think about writing to (mutate) a variable in pure functional programming. And that’s not syntactic. That’s a completely different model for programming.
@ohdude6643
@ohdude6643 Год назад
Indeed
@Aaron-tl9zy
@Aaron-tl9zy 2 месяца назад
These can be reduced further to just the move (mov) instruction
@GodofStories
@GodofStories Год назад
I love Claras confidence and strong opinions, a brilliant person!❤
@jsr3793
@jsr3793 2 года назад
Her analogy that she would rather teach a programmer where space is, is spot on. Because, well space is there. There aren't 10,000 different form of space above us. But there are 10,000 different ways to code a single thing.
@Mr.Opinion
@Mr.Opinion Год назад
I think she is missing her own point. She isn't as good at teaching coding as she as at teaching her expertise. Its almost like a biophysics lab wanting to bring in some highlevel physics guys rather than teaching high level physics to a bio guy, especially if the lab is in need of the physics
@timtags
@timtags 3 года назад
I still know as little about code as when I started the video but I did learn not to be obsessed over perfection.
@CyberAnalyzer
@CyberAnalyzer 2 года назад
A bit of obsession is necessary to be a good programmer, but as the video says it's important to know the limit.
@tommyhuffman7499
@tommyhuffman7499 3 года назад
You choose such fascinating topics to cover! Good talk.
@wiskasIO
@wiskasIO 2 года назад
I guess that depends on the person, I have a friend that is a Nuclear Scientist and he only knows one language (FORTRAN) but he knows it by heart because he loves speed. He refuses to use other environment or language, he told me that his compiler and the way he codes his Fortran is so optimized that anything that wasn't that fast with his formulas would drive him nuts.
@WackadoodleMalarkey
@WackadoodleMalarkey 2 года назад
Yeah a farmer near me got on speed and only plants sorghum now, a madman market niche but they do them well enough
@AshtrayAnnie
@AshtrayAnnie 2 года назад
@@WackadoodleMalarkey That was a horrible comparison lol. That farmer is most likely a full time rancher. Providing feed for his own animals. What looks crazy to you, is survival or even success beyond your own understanding to others.
@czos9239
@czos9239 Год назад
The great part about being a hobbyist coder (sometimes do kiddie scripts at work) I can shamelessly use the most hated languages just 'cuz they suit me: BASIC, Perl, & J#.
@caleb-hess
@caleb-hess 2 года назад
Great programmers hold "getting the job done" much higher than having to use the perfect methods and tools.
@Carramoz
@Carramoz 2 года назад
As Zuckerberg said, "Better done, than perfect" And that really applies to everything where design is involved...
@oxmodius
@oxmodius 2 года назад
I would argue that is what makes a competent programmer. A great programmer gets the job done in an efficient, clean, and scalable way.
@shinoobie1549
@shinoobie1549 2 года назад
but using proper methods and tools gets the job done
@charlessmyth
@charlessmyth 2 года назад
That is for when it's a one shot job, not for software to be packaged for sale :-)
@scottydog9997
@scottydog9997 2 года назад
Yes and no, you want to make sure whilst you are "getting the job done", your solution is flexible enough to handle future enhancements that help it scale.
@dariuszgadugadu3428
@dariuszgadugadu3428 2 года назад
Read Clean Code. Strongly recommend it.
@dannyiskandar
@dannyiskandar 2 года назад
get the job done first, i guess is more important later when there is time to revisit the code then improve it. I think that's my approach in life. In general it is better to be early than late? Probably.
@aftalavera
@aftalavera Год назад
Lex you are amazingly wise for your age!
@garystroup4298
@garystroup4298 Год назад
I think for any programmer in general, taking the time to write comments about what the block of code is doing will save some of the frustration for you and others who have to read your code in the future.
@yiluan6133
@yiluan6133 Год назад
I think a better way of doing it is to spend more time and try to write more straight forward code. But well, in work I guess everyone is time-constrained😂
@dandan7884
@dandan7884 3 года назад
After learning Elm I was happy. Then I had to go back to OOP.
@GandalfTheBrown117
@GandalfTheBrown117 2 года назад
Wow she is really well-spoken. Like her live sentences sound like writing
@capatheist
@capatheist 2 года назад
Articulate
@AnneALias
@AnneALias 2 года назад
Look at those amazing knockers omg
@lee6704
@lee6704 2 года назад
Learning to properly debug code along with repetition, repetition, repetition.
@marcvanleeuwen5986
@marcvanleeuwen5986 2 месяца назад
Curious to say, just after hearing that people are still programming in Fortran because of legacy code, that in reality code (whether well written or not) will most likely very quickly become obsolete.
@fanfeck2844
@fanfeck2844 2 года назад
She’s spot on. If you can’t, then hire someone who can
@Tabu11211
@Tabu11211 2 года назад
Full var names and then alies them imo. Spreadsheet the var's if you can
@charlessmyth
@charlessmyth 2 года назад
The guy behind Stack Overflow is actually a programmer from the days when "optimization" wasn't a deluxe option :-) Maybe he knows someone who would be good with FORTRAN and COBOL :-)
@lefaxeur9169
@lefaxeur9169 2 года назад
i use a lot of comments in my code so i can understand it later. It is really awkward when you are called to explain your own code and you are blank
@chairlovawitabat
@chairlovawitabat 2 года назад
Have to disagree with Lex on the topic of optimization. I am a web developer-most of my projects are small, so optimization of my code gives very negligible benefits in terms of the user experience. Scientists, though, work in a completely different context. They have HUGE datasets. Optimization of their code could potentially be the difference between minutes or hours of processing. If scientists use programming, it is because they are doing really computationally heavy work. The James Webb telescope is one such example. The images we see are a result of really heavy computations. A lot of the time, good coding practices (good variable names, etc.) is not just for you, but for others on your team to meaningfully understand and contribute to your code. These benefits should definitely not be understated! I also do a lot of data analysis with R/Python. When I do such projects, even ones where they are one-off and temporary, I am constantly bitten by my own poor coding habits. I will recall "Oh a while back, I did a special aggregation in a previous project, would be cool to do that same data aggregation technique in my current project" and will instantly regret not having taken seriously writing good, clean code, and interpreting my own code from months before becomes its own chore. Scientists-it may not seem like it, but optimization is IMPORTANT. Coding habits are important. Moreso for you than me, given the datasets you work with. It is true that there comes a point where further optimization is not necessary, but again keep in mind the context. If you can cut down processing time *significantly* due to optimization, you are doing your company/firm/taxpayer a great service.
@TheBruceKeller
@TheBruceKeller Год назад
If a research project is going to be largely based on a simulation, it better be a darn good simulation.
@surfingbilly9654
@surfingbilly9654 Год назад
yep, as a data analyst i think good, clean code is more important than normal for a couple of reasons: - big data sets/simulations, sometimes code takes half a day to run. so maximising code performance is super important. - good, clean code helps you understand your math logic used to underpin the code. Especially when you are re-visiting that code after a few months and you have forgot what you have done.
@pranav_chalotra
@pranav_chalotra Год назад
For Scientists, Applied Mathematicians, Quants, Engineers (Not CS Majors), Econometricians & Statisticians, Coding is only for simulation & computation of Mathematical, Statistical Models. Our main goal is 'Models' not 'coding'. We do code only for models to simulate.
@nercoG
@nercoG 3 года назад
Cool!
@intrametaarchi1015
@intrametaarchi1015 2 года назад
He better invites Dan Grossman. I also recommend his coursera course to anyone who wants to learn programming.
@ChrisAthanas
@ChrisAthanas 3 года назад
FORTRAN and cobol are both very obsolete It would be better to write translators that convert that source code into Python or Java
@filippocucina7001
@filippocucina7001 2 года назад
Dude cobol is the language used for the banking industry. It pays really well
@benbray4982
@benbray4982 2 года назад
@@filippocucina7001 for noe
@EnlightenedSavage
@EnlightenedSavage Год назад
Yeah that is not true. Fortran is still around for a Reason. If you are doing physics modeling you almost have to use Fortran.
@ChrisAthanas
@ChrisAthanas Год назад
@@EnlightenedSavage other than that extremely narrow field, Fortran for modern development is dead
@wiskasIO
@wiskasIO Год назад
Comment you code!!! It's that simple.
@senshai1267
@senshai1267 Год назад
LEX !. look into her eyes , look into her eyes !. you can do this !!
@spencerantoniomarlen-starr3069
@spencerantoniomarlen-starr3069 2 года назад
If I go ahead and learn Foretran, will that improve my prospects of getting it on with her?? That's the first question here
@chockablock34839
@chockablock34839 2 года назад
Go (Golang) would be a good language for a scientist. The visualisation side with it is a bit more difficult though. Perhaps use Ebitengine with it.
@lylewyant3356
@lylewyant3356 Год назад
I studied cobol about 30 years ago but I won't be much help
@0xRAND0M
@0xRAND0M Год назад
So no one is going to talk about how cool the mug is????????
@cmdv42
@cmdv42 2 года назад
💯✨
@neard82
@neard82 2 года назад
My personal git commits often involve phrases like, “what is life?”
@Solstice42
@Solstice42 Год назад
Just write comments in your code that explain WHY you did something ... seriously, best question to ask yourself when writing comments, "Why is this code here?" "Why is it doing what it's doing this thing?"
@curtiscrentsil2836
@curtiscrentsil2836 Год назад
She speaks like Jordan Peterson, she has all the subtle nuances that he has, all the pauses and everything
@pranav_chalotra
@pranav_chalotra Год назад
Comments section is full of IT guys trying to teach a scientist to code. 😂😂😂. She is Computational Quantum Chemist & Astrophysicist. She has to simulate & compute models not programming as she said she is doing it just to get job (simulation) done.
@stvgigi
@stvgigi Год назад
How about not making it look cryptic?Ironically that is exactly what the image used for this video does. It looks confusing and complex and is nothing like what real code looks like. That will surely put the uninitiated off programming as it makes it intimidating.
@henrykkaufman1488
@henrykkaufman1488 2 года назад
I can break it down for you: step 1 - do a lot of it there is no step 2
@abubakrhartley959
@abubakrhartley959 3 года назад
lex basically described me lol
@adelinaquijano1083
@adelinaquijano1083 Год назад
too much question I'm sorry sometimes I mistake
@peersvensson9253
@peersvensson9253 Год назад
"People who write like MATLAB code... single letter variable names, those kinds of things" - I feel personally attacked Lex.
@stutteringcris468
@stutteringcris468 3 года назад
IT'S TOO HARD!! *starts weeping* PYTHON IS TOO HARD! I JUST WANT TO MAKE A CHESS GAME!! *starts ugly crying*
@kosteaproduction
@kosteaproduction 2 года назад
That’s what she said!
@lafondawilliams
@lafondawilliams 3 года назад
what i took from this as someone with a degree in programming leave comments in your code HAHA
@marvinmartinez985
@marvinmartinez985 Год назад
Lost in the sauce, Lex. That's the phrase you're were looking for. "Some programers get programmers get lost in the sauce" - Gucci Mane
@GoldoMania.
@GoldoMania. Год назад
Yes she's a dream.
@chilixification
@chilixification Год назад
Refreshing yo have smart woman on your show!
@mendoblendo321
@mendoblendo321 2 года назад
I have no idea what their talking about
@camillefeghali7656
@camillefeghali7656 Год назад
you're not a programmer, you're just someone who writes code
@pranav_chalotra
@pranav_chalotra Год назад
She is not neither her goal is to be. She is Computational Quantum Chemist & Astrophysicist.
@SaeedAcronia
@SaeedAcronia 2 года назад
This is very unfair actually. I sacrificed my youth to become an aerospace engineer. No software engineer could ever be called an aerospace engineer.
@PrivateBlandon
@PrivateBlandon Год назад
That’s just her opinion mate. See how Lex doesn’t argue back? It’s about understanding that’s how they view life, it doesn’t necessarily make it true lol
@JulianaFrugalMinimalMom
@JulianaFrugalMinimalMom Год назад
Yeah, I totally agree. I'm a quantum chemist and coding for computational quantum chem took me wayyy less time to learn that actual quantum
@roymillsjnr5172
@roymillsjnr5172 3 года назад
why cant things be kept simple a monkey should be able to operate and a tool should be made to make as easy as possible i dont bother to learn because in the future does not matter what you learn it will be simpler to use, most things in the universe starts off simple and looks like its ended in a complex method..
@73dines
@73dines 2 года назад
As every intelligent person Clara doubt her coding skills but I don't believe that she is so terrible.
@lameiraangelo
@lameiraangelo 3 года назад
Clara Sousa-Silva needs to be interviewed by Neil Degrasse Tyson.
@JohnnyRawks
@JohnnyRawks Год назад
I completely disagree with Lex, and I'm shocked by his position... "Don't fret about details, variable names etc... just get the job done". This attitude is costing billions in man hours and is the bane of most software developers existence. Apparently Lex has never worked for a company that managed a code base that is over a few years old.
@adityanaresh6842
@adityanaresh6842 Год назад
Is she hiring?
@waleswideman1
@waleswideman1 3 года назад
Where do you find these beautiful smart women
@xedasxedas
@xedasxedas 3 года назад
%hope it helps (matlab) women = load(people.mat, 'women'); beau_smart = women(1); for i = 2:length(women) If women(i).beautiful &&women(i).smart beau_smart=women(i); end end disp('Most beautiful an smart is:') disp(beau_smart.name)
@surkewrasoul4711
@surkewrasoul4711 3 года назад
I wished mi gam gam was still around though ..she is dead now 🥺😡😡
@maduxdotca
@maduxdotca Год назад
Lots of talking, but no answer to the question "how to learn programming"...
@yelbirkazhykarim3518
@yelbirkazhykarim3518 2 года назад
Her comment about it being easier to teach science to a programmer than vice versa is complete bs. Both take years to master. You can definitely teach a programmer some basic stuff, but if will be on the same level as a scientist’s programming.
@devon9374
@devon9374 2 года назад
Maybe the point is she is the science expert so she can more easily guide the programmer in achieving her goals. And the code will be more efficient and scalable as a result. I guess it depends on how we think about this 🤔
@yelbirkazhykarim3518
@yelbirkazhykarim3518 2 года назад
@@devon9374 no. I'm doing PhD in Physics and I can tell you for sure this is complete bs. She is just showing an abusive attitude towards students that some advisors have. To raise a scientist one has to teach a student how to pose new problems, and not just write some code/run experiments to investigate a problem posed by the advisor. This is, however, difficult and most advisors would much rather have a slave with good computational skills whom they can teach basics so they feel like they're getting something. In reality, the computer science major will never become a good scientist in this way, because s/he lacks fundamentals. But such a student is, indeed, a more productive slave, perfect at doing what the advisor wants. Sorry, I got too angry about this :)
@yelbirkazhykarim3518
@yelbirkazhykarim3518 2 года назад
@@devon9374 I guess my point is, it's easier for her, b/c this way she doesn't have to do her job. Incentives are such that whether she produces good scientists or not doesn't really matter for her career. What matters is papers. She does the thinking, as all advisors do, and students do the work. In the process, a student has to become a scientist. That's a student's problem, not an advisor's. In such conditions, it's obvious that an advisor would prefer a student who can do work well, even if his/her background would prevent them from becoming a successful scientist in the future. Programmers are very good at getting work done in many areas of science today, because of heavy computational demands of modern research. I bet that none of them, however, can become good scientists in this way. You just can't jump over fundamentals.
@devon9374
@devon9374 2 года назад
@@yelbirkazhykarim3518 Thanks for the reply, interesting perspective!
@jacksonmanchik4577
@jacksonmanchik4577 3 года назад
Does Lex poop?
@architectoftranquility
@architectoftranquility 2 года назад
no
@Humanaut.
@Humanaut. 2 года назад
Never. Robots don't poop. They only get their battery pack replaced from time to time.
@holysmokes4493
@holysmokes4493 2 года назад
No. He works so hard that he uses up all the food in his body before it gets that far.
@sunmoonstarkiwi
@sunmoonstarkiwi Год назад
Her job title and accomplishments make me feel small 😑
@PrivateBlandon
@PrivateBlandon Год назад
Don’t compare yourself to others lad, I’m sure there’s things you’re better at than her. Reduce your suffering understanding you’re your own person with different skills that if you don’t have, they haven’t been discovered yet.
@reenamola2162
@reenamola2162 Год назад
never take a woman for her word nor ever take advice from a woman on anything. they're clueless.
@kummbara1
@kummbara1 10 месяцев назад
based
Далее
вернуть Врискаса 📗 | WICSUR #shorts
00:54
A day in my life | Lex Fridman
35:43
Просмотров 2 млн
Guido van Rossum explains Python programming
20:54
Просмотров 219 тыс.
The Rust Survival Guide
12:34
Просмотров 136 тыс.
How I Would Learn To Code (If I Could Start Over)
13:43
What is a Monad? - Computerphile
21:50
Просмотров 598 тыс.
How To Think Like A Programmer
1:00:07
Просмотров 2 млн
КАКОЙ SAMSUNG КУПИТЬ В 2024 ГОДУ
14:59