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

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
you kept bringing up sort of coding stuff up i just i wanted to ask uh two things first of all like what what programming uh language do you like and also what um because you're as a computational quantum astrochemist no yes no that's correct that's right uh you're kind of um you could say you're you're actually understanding some exceptionally complicated things with one of the things you're using is the tools of computation of programming is there a device you can give to people because i i know quite a few that have not practiced that tool and have fallen in love with a particular science or whatever it's biology and chemistry and physics and so on and if they were interested in learning to program and learning to use computation as a tool in their particular science is there advice you can give on programming and also just maybe a comment on your own journey and the use of programming in your own life well i'm a terrible programmer a lot of scientists their programming is bad because we never learned formal programming we learned science physics chemistry and then we were told oh you can you have to get these equations modeled and run through a simulation and you're like okay so i'm going to learn how to code to do this and you learn just as much as you need to run these simulations and no more so they're rarely optimized and they're really clunky six months later you can't read your own code my variable names are extremely embarrassing i still have error error messages for different compilation errors i say things like at least your dad loves you clara you know it doesn't help me at all it's like humor yeah just like you suck at coding buddy there's other things in your life so i'm a bad programmer and so you know if that will give hope to anyone else who's a bad programmer i can still do pretty impressive science yes but i learned i think i started learning matlab and java when i was in college it did me no good at all like it has not been particularly useful i learned some fortran that was very useful even though it's really not a fun language because so much of legacy code is in fortran and so if you want to use other people's code who have now retired fortran will be nice and then i used idl to visualize so that simulation and body simulation those all fortran and idl but thankfully since i've left college i've just learned python like a normal person and that has been much nicer so most of my code now is in python i should also make a few quick comments as well so one is uh you say you're uh sort of bad at programming i've um work with a lot of excellent scientists that are quote unquote bad at programming they're not it gets the job done in fact there's a there's a downside to sort of especially getting a software engineering education if i were to give advice especially if you're doing a computer science degree and you're doing software engineering is not to get lost in the in the like optimization of the correct there's an obsession you can see it in like stack overflow of the correct way to do things and i think you can too easily get lost in uh constantly trying to optimize and do things the correct way when you actually never get done the same thing happens you have like uh communities of people obsessed with productivity and they keep researching productivity hacks and then they spend like 90 percent plus of their time figuring out how to do things productively and then never actually do anything so there's a certain sense if you focus on the task that needs to be done that's what programming is for so not over optimizing not not focus not thinking about variable names uh in this in the following sense sometimes you think okay i'm going to write code that's going to last for decades in reality your code if it's well written or poorly written will be very likely obsolete very quickly and the point is to get the job done uh really well so there's a trade-off there that you you have to you have to make sure to strike i should also comment as a public service announcement or a request if there's any world-class 4chan or cobalt programmers out there i'm looking for them i want to talk to you because that will not be me i'm a terrible foreign programmer but it's fascinating because so much of the world in the past and still runs in these programming languages and there's like no experts on it so they're all retiring yeah i i disagree slightly in that i think because i can get the job done i'm a programmer but because no one else can look at my code and know how i got my job done i'm a bad programmer that's how i'm defining it including yourself including myself six months later i'm working with a new student right now and she sent me some messages on slack being like what is this um what is this file that you've got um with some um functions that run and i was like i i this was from 2018 it wasn't that long ago and i can no longer remember what that code does i'm going to spend now two days reading through my own code and trying to improve it and i i do think that's frustrating and so i think my advice to any young people who want to get into astronomy or astrobiology or quantum chemistry is that i certainly find it much easier to teach the science concepts to a programmer than the programming to a scientist and so i would much much faster hire someone who knows programming but barely knows where space is than teach programming to an astronomer oh that's fascinating yeah okay this is true i mean yeah there's some basics i'm uh i'm focusing too much on the silver lining because i've the people that write like matlab code yeah single variable uh single letter variable names so those kinds of things it is accessibility right it's i want myself my code to be open source but and it is it's on github anyone can download it but is it really open source if it's written so cryptically so poorly that no one can really use it to its full functionality have i really published my work and that weighs on on me i feel guilty for my own inadequacies as a programmer you can only do so much it's i've already learned quantum chemistry and astrophysics so you know uh yeah i mean there is there's uh there's all kinds of ways to contribute to the world one of them is publication but uh publishing code is a fascinating way to contribute to the world even if it's very small very basic element uh great code i guess i was also kind of criticizing the software engineering process versus like which is a good thing to do is code that's readable almost like without documentation it's readable it's understandable the variable names the structure all those kinds of things and that's the dream that's the dream you
Info
Channel: Lex Clips
Views: 115,439
Rating: undefined out of 5
Keywords: ai, ai clips, ai podcast, ai podcast clips, artificial intelligence, artificial intelligence podcast, clara sousa-silva, computer science, consciousness, deep learning, einstein, elon musk, engineering, friedman, joe rogan, lex ai, lex clips, lex fridman, lex fridman podcast, lex friedman, lex mit, lex podcast, machine learning, math, math podcast, mathematics, mit ai, philosophy, physics, physics podcast, science, tech, tech podcast, technology, turing
Id: ku0KGMabyYA
Channel Id: undefined
Length: 7min 38sec (458 seconds)
Published: Sun Jul 04 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.