How to learn programming | Charles Isbell and Michael Littman and Lex Fridman

Поделиться
HTML-код
  • Опубликовано: 8 фев 2025
  • Lex Fridman Podcast full episode: • Charles Isbell and Mic...
    Please support this podcast by checking out our sponsors:
    Athletic Greens: athleticgreens... and use code LEX to get 1 month of fish oil
    Eight Sleep: www.eightsleep... and use code LEX to get special savings
    MasterClass: masterclass.co... to get 2 for price of 1
    Cash App: cash.app/ and use code LexPodcast to get $10
    PODCAST INFO:
    Podcast website: lexfridman.com...
    Apple Podcasts: apple.co/2lwqZIr
    Spotify: spoti.fi/2nEwCF8
    RSS: lexfridman.com...
    Full episodes playlist: • Lex Fridman Podcast
    Clips playlist: • Lex Fridman Podcast Clips
    CONNECT:
    Subscribe to this RUclips channel
    Twitter: / lexfridman
    LinkedIn: / lexfridman
    Facebook: / lexfridmanpage
    Instagram: / lexfridman
    Medium: / lexfridman
    Support on Patreon: / lexfridman
  • НаукаНаука

Комментарии • 1,2 тыс.

  • @danielbusquets3282
    @danielbusquets3282 9 месяцев назад +59

    I started learning programming some 10 years ago when I was already past 35. I never stopped. I’m now able to build complex softwares on my on. It feels very empowering to be able to transform my ideas into products as a solo coder, solo entrepreneur. Every long journey starts with the first step and it is never too late to start while there’s life. Just do it. By the way, I started with python and I will never regret doing so. My current project uses python, typescript (vue3) and 3 databases including one vector db. I love it and I will launch in only a few more months! Happy coding everyone!

    • @mallukittens177
      @mallukittens177 5 месяцев назад

      Hey can you share what all projects you build when u were learning ?
      I'm doing small cli stuff but I'm not able to build big projects and microservices. Also haven't studied front end yet.

    • @darasvlogs
      @darasvlogs 5 месяцев назад +2

      Hi Daniel, you will be certainly my inspiration in this case.. I m 39 now.. And started learning python... Previously I worked for non Software jobs.. But i want to make transition into IT industry now.. It feels motivated when I see someone has already gone through similar path

  • @dantedt3931
    @dantedt3931 2 года назад +1602

    A bit long to read, but here’s my programming path and advice:
    I started with C++,failed it the entire year, but the next year I attended a few extra classes(no pun), i eventually understood the different concepts and passed it very well.
    I then discovered Python, it was much easier to grasp and found a lot of use cases for it. I’ve been building applications with Python/Django for years now, loving it.
    I also watch videos and read books about Algorithms, Data Structures etc to enhance my skills.
    My advice to anyone starting out, especially in a non-academic way:
    -Pick a language that you can build a small project with
    -Try to understand how the code works
    -Add more functionalities to your project
    -Never copy and paste a piece of program that works but you don’t know how.
    -EVERY BUG IN A PROGRAM IS A LESSON,AND LEARNING NEVER STOPS.

    • @programmer1840
      @programmer1840 2 года назад +15

      Same as me. Started with C++, but Python is way easier to build stuff with, like little applications and data science.

    • @DoubleAAmazin
      @DoubleAAmazin 2 года назад +14

      Should learn C before Python so you can grasp data types...and Python is written in C

    • @xazarl3381
      @xazarl3381 2 года назад +1

      What project do you make though whats a small project whats in your head vs someone who is new is probably not even close.

    • @xazarl3381
      @xazarl3381 2 года назад +3

      @@dantedt3931 nice ithink thats more useful than anything you could be taught it gives you a goal lol.

    • @nikorasukamado2245
      @nikorasukamado2245 2 года назад +3

      thanks for the advice

  • @paull9086
    @paull9086 4 года назад +420

    Start small but have something specific you want to build.

    • @0mer870
      @0mer870 3 года назад +15

      This is a better advice imo

    • @reasonerenlightened2456
      @reasonerenlightened2456 3 года назад +2

      Why the programming languages are still not self-aware in the 21-st century !
      That should really trouble you all.

    • @Badj4s
      @Badj4s 3 года назад

      Exactly this!

    • @worldshaper1723
      @worldshaper1723 3 года назад

      I want to build a Neuralink device.
      I have been working with Assembly and C/C++

    • @nuvcrossbackit4361
      @nuvcrossbackit4361 2 года назад

      To build what? Examples please

  • @SuperYova
    @SuperYova 2 года назад +28

    There are only 3 things (6:08):
    1. Reading from a variable
    2. Writing to a variable
    3. Conditional branching
    Everything else is syntactic sugar.

  • @kiwi-soop
    @kiwi-soop Год назад +108

    For people who want to learn how to write code, as someone who's been coding for 10+ years my biggest piece of advice is this; Don't worry about what language you start with, just pick something that has a relatively simply syntax so you can focus on learning the CONCEPTS. Once you understand the concepts like data structures, loops, functions/methods, you can transfer that to any language.

    • @elis2634
      @elis2634 Год назад

      Do you recommend Java as a first language ?

    • @kiwi-soop
      @kiwi-soop Год назад +1

      @@elis2634 Probably not, although you definitely could. I feel like Java can be a little confusing when you're first starting out, but if you feel like you want to start with an OOP language like Java I would recommend C#. You can get started building programs with an actual UI pretty much immediately with Visual Studio which I think can make the learning process feel more gratifying. Also if you decide later you want to learn Java instead, there's not a huge difference between the syntax of the two languages.

    • @playversetv3877
      @playversetv3877 8 месяцев назад

      yeh i think these programming languages are like human languages. if you get used to a simpler syntax programming language, i guess that would make it easier to focus on the gist of programming and coding. then applying that language sense to other languages is easier because the logic is pretty much the same, its just different syntax, different rules and grammar and what not

  • @moseschung3220
    @moseschung3220 2 года назад +275

    In math = is equality, in programming = is assignment. This concept, once it was made known to me, made such a huge difference in my computer science journey. I'm still not a great programmer but defining basic stuff like this explicitly really helped me.

    • @loganmedia1142
      @loganmedia1142 2 года назад +13

      It's both equality and assignment in mathematics. Programming languages need two representations because computers are stupid.

    • @Chicomehdii
      @Chicomehdii 2 года назад +28

      @WomenBeater88 in math, which is where the “=“ comes from in the first place, the equals sign quite literally means that both numbers/entities that are mentioned are the same, they’re *equal.* In programming, if you want something to EQUAL something, you use “==“, just one “=“ means that you’re assigning a variable or constant to a certain value be it letters or numbers.

    • @aname206
      @aname206 2 года назад +5

      this is groundbreaking for me. thank you.

    • @rmrbush
      @rmrbush 2 года назад +3

      Yeah but sometimes in story problems or set up problems you will see something like "if x = 3 and y = 7" which is assignment in that context, even though you are technically doing a "math" problem. This muddies the waters a bit for new person. In any case, it's one of the easier things to figure out in programming.
      Funny this guy talks about loops. I'm self taught and learned the basics from a library book. I had to spend lots of time going through the different types of loops writing out all the silly examples till I finally understood. I never thought I'd crack arrays, it took a solid day.
      I also remember asking someone once I how return two things from a function and that's the day I learned about array structures.
      Anyways I taught myself because I had a program I really wanted to write. I spent 6 months learning until I could write a really shitty program. That was 15+ years ago.

    • @PedroTricking
      @PedroTricking 2 года назад

      @@rmrbush > Anyways I taught myself because I had a program I really wanted to write. I spent 6 months learning until I could write a really shitty program. That was 15+ years ago.
      That's a cute story. What was te program?

  • @andreasleonhard1512
    @andreasleonhard1512 2 года назад +806

    I've been writing code for 9 years. I almost can't believe I have reached the level I have reached. When I first started out I seriously doubted I could ever become a software developer. I also almost dropped out of my studies because I felt like they kept adding material on top of the stuff I was still struggling to understand. It is very abstract when you're not familiar with it. When I got my first job I was still not good at coding, but slowly I got better and better and it became a lot more natural to me. I guess you can compare it to learning to read or learning a new language. Things became more and more obvious to me. At this point, I feel like I can understand most concepts and I can learn new frameworks fairly quick.
    So I really recommend that if you study it and you're close to giving up. Just keep grinding. You will end up learning it if you put the effort into it.
    On a side note. I've noticed that some of the developers I studied with, who found it super easy back then, are now struggling. Being an employee is more than just being able to code, and some of these former classmates have their own way of doing things, and sometimes it does not align with working in a team or working in a company on bigger projects. So yeah, don't lose hope.

    • @ISŸA.99
      @ISŸA.99 2 года назад +28

      funnily i'm at that stage right now... i'm only two month in on my python course and feel stuck and even doubting my ability to become a developer. the fact that a lot of people struggle in the beginning just like i'm now giving me hope that i can go further.

    • @andreasleonhard1512
      @andreasleonhard1512 2 года назад +14

      @@ISŸA.99 Keep going! You will learn it :)

    • @Anmeldn
      @Anmeldn 2 года назад +11

      i gave up several times, because i have a language aptitude, i always sucked at math, i find those steril words offputting, but i cant let programming go. did you feel mathematically inclined as you kept going, or is it really something that feels unnatural for a long time?

    • @andreasleonhard1512
      @andreasleonhard1512 2 года назад +14

      @@Anmeldn I have never been good at math. I think developing has more to do with logic than with math. Data is more or less just input and output, but the structure of that is what makes it difficult.

    • @Mikeysham
      @Mikeysham 2 года назад +10

      @@Anmeldn I suck at maths. Programming is different to maths, the similarities are that they both require you to apply logic, break down a problem and apply a solution. You don't need to be some sort of algebra pro, literally just basic knowledge imo is all that is required.

  • @b-manz
    @b-manz 4 года назад +427

    2 ways to decide what language to learn:
    1. What are you most interested in - gaming, apps whatever and pick accordingly
    2. What is well supported. Nothing worse than wanting help and not being able to find it.

    • @miroslavdanilov902
      @miroslavdanilov902 4 года назад +43

      goal + community

    • @DavidBarlowDavido01
      @DavidBarlowDavido01 3 года назад +1

      C#

    • @swetsTV
      @swetsTV 2 года назад +1

      Trying to learn python but it’s rough. Lol.

    • @rarodrig6
      @rarodrig6 2 года назад +17

      @@swetsTV been teaching myself python for 18 months. I've found when I discover useful new thing, there's actually a window where I can use it without fully grasping it. And then one day something clicks, and it falls into place and it takes you to the next level. Repeat again at the next level

    • @wobbly562
      @wobbly562 2 года назад +6

      @@rarodrig6 i find this happens and works as an effective way of learning in most subjects and probably even especially stem, you take a break from whatever youre trying to figure out or just focus less on trying to decypher it and it gives your brain room to just work with it subconsiously until you revisit it with a slightly new different view.

  • @isaacroberts9089
    @isaacroberts9089 4 года назад +574

    I have no idea what they're talking about but I'm just like "Mmm, yes, makes sense. That's right, yes, LISP is best, of course."

    • @Priva_C
      @Priva_C 4 года назад +11

      🤣🤣🤣🤣

    • @tomace1201
      @tomace1201 4 года назад +12

      That shit had me cracking up dude

    • @davidcalderon2161
      @davidcalderon2161 4 года назад +25

      Anytime I look up programming for beginners it seems like there no such thing like these people just start throwing terms around like I’m just supposed to know these things lol

    • @layo3452
      @layo3452 4 года назад +18

      @@davidcalderon2161 😂😂 it seems that way, but if you stick around a bit, after some time it’d just click.

    • @YashuaElohim7
      @YashuaElohim7 4 года назад

      😂😂😂😂😂😂😂

  • @TheirSavior
    @TheirSavior 2 года назад +144

    I just learned the basics of Javascript using the Headfirst book. It was enough to make my own card game. From reading the book to finishing the program took a month of full time commitment. I only recommend coding to people who are willing to problem solve often and can learn to sit in uncertainty for long periods of time. Those skills should be learned prior or along with coding.

    • @kuukiwoyome5640
      @kuukiwoyome5640 2 года назад

      Ditto

    • @gianni3611
      @gianni3611 2 года назад +1

      Sitting with uncertainty is very hard to master. It takes a lot of mental fortitude and patience.

    • @paradoxofchoice4110
      @paradoxofchoice4110 2 года назад +5

      Can we see the card game and which card game is it similar to?

    • @savachi
      @savachi Год назад

      "sit in uncertainty for long periods of time" - excellent concept and quote and transfers to a lot of other life domains.

  • @tkayuniverse3493
    @tkayuniverse3493 4 года назад +95

    Lex's statement about being ok in a state of confusion speaks to me so much! that is the vast majority of my 2 months or so of getting into cs

    • @bennri
      @bennri 2 года назад +1

      One person's confusion is another's puzzle to solve.

  • @marchfifth1754
    @marchfifth1754 2 года назад +39

    I learned HTML and CSS when I was about 10 or 11. I was fascinated with making websites so I grabbed a book from Chapters and just followed it. I read it in the bathroom, on road trips. I didn't get much time to practice but I knew the basics, however, because I didn't practice it I never really got good. Now, I use it almost daily for small tasks in my job. I understand it more and more and more, but I want to be better and get into Javascript as well. I am 32 now but I hate my marketing job and want to go into strict coding. I think I am going to start studying again.

    • @bennickclayton6468
      @bennickclayton6468 2 года назад +3

      Check the Odin project, its well structured

    • @ramicollo
      @ramicollo 2 года назад +1

      What's your marketing job like? What are some typical daily tasks?

    • @Ismail-zd9gp
      @Ismail-zd9gp 2 года назад +5

      Can you give an update about your coding journey. Did you start javascript? How long do you think it takes to become a good web developer.?

  • @Morelloo1
    @Morelloo1 4 года назад +679

    That was biggest problem for me when I started learning C++ in first year I remember being so mind blown by just hello world and not getting at all why it worked. I really didn't like taking it for granted. I think the problem for me was not grasping the concept of 'abstraction' - to me it was just some buzzword that I didn't really get. Wasn't until I knew about assembly , compilers and how basic processor architecture worked that it all started to click.

    • @Straitjacket346
      @Straitjacket346 4 года назад +35

      This is why I've never been able to go more than a day into the journey, it's like a state of permanent OCD.

    • @ajmalzahir3088
      @ajmalzahir3088 4 года назад +52

      Bro the day I realized that data structures were abstract creations we’ve made to form containers for collections of data and the power and freedom that allowed a dev 🤯

    • @freepatriot9070
      @freepatriot9070 4 года назад +34

      Like Lex said, they should make everything as explicit as possible. For instance in your case, they should have made a clear link between the output you see on the screen and the 0's and 1's that create them.

    • @benvella1728
      @benvella1728 3 года назад +6

      Helped a lot when we were made to write java and check out the resulting byte code to figure out what was happening

    • @xamael1989
      @xamael1989 3 года назад +4

      To a certain degree i would favour abstraction especially when the lib or tool does its job well the problem comes when you have to go beyond that abstraction and figure ought how things connect to implement improve or change an object that has been abstracted is difficult an abstraction is an addictive confort zone thats born of necessity

  • @saberxebeck
    @saberxebeck 2 года назад +20

    X=3;
    Y=4;
    What is X? (Ans=3)
    What is Y? (Ans=4)
    Y=X;
    What is Y? (Ans=3)
    X=7
    What is Y? (Ans=3 But would be 7 if x and y would be anchored with an ampersand)
    I Couldnt see this in the comments and the ans wasn't clear in the vid so I figured I'd type it up for others.

    • @lvrsvid
      @lvrsvid 2 года назад

      Thank you for this. I thought I was correct in my thinking but you finished the loop for me, haha.

    • @kingoffongpei
      @kingoffongpei 2 года назад

      Thanks for this. I am just learning about memory while learning Javascript right now and had a feeling it was still 3 and I think it's due to being primitive values? Not sure if that's correct and also not sure if that's correct for all programming languages. I don't know what the anchoring means yet but I'll probably get to it later.

    • @nyion7584
      @nyion7584 2 года назад

      Yes, I was looking for this comment. Guys in video just assume that X and Y are reference variables. When usually those are just value ones so this Y = X does what it should do in math. And then changing X does not affect Y. Until it's value type not reference type. So explanation in video was poor.

    • @ahancho
      @ahancho 2 года назад

      hello I am currently completing harvards free cs50 and i learned that ampersand in C was used for as an address operator or pointer. may you explain what you mean by "anchored with an ampersand"? thank you

    • @thisisthechief1
      @thisisthechief1 2 года назад

      Thank you. I love how they never answered it in the video lol

  • @iAlberto923
    @iAlberto923 3 года назад +106

    I am starting to get into programming (One year in) I really wish there were more videos such as this. I have never heard about Charles, but he seems to understand the position that a complete beginner find themselves in, and that's what I would like to have from someone who is trying to teach programming.

    • @StormKidification
      @StormKidification 2 года назад +2

      How did u start

    • @dragospahontu
      @dragospahontu 2 года назад +3

      How did u start

    • @alejandror.2630
      @alejandror.2630 2 года назад

      You got a job already?

    • @markdeleeuw5446
      @markdeleeuw5446 Год назад

      @@StormKidification im a wannabe-junior but i started with python to learn the syntax. Just try it for a few weeks or months and you will understand more what you want and what (other) syntax you need to learn.

    • @markdeleeuw5446
      @markdeleeuw5446 Год назад

      @@dragospahontu im a wannabe-junior but i started with python to learn the syntax. Just try it for a few weeks or months and you will understand more what you want and which syntax you need to learn.

  • @jacobjohn378
    @jacobjohn378 3 года назад +71

    Seeing Lex focus so hard on the question, expecting something really difficult, is gold.

    • @brians7100
      @brians7100 Год назад +2

      I'm still not convinced he knew the answer was y = 3 and not y = 7 tbh

  • @shteakhouse
    @shteakhouse 4 года назад +130

    Teaching concepts from intro to programming to someone with no background is a real art. That in itself is a problem most of us have trouble solving.

    • @ajmalzahir3088
      @ajmalzahir3088 4 года назад +2

      It’s fun to think back at your mindset from 101 classes till present. Honestly trippy to see the growth so clearly

    • @shteakhouse
      @shteakhouse 4 года назад +3

      I didn’t see the big picture until i took OS. Probably the most fundamental/important class to take imo

    • @reasonerenlightened2456
      @reasonerenlightened2456 3 года назад +2

      Why the programming languages are still not self-aware in the 21-st century !
      That should really trouble you all.

    • @reasonerenlightened2456
      @reasonerenlightened2456 3 года назад +2

      ​@Piga
      What do you think it means.
      It is time for a new paradigm.
      (i.e. Computers that ask questions.
      Everybody is obsessed with building computer languages that find answers. But nobody yet wants to focus on giving them the ability to ask the questions.)

    • @DavidBarlowDavido01
      @DavidBarlowDavido01 3 года назад +1

      It's called AI. It's potentially very dangerous.

  • @Maeda_Toshiie
    @Maeda_Toshiie 4 года назад +82

    C was my first language, and I use it from time to time for performance reasons. I like C for its simplicity when doing just raw number crunching. Input and string parsing is painful but the memory management aspect is the most painful of all.

    • @mojeedazeez958
      @mojeedazeez958 2 года назад +7

      I got admitted into an scholarship academy in Africa (ALX) to learn programming. Lectures started in August and we started with C. Sorry i have to talk about my background. I'm from a art background, i did Mass communication at the polytechnic. I think I really like C because it touches on all the basic roots of programming you need to understand but the painful part is you need to be conscious about memory management all the time. I recently have stopped with the scholarship programme and now taking a course on Udemy for Python.. I thinks C is a great language, I'm sure to come back to it, I just need a less complex bedrock..

  • @ForOrAgainstUs
    @ForOrAgainstUs 4 года назад +85

    This was so good, I don't even know how good it was.

    • @Woji52
      @Woji52 4 года назад +8

      x = this was good
      y = not sure if this was good
      You and I = x + y

    • @shivamjalotra7919
      @shivamjalotra7919 3 года назад

      @@Woji52 Haha

  • @ws8061
    @ws8061 2 года назад +124

    It's interesting hearing these guys, I struggled a ton trying to understand recursion until my TA showed me how it worked in memory on the call stack. It seems dumb now but it's interesting how good teachers can really get you understanding concepts.

    • @rayyanamir8560
      @rayyanamir8560 2 года назад +7

      Bright friends can teach you better than teachers of harvard or oxford.

    • @bird6472
      @bird6472 2 года назад +7

      Recursion becomes second nature and very intuitive over time. But often where students get stuck with recursion is that they just don't have a system in place yet for cognitive offloading. Instead of trying to trace everything in your head, try to offload some of that mental processing and cognitive demand onto paper as you go. It'll really help for interviews later too.

    • @wagutoxD
      @wagutoxD 2 года назад +4

      @@bird6472 Recursion! 🤬 I'm having trouble with it. I do write it in paper and I even get the correct "answer"... but that's it. I just repeat the process. I don't really understand it... yet. it still eludes me. I'll get there...

    • @bird6472
      @bird6472 2 года назад +3

      @@wagutoxD You'll get there. It takes time and then one day it just clicks!

    • @ws8061
      @ws8061 2 года назад +1

      @@bird6472 that's excellent advice

  • @sibbyeskie
    @sibbyeskie 4 года назад +166

    When I first got into programming this talk (languages, etc) got me endlessly excited. Now syntax is hard to get excited about. It’s all the same basic formal structure. Now when I see experienced guys still get excited about this, it usually means they aren’t making much that is truly creative. Like an artist spending most his time admiring his paint brushes and testing them out for insignificant differences, but rarely actually painting.

    • @prabhdeepsingh5642
      @prabhdeepsingh5642 4 года назад +9

      Thats what I was thinking. For a while I got confused that there must be something really deep that these guys are talking about, which I am unable to understand.

    • @erikpost1381
      @erikpost1381 3 года назад +14

      They're not talking about syntax, at least not exclusively, but about semantics, which is ineed a deep subject. Programming languages do not have 'the same basic formal structure', although many languages do indeed have much in common.

    • @buttslaya
      @buttslaya 3 года назад +1

      I guess programming in LISP makes you think about things in a different way? I agree with you about learning to program in different languages though, without doing deep dives into a particular language its really all the same. Look up Haskell school of music if you are looking for a cool application for code. I've been meaning to give that a run myself.

    • @qlee50
      @qlee50 3 года назад

      I agree, language structures don’t mean much except minor learning curve friction while you’re writing code. The higher level libraries, frameworks and SDKs that enable you to combine and build useful tools, functionality and bring joy to users are what really matter

    • @josemaria_landa
      @josemaria_landa 3 года назад +2

      MMM. As a hobbiest compiler/language designer syntax/semantics always excites me haha.
      So many different and cool languages:
      Lisp
      Haskell
      ColorForth
      Clean
      Standard ML
      J
      Prolog

  • @phyrr2
    @phyrr2 2 года назад +6

    What helped me learn the most was focusing on error handling in regards to UI/UX/QoL issues (started with Python after failing C++). Building a simple program and doing everything I could to break it, then creating fixes to handle said errors. I create data entry forms and do a lot of work in Excel as well, and I cannot stress how much learning basic programming helps in regards to building solutions in Excel workbooks. Things like interactive dashboards and the like need to be resilient when sharing with say your boss or other end users. It also has to make sense and be dependable.
    The thing is, "programming" has such a wide variety in application it's not just "I'm going to grow up and become a software developer". For me, it was "I'm going to learn data science, including standardization, enrichment, ETL, reconciliation, management/strategy, etc. etc. then apply to marketing automations for a dozen different customer journeys".
    In the end, learning to code is learning how to solve problems. The better you are at solving problems the more valuable you become in anything you do (especially in any tech field). Working in marketing, having these skills should be required nowadays and at the very least, gives one a huge edge over any non-tech counterparts you may be working with.

  • @GohanBurner
    @GohanBurner 2 года назад +29

    I am only a couple months into my coding journey and the fact that I understood all of that really gives me hope. Maybe this is something I was supposed to do. I always thought I could never grasp these things but they actually came naturally to me. It's making this whole experience fun.

    • @gumbo64
      @gumbo64 2 года назад +4

      keep going :)

    • @imsudipp
      @imsudipp 2 года назад +3

      Best of luck man

  • @bobdoggy4312
    @bobdoggy4312 2 года назад +6

    I'm 45 years old. Starting small changed careers drifting away from nursing while swinging hard into in bits with front end and python. Web dev is so far my goal while starting out my first year in BS CS, Im feeling happy learning.

    • @kompila
      @kompila 2 года назад +1

      Good luck Doggy!

  • @petropzqi
    @petropzqi 4 года назад +22

    Lex please talk more about this void feeling, I bet we all can relate to that when it comes to programming

    • @Gonzalezluis89
      @Gonzalezluis89 5 месяцев назад

      Hey, what do you mean? I’m just getting into programming. So I don’t know what you’re referring too. Can you explain what you mean about this void feeling? Thanks

  • @michaelanthony4750
    @michaelanthony4750 4 года назад +1832

    Coal miners are gonna love this video.

    • @The_Mosaic
      @The_Mosaic 4 года назад +48

      Stop.

    • @nunyabiznes6702
      @nunyabiznes6702 4 года назад +35

      🤣🤣🤣🤣🤣🤣👍

    • @methylphosphatePOET
      @methylphosphatePOET 3 года назад +59

      @@GeoFry3 Sorry, but I have a "studies" degree. And all of this is laughably simple. Code is not very complicated at all. I've been writing programs in C++ and Python for years. There are some dense theoretic frameworks developed by people like Derrida and Foucault that are required reading in "studies" courses, that the typical software developer would be completely intimidated by. Many developers are morons who don't bother to read anything beside the little software language they were interested enough to learn once upon a time. The fact that you think this is heady stuff says more about you than it does "studies" majors.

    • @johnmarkjames5447
      @johnmarkjames5447 3 года назад +297

      @@methylphosphatePOET I bet you’re fun at parties.

    • @johnjay6370
      @johnjay6370 3 года назад +32

      @@GeoFry3 I understand programming might be easy for you, but it does not mean it is easy for most. The IQ of a standard programmer is 110 or above the adv IQ in United States is 98.. This tells me most people will never be a programmer.

  • @ssgtblackmamba7991
    @ssgtblackmamba7991 2 года назад +6

    As someone who's learned the very very very basics of python, the fact that I could understand and answer his question correctly makes me feel really great and motivated to keep going.

    • @369pendulum
      @369pendulum Год назад

      How long ago did you start?

    • @ssgtblackmamba7991
      @ssgtblackmamba7991 Год назад

      @@369pendulum about a year ago for like 2 months, then I had to take a break because our second was born, new job, selling our house, buying a house that still needed to be built and starting on a bachelor's....so I got a bit busy XD
      I'll pick it back up in about a month.

  • @DAMfoxygrampa
    @DAMfoxygrampa 4 года назад +54

    This man and Paul Graham have absolutely convinced me to learn lisp

    • @BLawwat
      @BLawwat 4 года назад +2

      I thought he said list and I searched for that. I'm 57--should I be thinking about programming at all?

    • @youtubesuresuckscock
      @youtubesuresuckscock 4 года назад +6

      Lisp blows. Compete waste of time in 2021.

    • @DAMfoxygrampa
      @DAMfoxygrampa 4 года назад +3

      @@BLawwat If you're interested in it then absolutely man, if you have a mind like an engineer then you'll find programming to be a lot of fun. It doesn't necessarily have to be your future career.

    • @wills242
      @wills242 4 года назад +1

      @@BLawwat yes please, man! And please encourage any of your curious friends to do the same! If I could talk with more old guys about basic basic code lingo it’d bridge so much of a gap! A big shortcoming of the world rn is the digital disconnect !

    • @brigittetitte4415
      @brigittetitte4415 4 года назад +1

      @@youtubesuresuckscock rather...?

  • @RationalSteve
    @RationalSteve 2 года назад +8

    Learning Python and SAS, and It's been tough to stick with it. This helped. I wish everyone luck on their journey of becoming better.

  • @mattordiway1955
    @mattordiway1955 2 года назад +6

    I am completely in love with programming right now. I mean just the process of problem solving is so fun, and I actually hated it when I was attempting a CS degree. I have no idea what changed other than a maturing view of the world...Anyway all the love to Lex

  • @blink182lives100
    @blink182lives100 4 года назад +91

    Charles Isbell walks a fine line between condescending and humble. idk thats just the vibe I get from listening to him speak

    • @mulatto401
      @mulatto401 3 года назад +28

      I found him condescending and annoying.

    • @morlyfe
      @morlyfe 3 года назад +4

      @@mulatto401 hes giving real answers though

    • @mulatto401
      @mulatto401 3 года назад +12

      @@morlyfe He is giving his opinion, not answers.

    • @JayBowles
      @JayBowles 3 года назад +1

      Haha very generously put. I wouldn’t be so generous...

    • @br2716
      @br2716 3 года назад +15

      He's an academic. He is likely aware that when it comes to Computer Science, his opinions/experiences are primarily valuable within the walls of MIT, while simultaneously being very disconnected to programming in the open market.
      That being said, after watching the entire interview, he seems to be very full of himself and makes some pretty bold claims without even acknowledging that what he is saying is a mere opinion.

  • @mtribe3442
    @mtribe3442 4 года назад +65

    This episode is incredible. Love the third mind sanity check

  • @m7mmad772
    @m7mmad772 4 года назад +65

    So important and true what lex said that when you are learning programming you have to be ok being confused for a while

    • @ajmalzahir3088
      @ajmalzahir3088 4 года назад +13

      Program not working -> follow errors -> there’s 20 errors and half are in deeper library files -> pull docs -> docs give basic unclear implementation info -> look up examples -> end up on stack overflow, again

    • @OmegaF77
      @OmegaF77 2 года назад +1

      @@ajmalzahir3088 Sometimes the libraries jusst straight tells you to git gud at C/C++ first before using it.

    • @yyyd6559
      @yyyd6559 2 года назад

      It's been 6months and I'm still confused

  • @meowcat64
    @meowcat64 4 года назад +13

    00:6:09 breaking it down to its primitives, very interesting and useful take on programming

  • @jacobjohn378
    @jacobjohn378 3 года назад +16

    AHHAHA "Stare into the void with tears slowly rolling down your face". Lex is such a gem.

  • @dmitrygrin6930
    @dmitrygrin6930 4 года назад +219

    Morpheus started programming when he retired from Matrix

  • @wagutoxD
    @wagutoxD 2 года назад +5

    This cut gave me some sort of relieve... I'm new to programming, I'm studying JavaScript right now. I realized the thing I have the most difficult with is the abstractions! It screws my mind hard! But seems normal as my mind is not really used to logics behind it all... not sure if I was clear enough... anyone at the same boat?

  • @FrankPapadakis
    @FrankPapadakis 2 года назад +4

    I didn't go to college for CS, I have an Industrial Engineering degree. I have been teaching myself to program over the last few years now. Was able to change my career to a software developer role last year. It takes time to learn but you can do it. Don't give up!

    • @alejandror.2630
      @alejandror.2630 2 года назад

      Few years took you to change from carrer? I hope I can get a job in the industry in my first year, It is possible?

    • @FrankPapadakis
      @FrankPapadakis 2 года назад

      @@alejandror.2630 changing careers is a lot different than getting your first entry level job. I waited until I got an offer that I wasn't going to take a pay cut on.

    • @alejandror.2630
      @alejandror.2630 2 года назад

      @@FrankPapadakis but I think if you get a entry level job you would get to that types of offer much faster

    • @FrankPapadakis
      @FrankPapadakis 2 года назад +1

      @@alejandror.2630 possibly, I just couldn't afford to take a huge pay cut at the time. I was already making over 100k a year and entry level software dev jobs in my area were around 65k so it would of been tough for me to reduce my income by almost half.

    • @alejandror.2630
      @alejandror.2630 2 года назад

      @@FrankPapadakis I understand, may I know how many hours daily you studied?

  • @WhossBobbFPV
    @WhossBobbFPV 4 года назад +7

    Thought I had no idea what I was doin but I guess I have a pretty good understanding and should get back to learning

  • @danielpelanek7869
    @danielpelanek7869 2 года назад +2

    I feel like flowcharts are the best way to introduce programming. You can clearly follow what the program does, without needing to learn almost any syntax, and it teaches you how to visualize programs in regular programming languages.

  • @Quasidono
    @Quasidono 4 года назад +114

    I think dig this more than JRE

    • @fertwvnbxcbwrtrecvbvcx
      @fertwvnbxcbwrtrecvbvcx 4 года назад +30

      Of course, because Java sucks.

    • @mountainp800
      @mountainp800 4 года назад

    • @worldeconomicforum7210
      @worldeconomicforum7210 4 года назад +13

      To me.lex fridman is just the place where all the really smart JRE fans go. When we don't want to hear about working out, comedy, or DMT. I just glad I found him on JRE.

    • @veryincredibly
      @veryincredibly 3 года назад +2

      @@worldeconomicforum7210 Lex also talks about DMT?

    • @ironmagma
      @ironmagma 3 года назад

      He's the hero we need but don't deserve.

  • @astrahcat1212
    @astrahcat1212 Год назад +2

    I started with C# and there were all of these best coding principles, but what kept me going was kind of being a 'rogue' programmer and doing it the way i wanted to. Now a days I can see that what I was doing was called 'procedural' programming style, and it was oop style that I was learning at the time.

  • @Wanted_VXRAIL
    @Wanted_VXRAIL 3 года назад +39

    Im learning fullstack development right now in school, where u train for 1.5 years here in Sweden then u get released into the workforce as a dev. Honestly, it's fun and stimulating. But also very hard at times and frustrating... I remember being stuck in react for hours, but it ended up being like 4 lines of code that solved my issue. I assume this is what it's like for everyone. But I really like it so far. Not the front end side, I like SQL and c# way more so far, but front end is not that bad.

    • @5FT6MAN
      @5FT6MAN 2 года назад +1

      try draw to code for front end

  • @SaidThoughts
    @SaidThoughts Год назад +1

    The debate on which is better is funny because he first starts out saying his is better, but when challenged on that decision he reverses it stating "SO you're going to say it's better than anything?" while just prior saying the same about his suggested.

  • @waynegnarlie1
    @waynegnarlie1 4 года назад +13

    I learned Microchip assembly (MPASM) first. I still use it and love it.

    • @waynegnarlie1
      @waynegnarlie1 4 года назад

      @@TimoNoko Never heard of Cosmac, and from your description, I'm thankful, lol!

  • @nebulous_57
    @nebulous_57 2 года назад +2

    This makes me feel better about learning C++. I'm on my midterm and I don't really know what's going on sometimes but I do understand the majority of what I'm seeing, I just need to learn how to build a program using my own notes and skills. As a visual learner, the text doesn't help me as much as watching youtube or googling others' blocks of code and seeing it in action. I don't know how I'll grade at the end of the semester but I enjoy programming and the high I get after my programming running as intended is new and awesome

  • @FuzzyDunlopification
    @FuzzyDunlopification 2 года назад +29

    I think python is a great first choice. One of the problems with learning python on the internet is that a lot of people seem to use python without the OOP approach. I ended up learning without the OOP approach until I learned the advantages of OOP.

    • @judgedbytime
      @judgedbytime 2 года назад +4

      good comment

    • @almoszold5011
      @almoszold5011 2 года назад +2

      Python is a very versatile language with tons of use cases, some of which don't really need an object oriented approach.
      I use it many times when I want to automate something, just as a scripting language and it's almost always easier to just use basic data structures like maps, arrays and tuples to achieve most of what I want to do.
      This is especially true for beginners. You'll want to first understand loops, if statements, functions, recursion and other basic stuff, before dwelling into a programming paradigm about abstraction, methods, encapsulation, inheritance, polymorphism. Once you understand the basics, you can discover the benefits and drawbacks of object oriented design.

    • @Chicomehdii
      @Chicomehdii 2 года назад

      Same situation here; love the language, but man it makes you miss out on SO MUCH.

  • @rafaeldericksanchezlockwar4920
    @rafaeldericksanchezlockwar4920 3 года назад +78

    "Python is basically lisp but with better syntax"
    "...blasphemy" xD

  • @vjfperez
    @vjfperez 3 года назад +9

    Theres usually a tradeoff between efficient to use and easy to learn.
    To make something easy to learn you shoehorn a lot of familiar concepts into the most intuitive form.
    To make something efficient to use you try to simplify the most frequent operations at the expense of intuition

  • @willf.h6951
    @willf.h6951 3 года назад +7

    Soooooo happy, as a beginner I understood all of that!!

  • @Jackson_Zheng
    @Jackson_Zheng Год назад +18

    Abstraction is probably the most important yet understated concept in all of programming!
    I'm not a good programmer by any means and I haven't coded in over a year but when I was just starting out learning about classes and objects, I was so confused as to why they structured things that way. I also couldn't understand how software could talk with hardware and it made programming seem like a thought experiment.
    Once I understood the concept of abstraction, everything clicked and fell into place.
    Someone should really make a map of how everything in programming fits together in ascending abstraction, starting from transistor logic gates and storing charge in capacitors to act as memory, to ALUs, binary, all the way up to Python and JavaScript.

    • @moscrow3247
      @moscrow3247 Год назад +2

      It’s all ones and zeroes???
      ALWAYS HAS BEEN

  • @whatitdo6287
    @whatitdo6287 2 года назад +2

    Everything you need to know is online or on RUclips for free. C, Python, Docker, Linux, Excel and so on all you've got to do is take the time to learn it.

  • @kontranorth6159
    @kontranorth6159 2 года назад +42

    I’m learning to code right now and this was very insightful. I have a mathematical oriented brain and the syntax seems to be my biggest issue and now I know why.

    • @dragospahontu
      @dragospahontu 2 года назад +1

      @Hitchcock Mason yes, but your brain needs to be mathematically oriented.

    • @dragospahontu
      @dragospahontu 2 года назад +1

      @Hitchcock Mason give it a shot, it's kinda cool

    • @aufkeinsten7883
      @aufkeinsten7883 2 года назад +4

      @Hitchcock Mason I've always hated maths in school and love programming.. Don't rely on what others tell you for an important decision like this, just give it a shot if you have some time on your hands. Even if you're working full time or are going to school, take a few hours of free time every week and see for yourself! Don't judge what you're able to achieve or how "fast" you learn, just whether you enjoy programming and learning it. If the answer is yes, then there is a place for you in software engineering. What's important is the affinity towards logic & tinkering, which has absolutely nothing to do with high school maths. There's fields of software engineering where you'll never use more complex mathematical concepts than the ones taught in high school!

    • @Diogolindir
      @Diogolindir Год назад

      ​@@aufkeinsten7883Im taking my time in learning python and Im enjoying it and I don't even what I really want to use it for yet. I just enjoy to write and learn from my mistakes or when I get stucked.

  • @leonlysak4927
    @leonlysak4927 3 года назад +8

    Learn programming by thinking of a cool thing to build. You learn way faster, and it's fun as hell. I taught myself programming in 2019 initially because I wanted to make some tools and automate my work. It sort of just morphed from there. It doesn't really matter what language you start with, but I personally started with Python and then Nim. Ever since I tried Nim my fingers wouldn't let me type in any other language lol

    • @judgedbytime
      @judgedbytime 2 года назад +1

      First two lines should be shouted from the mountain tops.

    • @iamdopeasfcuk
      @iamdopeasfcuk 2 года назад

      sometimes the cool thing you want to build is too complex for your skill set, which can make you feel overwhelmed. maybe i'm weird, but i think the best way to learn is just open a c++ textbook and just go through each chapter doing the exercises. if you get stuck, there's plenty of resources online to help. I learned c++ in uni, so that's why i'm partial to it.

  • @bokchoiman
    @bokchoiman 4 года назад +4

    I was taught assembly and as soon as I started learned C++, I begun to flush out assembly altogether. At some point it becomes unproductive to think at such a low level of abstraction because what you wish to accomplish will significantly outweigh the capabilities of the language you're using.

  • @joethestrat
    @joethestrat 4 года назад +4

    9:50 to 10:04
    So much truth in this process you mentioned. Don't know how I wasn't subbed to you before but I'm rectifying that right now. Liked and shared also.

    • @Soso-ho2si
      @Soso-ho2si 3 года назад

      When are we leaving to K-PAX ?

  • @matthewwoodard9810
    @matthewwoodard9810 2 года назад +11

    “The very basics are often not made explicit.” Very very good insight there. This is true in teaching most complex topics, but seems to be especially present in teaching programming. I can’t count the times where I’d finally get a concept and think, “why the fuck do they teach it this way.” Or, “why don’t they explicitly point this out.” Or worse, to understand a concept, decide to dive deeper, listen to “teachers” and start thinking holy fu.. I don’t understand this at all, only to come around and realize my original understanding was correct but the way it’s taught is a convoluted mess.

  • @lylewyant3356
    @lylewyant3356 Год назад +2

    Pascal was one language I studied 30 plus years ago. Now, trying to learn C# with Unity.

  • @erichighsmith7299
    @erichighsmith7299 4 года назад +249

    I know how to write Hello World!

    • @digitalhippie2336
      @digitalhippie2336 4 года назад +19

      In the big world, every time you do that - the big bang happens
      We don't fully understand what's happens in the quantum world, so behave please

    • @harsimranbansal5355
      @harsimranbansal5355 4 года назад

      @@digitalhippie2336 “the universe is not obligated to make sense” -NDT

    • @cpzd83
      @cpzd83 4 года назад +1

      You'll get there man. I'm nowhere near Eve half decent at programming but you start feeling when you get the grasp of it, trust me. Just keep at it.

    • @chite3111
      @chite3111 4 года назад +9

      print(“Me too, but not much more than that lol.”)

    • @johnstamos8258
      @johnstamos8258 4 года назад

      @@freedomgoddess it’s printf not print in c

  • @thomasjones9559
    @thomasjones9559 4 года назад +6

    God damn. I'm 6 weeks in and loving this clip. Failing miserably so far but this is encouraging to see we all go through the same pain.

    • @dlo5640
      @dlo5640 3 года назад +1

      2 weeks here...lol I didn't realize how feable minded I was before starting this journey

    • @thomasjones9559
      @thomasjones9559 3 года назад +1

      @@dlo5640 what Ive learned so far is sometimes you need to refresh your eyes. If you're stuck on something for too long its sometimes best to shut it down. Usually the next day you'll come back and instantly know how to fix your code.

    • @LightsOutToney
      @LightsOutToney 3 года назад +1

      Same here my man, started 2 months ago and by now basically I just accepted that it’s going to take time until I get where I want to be as a programmer so now Im just trying to embrace and enjoy the journey.
      Seeing as you posted this 8 months ago how far would you say you have come since then?

    • @tayfah16
      @tayfah16 3 года назад

      Harvard has a free course called CS50, it’s honestly been a great resource for me in learning the fundamentals. The professor is incredibly engaging as well. It’s kind of tough so bear that in mind, but it’s definitely worth it.

    • @frog6054
      @frog6054 2 года назад

      I only got to learn python for 4 months and then I give up lol.

  • @clearnandimprove4604
    @clearnandimprove4604 4 года назад +30

    I have been learning c # for the past few months. Its going alright I know more then when I Started.

    • @MV12267
      @MV12267 4 года назад +2

      Great for ETL, visual studio has an SSIS template.

    • @BrokenAbyss
      @BrokenAbyss 4 года назад +1

      How complex is it? I’m a video editor and want to try my luck at coding, but idk how hard it will be.

    • @Cyberspine
      @Cyberspine 4 года назад +14

      @@BrokenAbyss All programming languages are complex, but some are more abstract than others. For example, assembly is the language the computer operates at, and is not very friendly to humans. On the other end of the scale, Python works much like natural language, where the final code resembles a verbal description of what the code is doing (eg. for each element in list do an operation). C# is somewhere in the middle, where it has these human-friendly abstractions but allows you to also talk to the machine directly. My personal opinion is that you want to start learning with a highly abstract language such as Python, and then gradually move closer to the silicon with languages like C# and C++. The core concepts, such as loops, functions, classes etc. translate readily from one language to the other, so it's possible that you'll be able to learn C# faster by learning Python first. It's a bit like learning to drive with a car with automatic transmission first and then switching over to manual.

    • @clearnandimprove4604
      @clearnandimprove4604 4 года назад +1

      @@BrokenAbyss you can do a lot with it from what I can tell. I have been using it with unity. Learning to make apps and games. I can see it having many other uses.

    • @JethroYSCao
      @JethroYSCao 4 года назад

      @@Cyberspine well said, though after one gets familiar with the fundamentals, there's a strong case to be made for going in the opposite direction on the abstraction spectrum too, in particular languages in the strongly typed functional paradigm like Haskell, Ocaml, Scala, etc.

  • @seniorreact9627
    @seniorreact9627 3 года назад +4

    Commenting so the RUclips algorithm suggest more videos like this for me.

  • @Rakesh6720
    @Rakesh6720 4 года назад +29

    I'm teaching high schoolers javascript. It's funny how you need to have coded for two years before you can appreciate how deep this convo about starting really is.

    • @Sindoku
      @Sindoku 4 года назад

      True

    • @00juniorxL7
      @00juniorxL7 4 года назад

      advice for learning java? how do I even start actually making code

    • @avi7278
      @avi7278 4 года назад +9

      @@00juniorxL7 my advice is not to ask random people in youtube comments.

    • @bombardo2489
      @bombardo2489 4 года назад +3

      @@00juniorxL7 You have to understand the very basic Things like Data Types because you gonna suck without Understanding them,Also Methods ,Scope,And access specifiers ,and Objects because in Java Everything is an object literaly. Use This Video it really helped me ruclips.net/video/S0V20PHPR4M/видео.html

    • @morlyfe
      @morlyfe 3 года назад

      @@00juniorxL7 look up alex lee on youtube thank me later 🤟🏾

  • @bllvir
    @bllvir Год назад

    MOST BENEFICIAL, MOST NEEDED TIPS &ADVICE EVER FOUND ON RUclips.

  • @lokeshrana7359
    @lokeshrana7359 3 года назад +34

    From a software developer's perspective, I would suggest learning javascript because it broadens the scope of what you can develop. Websites, servers, native mobile applications just to name a few.

    • @Nikki_the_G
      @Nikki_the_G 2 года назад +6

      @@techtutorvideos Right because it's not like js is used in actual development and web at all, wtf are you talking about? It's standard.

    • @over1498
      @over1498 2 года назад +1

      I know JS purists hate when I say this, but I’d say learn JS basics then learn Typescript thoroughly.
      You can do anything JS can do, it will be supported and growing for a long time. But the main point is that you’ll be able to switch to Python, Rust, Scala, and other high demand functional code easily.
      I consider it sort of a mistake that I spent so much time learning JS quirks. Of course it’s good to know, but the docs will always be there if you really need. Just saying I n the time it takes to understand JS thoroughly, you could have learned like 4 other skills at an intermediate level.

    • @user5214
      @user5214 2 года назад +1

      I started about 7 months ago and now am almost finished building a chess game from scratch using react. Very rewarding without having to know how memory works or how the computer itself is doing much of anything, but rather being able to focus on how the language itself can assist me in getting the results I want without a massive barrier to entry that other lower level languages present.

    • @Ismail-zd9gp
      @Ismail-zd9gp 2 года назад

      How long does it take to become a frint end web developer learning javascript?

    • @vibovitold
      @vibovitold 2 года назад

      JS is used for cross-platform mobile applications. only then a framework like React Native can compile, or tranpile your work into native ones.
      NATIVE mobile development is generally taken to mean that one uses Android SDK or its iOS counterpart, coding in Kotlin (formerly Java) or Swift (formerly Objective-C).
      this being said, i do agree that JavaScript is ubiquitous, and a sensible choice (although i'm not a big fan of the language myself, but that's of course subjective)

  • @uscjake868
    @uscjake868 2 года назад +1

    Python reads and writes how you think. It is so fast and comfortable. For a new beginner: just write out all of the things you want a program to do. KEEP IT BASIC. Then slowly google how to write those statements out: If X is greater than Y, then Z is equal to X plus 2.

  • @tomparke2407
    @tomparke2407 4 года назад +23

    If you want to learn how to program, know a few of the basic concept like variables, loops and if statements, then trying to build some basic web UI functionality with Javascript is a great way to get started building something you can use and interact with. Great visual feedback. Build a dropdown menu in JS. Build a modal with JS.

  • @leialo1267
    @leialo1267 Год назад +1

    "I want to learn programming, what language should I start with?", the answer should almost always be Python.
    • Python is like trying to learn how to drive automatic. You'll learn how to drive. You'll learn it fast and you'll be able to do it well.
    • Java is learning to drive a stick shift. Java is the best balance of learning how to program as well as learning how programs work.
    • C++ is like trying to learn to drive by learning how to manufacture, assemble, and then use a car.

  • @faismasterx
    @faismasterx 2 года назад +21

    I hate programming so much, but I have great respect for programmers who've built the technologies of today's modern world that we can't live without.

  • @Niazi007Niazi
    @Niazi007Niazi Месяц назад

    This was so insightful-thank you for sharing!

  • @VisonsofWisdom
    @VisonsofWisdom 4 года назад +22

    This was helpful. I felt stuck at a beginner python level for a while. Not because the language is difficult to learn. But it's difficult to articulate my ideas as code.

    • @meilyn22
      @meilyn22 4 года назад +2

      So true bro.

  • @robbieparis07
    @robbieparis07 3 года назад +3

    I remember in elementary school math doing word problems where the answer would involve something along the lines of Let x= ..... and maybe this helped to set me up for understanding the difference between equality and assignment

  • @paologallardo8869
    @paologallardo8869 2 года назад +5

    I'm currently enrolled in an AI/ML Associates of science. We're having to learn python along with some other ML knowledge. It seems interesting and espite the steep learning curve I'm going to force myself to love it.

  • @composercode
    @composercode 2 года назад

    I could listen to this guy talk for hours.

  • @thehazarika
    @thehazarika 4 года назад +95

    I started learning programming before I can read English properly. It took me 8 years to understand memory management and pointers.

    • @brigittetitte4415
      @brigittetitte4415 4 года назад +5

      Wtf, 8 years?

    • @thehazarika
      @thehazarika 4 года назад +6

      @@brigittetitte4415 Yeah, I am dumb.

    • @brigittetitte4415
      @brigittetitte4415 4 года назад +8

      No dont get me wrong, im just wondering how difficult these topics are lol

    • @thehazarika
      @thehazarika 4 года назад +31

      @@brigittetitte4415 It is not that difficult, I started learning programming from an English text book, and I barely knew english back then. So learning both C and English at the same time may be why I took 8 years

    • @johnford2517
      @johnford2517 4 года назад +23

      @@thehazarika It wasn't until recently, while talking to someone who's had to deal with this issue, that it dawned on me how unfair it is that all non-English speakers have this extra barrier to writing code. One of those things that you just have to accept but really puts people, especially those who don't use Latin alphabets, at a disadvantage.

  • @pugix
    @pugix Год назад

    My recommendation is, start with a language that has a mature unit testing framework. Right from the get go, writing unit tests to test your own code will give you insight into how it behaves. Python and Java both have great unit test frameworks. When you get into writing larger programs, writing parts of your code so that they are easily unit testable will automatically lead to better composition and decoupling of code.

  • @kindleboje713
    @kindleboje713 2 года назад +5

    As an IT recruiter, I don’t pretend to know how to write code (though I’m trying to start learning the basics). But I see most of the Fortune 100 using or moving to Java. I’m surprised Java and JavaScript aren’t mentioned here. Would love thoughts from other developers though!

  • @yiro6577
    @yiro6577 2 года назад +1

    Thankyou lex,this is very educational as a person who just started programming

  • @MsgrTeves
    @MsgrTeves 4 года назад +9

    I remember these guys from Udacity's Reinforcement Learning course

    • @thomaswyrick4648
      @thomaswyrick4648 4 года назад

      You should check out their Machine Learning Course. It covers mostly Supervised and Unsupervised Learning. It was designed to work with their RL course.

  • @Zgredu666
    @Zgredu666 4 года назад +2

    Shure SM7B is a dynamic microphone and should be directly in front the speaker's mouth, around 1 inch away from the lips. With this audio equipement you are able to achieve nearly radio sound quality. Enjoyed the video tho!

  • @stulego1
    @stulego1 3 года назад +4

    I wish I had Charles as my intro to C++, I was stuck on what syntax meant from the beginning and why it was required.

  • @Brandon-sy7vj
    @Brandon-sy7vj Год назад

    "It turns out their misunderstanding wasn't being revealed to them by the problem sets we were giving them.." yes,very profound

  • @TonyGingrich
    @TonyGingrich 4 года назад +19

    On one hand, I agree with the notion that entry language choice isn't too important. With today's tech, hardware is virtually not an object. But I still find that the best code is written by developers who understand what's being done to the metal. So sure; if you want to learn programming, pick a language which best facilitates your desired path. But if you want to be a GREAT developer, start with something lower level and build from there.

    • @ciarfah
      @ciarfah 4 года назад +1

      We start from assembly and work up through c to c# and c++ in my college course, it's been a great benefit

    • @TonyGingrich
      @TonyGingrich 3 года назад

      @@glorgau Exactly! And with that, you understand the "wrapper magic" that takes place in higher level languages when using types like int64, bigint, longint, etc...

    • @judgedbytime
      @judgedbytime 2 года назад

      Needs more grunting.

  • @SecretHymns
    @SecretHymns 2 года назад +1

    Staring into the void has been me and still is me. Very good point made by Lex

  • @TrebleWing
    @TrebleWing 2 года назад +3

    I started with 6502 assembly as my first language.... I feel I have a much closer understanding to memory than if I started with higher level languages.

    • @MichaelPohoreski
      @MichaelPohoreski 2 года назад

      I program in 6502 assembly every month to stay sane from the modern over-engineer clustertruck of C++.

  • @zzzzzzzzzzzzzzzzzzzzzzzzzzzz__
    @zzzzzzzzzzzzzzzzzzzzzzzzzzzz__ Год назад +1

    Awesome video. I was hesitant to click because I’m pretty confident in knowing the pathways to learning programming but I’m so glad I did anyway. Really cool insights from some great thinkers!

  • @Tomsonx232
    @Tomsonx232 2 года назад +8

    I agree with start simple, but also with an emphasis on starting with something simple that you find interesting. You will always find ways to make a simple idea more complex as you build it and think of more features to add, and that's the best way to learn. If you just build simple things for the sake of building them you will lose motivation

  • @co6672
    @co6672 2 года назад +2

    i have a sufficient experience with Microsoft SQL, working with scripts and queries managing my work database. I've always wanted to get into coding, just been scared I may not be smart enough to understand...

  • @thebxsavage
    @thebxsavage 4 года назад +11

    print(“What’s up Lex!”)

  • @defco89
    @defco89 4 года назад +2

    6:02 stripping each concept down to its bare essentials seems to be the quintessence of mastery !!

    • @defco89
      @defco89 4 года назад

      6:29 understanding why code treats a familiar concept in unfamiliar ways is also helpful in building the right mental models.

    • @defco89
      @defco89 4 года назад

      10:16 how do you know what you dont know if the projects and problem sets you work on dont reveal it ?!

    • @defco89
      @defco89 4 года назад

      10:25 workarounds indicate the need to continue refining skills for mastery !!

  • @billz262
    @billz262 4 года назад +13

    Who knew that Marvelous Marvin Hagler knew so much about programming

    • @Pclub4ever
      @Pclub4ever 3 года назад +1

      Good eye! I knew that he looked somehow familiar

    • @TOMinPDX
      @TOMinPDX 3 года назад +1

      RIP Marvin Hagler 🪦

  • @usienwkdau2jfb28u4b
    @usienwkdau2jfb28u4b Год назад

    I am learning Assembly and C++ and at this point I feel like these are the two languages I'll ever need...I personally see arguments made for other languages being easier to learn and etc but I've had no issue learning any concept so far in either Assembly or C++...it's definitely doable

  • @patrickd4468
    @patrickd4468 4 года назад +7

    Choose a language that is in demand by industry. A good developer knows many languages to solve real world problems. Aim to be a developer i.e. ability to program in multiple languages.

  • @billlets5460
    @billlets5460 2 года назад

    I want it all so I went with assembly (x86, ARM, the rest), C, Python, Verilog, VHDL, Haskell, nodeJS, AIXI, etc.

  • @YOGiiZA
    @YOGiiZA 4 года назад +10

    so is the answer Y = 7?

    • @jasonblack9701
      @jasonblack9701 4 года назад +14

      y still equals 3

    • @TonyGingrich
      @TonyGingrich 4 года назад +4

      Pointer -vs- variable. y will continue to hold its original assignment until explicitly reassigned.

    • @YOGiiZA
      @YOGiiZA 4 года назад +2

      @@jasonblack9701 So x = 7 and y = x , but y still = 3?

    • @YOGiiZA
      @YOGiiZA 4 года назад +2

      @@TonyGingrich understood, thank you

    • @SufferDYT
      @SufferDYT 4 года назад +13

      @@YOGiiZA When you say x = 7 you aren't describing x, you are assigning the value 7 to it. When you say y = x, you aren't saying y is the same thing as x, you are telling the computer to change the value contained in y to be whatever value is contained in x.
      His point is that if you are coming into coding with no understanding of how computers store data in memory and how you access and process it, you might think that what you are saying is that y and x are mathematically equivalent, when in reality you are just assigning a new value to y, being whatever value is currently assigned to x.
      So by saying:
      x=3;
      y=4;
      y=x;
      You might think that what you are doing is saying that 3 is equal to 4, but really your saying "hey forget the 4 and remember whatever value x is holding instead.

  • @BudgiePanic
    @BudgiePanic 3 года назад +1

    Start small is great advice, and you might be surprised just how small you've got to go to begin with

  • @FPSmoto
    @FPSmoto 2 года назад +3

    I wonder if programming were made to be more relatable, such as comparing it to cooking, would be a better way to get people interested in, and help to better understand programming. So explaining a piece of code, such as the rhythm game he was referring to, could be simplified into terms like you need to understand that the code is like a recipe and you have to have all the ingredients, some of which could be main ingredients and others sort of added to spice up the dish. You could look at the main body of functionality in a piece of code as being the entree, or meat of choice, while other objects are seen as side dishes, while cooking techniques are like the condition statements within code.

    • @SerenityDreaming
      @SerenityDreaming 2 года назад +1

      I thought about this. I thought maybe teaching programming to multilingual individuals would obviously be a good place to start, and from there, while they're learning coding, they could also attempt other analogs for lack of a better word. I'm a pretty decent cook, I have a hard time envisioning the model you described. I do like the idea of a recipe. So differing parts of a cohesive meal, where the supportive code acts as less fundamental parts of the whole in service to the meat. It seems more a template. The variety of the meal might detract from the variance you'd want to highlight within the code. And people have strong opinions about food. Any thought on overcoming that? I could see this being useful later on when memorizing. You could adapt meals you personally like top specific common functions you expected to repeat often. I couldn't form analogous connections between code you hadn't created yet, and full meals you enjoy. Hmm. There does seem to be some element of code or puzzle building. I think you might just have a sophisticated relationship with food.
      I also thought about translating the concepts using singing or songs and maybe dance routines. Might appeal to more young ladies and girls. Music in general. Or maybe some kind of modular train track set. That of course, leads right into robotics, and I ordered Arduino Sets. They get complex imo. Lot's of blinking lights. It's a struggle to find exercises that aren't simplistic and pointless or needlessly complicated with no proportionate pay off. And even then, if the materials are poor quality, then the project, no matter how mindfully coded, will be subpar and frustrating. Is it extra steps to seek a digital/visual robot that only exists on a modeling matrix, but simulates the live movement of robots, without sacrificing that 3d advantage that makes robotics seem so effective? I know it's kind of exiting the 2d to enter the 3d so I can go back into the 2d. Thanks.

    • @MichaelPohoreski
      @MichaelPohoreski 2 года назад

      Recipes are extremely formulaic using known off-the-shelf ingredients. We _already_ have the analog of functions and libraries. There are numerous problems trying to abstract a program with interchangeable components:
      1. Dependency hell, bloated programs, and with slow compile times.
      2. You can't treat programming like engineering with interchangeable widgets. A _model of abstraction_ is just that a model. Sometimes you _need_ coupling, most of the time you try to minimize it. Programming is about problem solving. WHAT the problem is will determine HOW you approach it. Your paradigm choice matters. In theory implementation details don't matter, in practice they do.
      3. Abstraction costs. Sometimes we need to pay attention to size and speed. We have inheritance flattening and devirtualization because one abstraction model does not fit all.
      4. Not everyone should be a programmer. It takes a certain mindset to understand "meta-mathematics" aka Computer Science. Not everyone can understand the intricacies of coding regardless of how it is taught. i.e. If you can't understand assembly language you are an amateur coder. The devil is in the details. Learning to break a program down into smaller steps is _essential_ to write good code. Learning good/proper naming is essential to communication with other programmers. Knowing when to use abstraction and when not too still matters.

    • @FPSmoto
      @FPSmoto 2 года назад

      @@MichaelPohoreski Engineering and Design go hand in hand... Any engineer worth their salt knows how to be good at design. And any good designer needs an affinity for engineering. You can go all in one one or the other but you will be limited by the structure of engineering and by the chaos of design. Balance, above all else.

    • @MichaelPohoreski
      @MichaelPohoreski 2 года назад +1

      @@FPSmoto They do but unfortunately most UI people are completely clueless at functionality. They are too busy with their dogma of form.
      And sadly too many engineers are clueless about form and flow.

  • @iordanchis2437
    @iordanchis2437 Год назад +1

    That x=3, y=4 now x=y exercise is the kind of thing that gets me curios. Reminds me of our teachers back in school explaining a concept. It felt soo good, intimate and engaging.
    Where can I get that now? Besides school ofc, I'm working now, can't afford to go to school anymore. Name me a book, online course or and app I can learn stuff like this from. Would much appreciate it.

  • @ChrisAthanas
    @ChrisAthanas 4 года назад +20

    Assignment in programming is not the same as mathematical equivalency
    That Fucked me up for years

    • @ChrisAthanas
      @ChrisAthanas 4 года назад +3

      I wish the computer science people used a different symbol for assignment other than the = sign.... Pascal used :=
      I would have appreciated something like

    • @SufferDYT
      @SufferDYT 4 года назад +3

      @@ChrisAthanas If you look at the documentation for any language your using it will tell you these things. You had this misconception for years?

    • @ChrisAthanas
      @ChrisAthanas 4 года назад +2

      There werent many docs back on 1978 for a kid like me

    • @SufferDYT
      @SufferDYT 4 года назад +1

      @@ChrisAthanas This came with your c64.
      www.commodore.ca/manuals/c64_users_guide/c64-users_guide-03-beginning_basic_programming.pdf
      page 35

    • @ChrisAthanas
      @ChrisAthanas 4 года назад +1

      @@SufferDYT yea but my math teacher couldn’t explain this

  • @e-artemas7295
    @e-artemas7295 Год назад +1

    Im a computer programming student. My advice would be to start of with C procedural programming then move to C++ and learn Object Oriented programming. C++ is a low level language which makes it more difficult to learn but once you have a good understanding of C you can tackle C++. But eventually you’ll pick up Python if you haven’t already and it’s much more easier to read and let’s you do a lot of different things.