What programming languages should everyone learn? | Charles Hoskinson and Lex Fridman

Поділитися
Вставка
  • Опубліковано 29 вер 2024
  • Lex Fridman Podcast full episode: • Charles Hoskinson: Car...
    Please support this podcast by checking out our sponsors:
    - Gala Games: gala.games/lex
    - Allform: allform.com/lex to get 20% off
    - Indeed: indeed.com/lex to get $75 credit
    - ExpressVPN: expressvpn.com... and use code LexPod to get 3 months free
    - Eight Sleep: www.eightsleep... and use code LEX to get special savings
    GUEST BIO:
    Charles Hoskinson is the founder of Cardano, co-founder of Ethereum, a mathematician, and a farmer.
    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
    SOCIAL:
    - Twitter: / lexfridman
    - LinkedIn: / lexfridman
    - Facebook: / lexfridman
    - Instagram: / lexfridman
    - Medium: / lexfridman
    - Reddit: / lexfridman
    - Support on Patreon: / lexfridman

КОМЕНТАРІ • 549

  • @advaithbala3087
    @advaithbala3087 3 роки тому +863

    Everyone should learn assembly to learn the fear of God and develop carnal fight or flight instincts necessary for survival in the world of memory management.

    • @VenturiLife
      @VenturiLife 3 роки тому +28

      Most people will never use Assembly directly ever in their lives, but they should know what it does and how every language ultimately uses it.

    • @Louisianish
      @Louisianish 2 роки тому +18

      @@VenturiLife Right, but I’m pretty sure they were joking. 😉

    • @973sandman
      @973sandman 2 роки тому +10

      I learned Basic when I was 10, then in the order 6502, 680x0, VB, C, C ++ (and a few more in almost 4 decades) ... learning some assembler first was useful, never had too many problems with pointers, or learning new languages (I can't stand Rust's syntax 🤫 I'm getting old)

    • @jamesmccoy8568
      @jamesmccoy8568 2 роки тому +6

      If you learn assembly you’ll understand casting completely (at least casting if primitive types)

    • @Lefthandup
      @Lefthandup 2 роки тому +4

      MIPS

  • @despoticmusic
    @despoticmusic 2 роки тому +42

    Why do people stress over the choice of language? As an engineer, understanding the problem space and designing a solution is always the hard part - implementation is just a matter of getting your system requirements into a format that satisfies the compiler of the day...

    • @MelonPython
      @MelonPython 2 роки тому +6

      Being a web developer myself, I would say to anyone picking a programing language, that they should pick something they really like and try to get really good at it. Most people will pick either Python or Javascript. I myself am 100% PHP. I mainly work with Drupal which is amazing and you can do so many things in Drupal. Try to find something you love doing. When it comes to getting started, most of the fundamentals within the languages do not vary that much from one to another. If you pick one, you will eventually understand it if you put enough time and once you have some experience.. you can easily jump into another one.

    • @murtadha96
      @murtadha96 2 роки тому +5

      Exactly. And the truth of the matter, there is no such thing as "the best language" there is just "the best language for the job". Each set of requirements are different. And most companies (especially large ones) hire based on analytical skills, experience, and algorithms and data structures, not the specific language. Knowing the language is just an added benefit. You can always learn the language quickly as long as you know the fundamentals and have worked with at least one language before in a professional setting.

    • @MelonPython
      @MelonPython 2 роки тому +1

      @@murtadha96 Yeah I totally agree with you. Much of my day goes to reading code and being hundreds of meetings. It doesn't matter which language you pick. What matters is as you say, "your analytical ability ,experience and your problem solving skills". In my opinion you should just go with one language. Doesn't matter which one, just take oen. Because you won't most likely be coding that much. Most of your day will be about meetings and read a lot code. You never make applications from scratch. Most of today's structure also involves microservices and API's. So that is something I would put my head into if I had to start over again.

    • @vibovitold
      @vibovitold 2 роки тому +2

      In most jobs you don't get to be an architect and design high level solutions, choosing tech stacks etc. You're just thrown into a big codebase and are expected to start snapping out more code.
      Software architecture decision-making usually waits fairly high on the seniority ladder, at which point you're not asking questions such as "which language to learn" anymore.

    • @armincal9834
      @armincal9834 2 роки тому

      @@vibovitold but you should because no matter how senior you are,you must understand that the difference between languages isn't just syntax or libraries but also how they run, are they dependent on a virtual cpu like java? Or an interpreter like python? It really does matter depending on what you are trying to design,the problem is most people are in web dev industry these days and they think just because these things don't matter to them then it shouldn't matter to others as well

  • @nekoill
    @nekoill 2 роки тому +4

    Ah, reminded me how just last month I failed my test assignment trying to get into a blockchain company that works with Cardano and had Haskell and Clojure(!) both being part of their tech stack-I fell in love with it immediately, but screwed up really bad and now I don't just feel sad, but also ashamed of myself. Despite that, I'm pretty sure Haskell will forever be my one love programming language. God it's good, the code written in Haskell even looks and reads like some kind of an abstract poetry by a non-organic lifeform or something.

    • @vm683
      @vm683 2 роки тому

      May I ask which company was it?

    • @aoeu256
      @aoeu256 6 місяців тому

      Idris seems to be even cleaner than Haskell it seems.

  • @jonjojr
    @jonjojr 2 роки тому +7

    very few people suggest to start data structures and algorithms, and then start coding. I like Charles.

  • @dineshvar974
    @dineshvar974 3 роки тому +28

    Python is most used in my opinion from business to machine learning

    • @PicaPauDiablo1
      @PicaPauDiablo1 2 роки тому +1

      @@fritzschnitzmueller3768 yep. R is just as prevalent in AI as python and it's so tiresome listening to the language debate. Anything that has to perform is still using c++ like it has been last 25 years

  • @haddow777
    @haddow777 Рік тому

    The most rediculous thing someone can do is only learn the same language everyone else is learning. The second is to only learn one language. If you think one language is the best, you aren't very good at coding.
    More than that, learning the same language as most other people is a great way to weaken yourself in the job market. Look at any field where there is language saturation. High layoff rates and low pay.

  • @ePi10
    @ePi10 3 роки тому +6

    Why don’t you add english subtitle ?

  • @andrewjohnson1835
    @andrewjohnson1835 3 роки тому +4

    I have made the switch from rust to c am not going to lie c has lots of bugs and memory management but got tired of importing crates. I read 78 pages of a book in c feel like I have leant half of it

  • @Skiddla
    @Skiddla 2 роки тому

    4:38 his face

  • @ma34529
    @ma34529 Рік тому

    Please do not spend too much time on Scala 3, unless you have a good reason to.

  • @KWNBALI
    @KWNBALI 3 роки тому +12

    Probably C is the best

  • @tomasdzetkulic9871
    @tomasdzetkulic9871 Рік тому

    8:09 "Google created GoLang just to get rid of C".

  • @Tabu11211
    @Tabu11211 2 роки тому

    Carbon

  • @user-su5sq5ib3i
    @user-su5sq5ib3i Рік тому

    Tge first language I learned was C so U am automatically biased

  • @Arekgofi
    @Arekgofi 3 роки тому +1

    Eastern European programmer here. JavaScript!

  • @ApteraEV2024
    @ApteraEV2024 2 роки тому

    GO & RUST. GOT IT)))
    THANKS for Sharing!)
    Спасибо, что поделились!)

  • @bideshbanerjee5506
    @bideshbanerjee5506 2 роки тому +363

    "It's not about falling in love with the language it's about falling in love with computing and interaction with the computers". ❤️❤️

    • @thuggfrogg
      @thuggfrogg Рік тому +1

      ... right after the causual XKCD reference!

  • @HelloThere-xs8ss
    @HelloThere-xs8ss 3 роки тому +46

    Anyone else bothered that the code in the thumbnail wasnt indented and didn't even look like it made sense? No? Just me? Ok.

  • @nsfeliz7825
    @nsfeliz7825 3 роки тому +77

    my favorite programming language is soldering iron.😄 real men HARD WIRE thier functions.

    • @markm1514
      @markm1514 3 роки тому +4

      what's the soldering iron solution for fizzbuzz?

    • @daft9816
      @daft9816 3 роки тому

      @@markm1514 ua-cam.com/video/sTu3LwpF6XI/v-deo.html

    • @mannycalavera121
      @mannycalavera121 2 роки тому +4

      @@markm1514 it's all nand gates

    • @despoticmusic
      @despoticmusic 2 роки тому +1

      @@markm1514 easily done with that soldering iron and a sufficient number of triodes...

  • @andyashworth7750
    @andyashworth7750 3 роки тому +415

    Charles has the fairly rare combination of astronomical intelligence levels, while also being a fantastic communicator

    • @brodyalden
      @brodyalden 2 роки тому +24

      AND humanity, which essentially never accompanies those things.

    • @murtadha96
      @murtadha96 2 роки тому

      I agree

    • @jankucera8505
      @jankucera8505 2 роки тому +2

      what did he achieve in particular? you astronomical intelligence level

    • @amayesingnathan
      @amayesingnathan 2 роки тому

      The only other person I can think of that's similar is Brian Kernighan

    • @simonhill6267
      @simonhill6267 2 роки тому +1

      @@amayesingnathan good spot, I see that

  • @vladimirkraus1438
    @vladimirkraus1438 3 роки тому +19

    Rust.. a great language but there are no jobs in it. If you want a job in lower-level programming, you must learn C/C++.

    • @SumoCumLoudly
      @SumoCumLoudly 3 роки тому +1

      no wonder, rust is absolute trash, imagine making a new language to be c++ with memory safety, utterly pitiful endeavour and ill bet good money that C outlives it

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 2 роки тому +1

      @@SumoCumLoudly C++ with memory safety is something C++ itself wants, lol wtf is this take XD

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 2 роки тому +2

      My country doesn't have any meaningful no. of jobs in any non-mainstream languages (i.e C++, Java, C# and Go). The only other language that is considered "non-mainstream" that has started rising significantly is Rust. Should tell you about its trajectory.

    • @MonsterJuiced
      @MonsterJuiced 2 роки тому

      learning c++ now actually, hoping to understand this as quickly as I can. If I can begin writing it without referring to notes and other peoples code all the time then I might take a look at C so I can grasp the fundamentals. This isn't for software programming though, it's for game functionality

  • @trishrobinson5828
    @trishrobinson5828 3 роки тому +64

    I started with fortran and cobol in 1976. It was hard work at the time. Edit: also punch card sorter hell.

    • @trishrobinson5828
      @trishrobinson5828 3 роки тому

      @@davidplyler8173 I had an afternoon class at a high school near a university and we occasionally were taken to view the Cray's. Was a wonderful learning experience.

    • @johnnykokopelli
      @johnnykokopelli 3 роки тому +2

      You forgot about Assembler…

    • @elwyndude
      @elwyndude 3 роки тому +1

      LOL - I was teaching COBOL righ up until 2001. I was in a Hadoop training course and the trainer said he just had some COBOL programmers come through and say there is no end of work for them. Hurray for legacy....

  • @jimbarino2
    @jimbarino2 Рік тому +29

    I took one class in Lisp back in college, around 1990. Haven't really touched it since. But I think I learned more from using that language than enything before or since. The fact that a "normal" thing to do was to write a program that rewrites itself as it runs blew my mind...

    • @aoeu256
      @aoeu256 5 місяців тому

      Smalltalk and maybe Idris/Haskell are also mind-blowing languages

    • @tzint56
      @tzint56 3 місяці тому

      Haskell is the most mindblowing language for sure. The mantra of the community during the development of it was, "Avoid success at all costs". Which is to say, the ends did not justify the means. And it really shows--It is unlike anything else out there and has many amazing novel features of the language.
      If a good programming language is one where most of the code is deliberate, not incidental, then Haskell is the best there is.

  • @_diversable_
    @_diversable_ Рік тому +24

    i'm surprised Julia lang wasn't mentioned, especially in the context of Lisp-style & academic friendly languages, but Julia is actually easy to write (and read), has the same functional bent as Haskell (if you choose to write it that way), plus it can run as fast as C / Rust if you use Julia's gradual type system

    • @alex987alex987
      @alex987alex987 Рік тому +4

      Seeing how much it's used in real projects, what's the surprise?

    • @vicktorioalhakim3666
      @vicktorioalhakim3666 Рік тому

      @@alex987alex987 Define "real" projects. It's used internally in big companies like ASML (though admittedly there is a lot of pushback from Python/MATLAB/R/C++ engineers).

    • @_diversable_
      @_diversable_ Рік тому

      @@alex987alex987 There are some significant production users out there using Julia - for instance, pharmaceutical research is being done with Julia (Julia was used to help produce Covid-19 vaccines); Julia is being used by NASA, the FAA, the banking and financial services industry, and other public sector customers like economists as well as professors of chemistry, biology, quantum computing, etc. While production Julia code is not yet widespread, I'd say there's some decent production use-cases for and users of the Julia language...

    • @alst4817
      @alst4817 28 днів тому

      @@alex987alex987it’s pretty widely used in academic settings for mathematics, engineering, physics, and in industrial settings for those sectors. It’s not designed for web development or mobile apps.

  • @yongkangchia1993
    @yongkangchia1993 11 місяців тому +46

    🎯 Key Takeaways for quick navigation:
    00:58 🐍 Python or JavaScript are recommended for beginners as they have extensive libraries and online resources, making them ideal for learning the basics of programming.
    01:40 Functional programming languages like Haskell are suitable for projects translating academic papers into code due to their mathematical nature and minimized ambiguity.
    03:50 Functional codebases are more concise, aiding in maintenance, understanding, and documentation, while also allowing for stronger tools like static analysis and property-based testing.
    06:15 Scala is a versatile language that can be a good choice for students in computer science due to its flexibility, Java-like appearance, and relevance in data science and microservices architecture.
    08:07 C and C++ have been largely replaced by Rust, which is considered a superior option for systems programming.
    Made with HARPA AI

  • @IamEchelon
    @IamEchelon 2 роки тому +20

    You all need to go look at Scala 3 immediately. I had no idea how well designed this language was until he suggested it. Honestly blown away.

    • @_tonygaeta
      @_tonygaeta 2 роки тому +1

      Reminds me of Ruby or Python with types.

    • @IamEchelon
      @IamEchelon 2 роки тому +1

      @@_tonygaeta very much so

    • @MrDejvidkit
      @MrDejvidkit Рік тому +1

      Yes I know. If so feature rich :)

  • @Lecluyse2000
    @Lecluyse2000 3 роки тому +26

    My university program teaches c++, and im going to teach myself java and python

    • @BlastinRope
      @BlastinRope 3 роки тому +13

      Java is big gay dont bother

    • @himboslice_
      @himboslice_ 3 роки тому +1

      Tech yourself Go or Rust. Maybe a functional language like Clojure for the basics of fp.

    • @algocision
      @algocision 3 роки тому

      look at the stack overflow developer survey to get a good idea of what you might want to learn (2021 is coming out soon, 2020 still will give good insight)

    • @VenturiLife
      @VenturiLife 3 роки тому +2

      Go and Rust. It's more the Google ecosystem, but Python is easy to learn so learn it also. Java / Typescript is everywhere and it has it's place, but so damn common out there. Scala is another option of course.

    • @Lecluyse2000
      @Lecluyse2000 3 роки тому

      @@VenturiLife I’ve heard of Go and Rust, they do sound cool. Do you think python isnt worth learning?I sent an email to my professor asking what languages I should learn after the course and im interested to see what he says

  • @feralaca123
    @feralaca123 3 роки тому +79

    I learned some HASKELL in my programming paradigms course many years ago. At the time, I didn't get the benefit and learned just enough to pass the course. We also learned Smalltalk and Prolog. I ended up using JS everyday, not a great language but it pays the bills. This got me interested in Scala, I will probably give it a try.

    • @N0ES
      @N0ES 2 роки тому +2

      Scala is great, it will also let you revisit Haskell because you can mix paradigms using functional programming.

    • @isos6534
      @isos6534 2 роки тому +1

      can you give tips how to learn programming fast or maintain concentrate for programming?

    • @schinsky6833
      @schinsky6833 Рік тому +2

      I find "dont get the benefit of it" is a trait of many junior programmers. "Why do it this way if that way also works" is a mind set in programming that wont bring you far.

    • @feralaca123
      @feralaca123 Рік тому +5

      @Schinsky poor reading comprehension is also a trait of junior programmers, especially nowadays. I said "didn't", referring to a programming paradigms course that I took many years ago.

  • @gullijons9135
    @gullijons9135 Рік тому +80

    Scala is one of the languages we've been hearing about for almost two decades, how they'll replace all the old languages. How no one uses these old things any more but C, C++, Java, C#, PHP, and Javascript still dominate almost everything and languages like Scala, Haskell, Julia, and Ruby - to name just a few, have their few moments in the spotlight only then to pretty much fade into some niche.

    • @matthiasschuster9505
      @matthiasschuster9505 Рік тому

      Just proves that people are stupid

    • @themanicmarauder
      @themanicmarauder Рік тому +10

      I've heard it expressed as developers building some small pet project in a niche language and then running into problems as the projects becomes larger or more complex. These problems often result in the necessity of switching to a more traditional language. "Start the project however you want to get some ideas moving, and then switch to c++ when you find out what you actually need."

    • @ProfesorTutu
      @ProfesorTutu Рік тому +5

      Scala is not the simplest language and that is what is driving developers and companies away. Also, devs are asking for a lot of money and are not easy to find. Besides that, once you have the code base in Scala and you are comfortable to give a few months to new hires to get into it, is is so much rewarding to have Scala as your core language. It gives way to building pretty stable and performant systems. And the code is more readable than most languages. Currently there are a few problems around the Scala ecosystem, but one main focus for improvement should be ease of adoption.

    • @arunbeckham8384
      @arunbeckham8384 Рік тому +1

      I have to say that I am married to Julia and have child named 'python' and have a maid 'c++' but have a driver named 'java' but I still love my girlfriend's 'clojure' and 'hashkell'.

    • @atticus9845
      @atticus9845 Рік тому +6

      Well the languages you listed solve completely different problems, you compared apples to oranges. C, C++, Java, C#, PHP, and JavaScript to Scala, Haskell, Ruby, and Julia.
      For example Haskell is a very functional language which has issues in developing large applications. Functional languages create new data structures in instead of modifying them. This creates performance concerns even though it solves certain errors. Ruby is an interpreted language. That’s all that needs to be said. C/C++ are systems level imperative programming languages. The reason they are used is because they let you directly control memory and are imperative. Imperative design patterns are how a real computer works so it’s easy to visualize optimizations and understand code. Regardless of what paradigm you want to invent computers are procedural - imperative. If you can make a higher level imperative language that solves common errors and provides ease of use you can solve a lot issues. Also Julia is dynamically typed and that causes so many issues. A lot of people’s perspectives on programming languages comes from inexperience in programming full scale applications. Program a game in something and you’ll see what makes it bad. Jonathan Blow is doing just that.

  • @CookiePepper
    @CookiePepper 11 місяців тому +11

    C is manual transmission car, C++ is automatic, Python, Java and etc. are riding taxi.

    • @Yashodhan1917
      @Yashodhan1917 5 місяців тому

      Like riding semi-autonomous vehicles maybe, like Tesla. Taking a taxi is more like the employer, who always takes the taxi, regardless of what kind of a car it is and who it is driven by

  • @quantum-ng8bs
    @quantum-ng8bs Рік тому +4

    It's obvious that Charles does not actually work with Scala.

  • @dingo4229
    @dingo4229 2 роки тому +9

    Learn C# for work, Rust for the future, and python for fun

  • @saturdaysequalsyouth
    @saturdaysequalsyouth 3 роки тому +119

    I've been working as a software engineer for about 15 years. The languages I use most are C, C++, Java and Python. I've never touched Scala or Rust and haven't done any functional programming since college. But maybe I'm obsolete.

    • @S3aCa1mRa1n
      @S3aCa1mRa1n 3 роки тому +6

      But python will be relevant for a while right ?

    • @DragonKidPlaysMC
      @DragonKidPlaysMC 3 роки тому +22

      @@S3aCa1mRa1n yes

    • @MinecraftMasterNo1
      @MinecraftMasterNo1 3 роки тому +40

      @@S3aCa1mRa1n Considering the fact that the vast majority of machine learning is done in python? I don't think it's gonna go away any time soon

    • @Idontbelievethehype2
      @Idontbelievethehype2 3 роки тому +7

      Rust is the next evolution of system programming languages. It’s not easy to make meaningful strides in this area, but it has managed to do so. Check it out.

    • @saturdaysequalsyouth
      @saturdaysequalsyouth 3 роки тому +19

      @@Idontbelievethehype2 For me, the ideal systems programming language is very small (so you can focus on the problem and not the language), stable (a few minor standard changes every couple of decades), well understood, fast, has many different implementations, has a minimal set of features, has many different library implementations, has very few or no dependencies on other languages or language bindings, has an equivalent freestanding and hosted development experience, has an extremely thin runtime layer for highly resource constrained devices and most importantly has a wide ecosystem of people and experts who can be readily called upon to contribute to a project, either commercial or open source.
      I'm sure Rust is great. But being great in this industry is not enough. I think Unix is great. But Microsoft runs the vast majority of desktop computers on the planet. Being great wasn't enough for the desktop by a long shot. So we'll see. I'm not saying I'll never use Rust, just that I haven't seen the need for it just yet.

  • @GAURAVKAUL84
    @GAURAVKAUL84 Рік тому +2

    Python
    Javascript
    Scala 3
    Haskell
    Go
    Rust

  • @asdqwe4427
    @asdqwe4427 3 роки тому +77

    Having previously worked with Scala for a while, I can say that the fact that it's both functional and oo is not always a good thing. Everyone writes in a different style and it's very hard to find a consensus about best practices. Love parts of the language, but it's chaos in large organizations

    • @Simon-xi8tb
      @Simon-xi8tb 2 роки тому +9

      basically everyone just continues to write OO. Better to use Clojure than Scala

    • @Simon-xi8tb
      @Simon-xi8tb 2 роки тому +6

      @Jonathan Higger Well, the problem is in devs that don't use the powa! The powa of functional design and thinking. The powa of data driven development. Instead they use no powa by doing OO with classes.

    • @ToeShimmel
      @ToeShimmel 2 роки тому +2

      I feel you from a TypeScript perspective..

    • @darkdudironaji
      @darkdudironaji 2 роки тому

      @@ToeShimmel Isn't Typescript just a strongly typed JavaScript?

    • @licriss
      @licriss 2 роки тому

      I think it's excellent for small complex mathematical or stream co-ordination problems that need to sit within a JVM ecosystem as part of large java or kotlin codebases, it can make potentially horrendous matrix problems look very straightforward, but yeah if you're going to have a large Scala codebase you have to make a lot of very strict style/pattern decisions quickly, and be very careful about allowing exceptions through, for it to work.
      Another reason for this problem I think is that Scala attracts a lot of people who enjoy writing clever code and so you can easily end up with a lot of chunks of code that is just far to clever to be maintainable all over the place.

  • @chrishipple4419
    @chrishipple4419 Рік тому +2

    First time hearing Haskell regarded as a "middle ground" lol

  • @lashropa
    @lashropa 3 роки тому +12

    1:17 I'm glad you XKCD'd so I didn't have to. Respect.

  • @kusali11
    @kusali11 3 роки тому +101

    It's clear there is so much thought and understanding behind every word this guy says.

    • @VenturiLife
      @VenturiLife 3 роки тому +7

      And he listens to others properly. Rare.

    • @isodoubIet
      @isodoubIet 2 роки тому +4

      He said Rust replaces the need for C and C++, so clearly not that much thought or understanding.

    • @wrong1029
      @wrong1029 2 роки тому

      @@isodoubIet might take a few decades but once tooling catches up, it absolutely will

    • @isodoubIet
      @isodoubIet 2 роки тому +1

      @@wrong1029 Unless Rust becomes a seriously different language, I don't see how it beats C++ in some domains like scientific computing for instance. There are many applications where the memory safety provided by Rust is a marginal benefit at best (because the programming patterns in play don't really lead to memory errors to begin with), but the borrow checker is still a pain to work with. Rust is also a much less convenient language in several respects, largely because (as far as I can tell) much of it is designed for ease of implementation, not programmer convenience.

    • @wrong1029
      @wrong1029 2 роки тому

      @@isodoubIet I can definitely see where you're coming from, but as someone who uses rust professionally, it is amazing how productive it is for large teams, even considering the long compilation times. It feels more akin to writing contracts instead of code, as the type system is able to do a ton of heavy lifting whereas for c++ so much info must be present in the developers head and documentation. The safety guarantees are more of the cherry on top for me, the type system is the real star.

  • @davidjohnhamm
    @davidjohnhamm 3 роки тому +6

    here is what i do. i wake up and pour myself a nice cup of java. My beige trench coat is way too large but my head is enormous so thats ok. I live in Seattle and I am a java coder. You’ve Got Mail is my favorite movie. Sleepless in Seattle is my second favorite movie. I’m imagine that i am Tom Hanks while i do my java coding. I take a nice sip of my java and look down at the garfield comic. I’m just thankfull that it’s 1996. I love women with perms. If i didn’t have a dark curly mullet and receding hairline,i would have a Perm. the license plate on my porsche 1911 says j a v a. just cruising the ol’ Information Superhighway. i just love being a c o d e r. i stylishly ja v a code and then meet up with my friends for brunch. we all are wearing light colored jeans that are to big and too small and the same time and also checkered shorts and also beige trench coats having a nice stylish cup of seattle j a va and eating e g gs benedict and pasta salad and sun-dried tomatoes. we huddle in a circle and start chanting “j a-v a”, “ja- va”, “T om - haNks”, “ toM hAnKs”. god i love being a c o der.

    • @cuppacawfee
      @cuppacawfee 3 роки тому

      I read this whilst listening to the seinfeld theme.

    • @holysmokes4493
      @holysmokes4493 2 роки тому

      Is this new pasta?

  • @niteshapte
    @niteshapte 2 роки тому +14

    If you have good financial background, learn the language of your choice. But if you are from poor or middle class family, choose C# or Java because maximum jobs are in these 2 languages. You won't be out of a job, and also pay is decent. Once you are financially good, then pick the one that you always wanted. Don't worry, switching to a new language after working for years in another language is not difficult, in fact, it's easy, because at the end of the day, it's about how smartly you develop an efficient product. Language is just a tool.

    • @gmoney_swag1274
      @gmoney_swag1274 Рік тому

      This is terrible advice. If you were doing it for money than JS and Python are king

    • @prabodhraut
      @prabodhraut Рік тому

      @@gmoney_swag1274 I don't see this guy talking about money. He is talking about making choices wisely based on your background. Are you high or what? Since when JS jobs started to pay more than Java? Unless it is too critical requirement that too based on timelines, JS job is not going to pay you more than Java. Moreover, Python will pay you more than Java only if you are in data analysis job. If you really want to pick up a language then go for Mainframe and C or C++ or Assembly programming language. If you still want more, then go for hacking or cybersecurity job. But that would need a lot of brain, basically you need to very smart. But looking at your comment, I can't say you got it.

    • @yuriish7570
      @yuriish7570 Місяць тому

      ​@@gmoney_swag1274 I can get JS, though it's not really better, but Python ? Not a lot of people would pay you for doing software in Python, it usually used for solving problems in specific domains which requires skills other than SE, hence it's just different career.

  • @rbrickproductions123
    @rbrickproductions123 3 роки тому +150

    I started in high school teaching myself python, c#, Java & Go. Still use them all to this day. Scala & Haskell are really great languages and I definitely need to do more with them. Learning Rust now, but my bias is clearly with Go haha

    • @catiex8826
      @catiex8826 3 роки тому +54

      python is amazing, with a day of learning i was already programming a script to check for 3080's in stock on different sites. it should honestly be required middle school teaching instead of the political garbage they force on kids now

    • @beenmicrophone5817
      @beenmicrophone5817 3 роки тому +2

      @@catiex8826 what did u use to learn python this way? was it a course a utube vid? could u please link me 😁

    • @catiex8826
      @catiex8826 3 роки тому +13

      @@beenmicrophone5817 freecodcamp 'python crash course' and then just random yt vids to teach me the parts i needed, gl :)

    • @elbysmanuel
      @elbysmanuel 3 роки тому +1

      @@catiex8826 this

    • @mannycalavera121
      @mannycalavera121 2 роки тому +15

      @@catiex8826 no, learning infinite genders is far more beneficial

  • @armincal9834
    @armincal9834 2 роки тому +4

    Rust will never replace C++ just like go will never replace C.ofcourse it depends on which industry you're working in,in the world of embedded systems and operating systems kernel development,C won't be replaced by anything any time soon

    • @raymonda6025
      @raymonda6025 2 роки тому +2

      You say this, but rust is literally being merged in the linux kernel by 2023

    • @armincal9834
      @armincal9834 2 роки тому

      @@raymonda6025 its just the beginning of the process,it will take decades for linux kernel to be fully ported to rust I don't think there is any reason to learn rust other than hobby projects FOR NOW since the language is still being changed and there aren't nearly enough libraries,it's better to stick to c for now but the future definitely belongs to rust(not the near future)

    • @cthutu
      @cthutu Рік тому

      I disagree with this. Rust is already replacing C in embedded systems programming. There's a definite trend. I think the last bastion of C/C++ will be video games and OSes.

  • @matthiasschuster9505
    @matthiasschuster9505 2 роки тому +1

    F#

  • @datalore6187
    @datalore6187 3 роки тому +35

    Yep, and in another video, the presenter is saying learning SQL and Python is the route to go. And C and C++ are still used for operating systems programming and game programming because of their speed. They aren't interpreted, they are compiled.
    Don't get me wrong, Python is a great programming language. But the best programming language to learn is the one which pays.

    • @Kiloksks
      @Kiloksks 2 роки тому +3

      So which one pays

    • @user5214
      @user5214 2 роки тому +1

      @@Kiloksks depends on what you are interested in/good at

    • @JW-jd6sn
      @JW-jd6sn 2 роки тому +2

      @@Kiloksks java. Simple.

    • @kent8850
      @kent8850 Рік тому +1

      This is the same dude that made Cardano? Don’t understand why people think he’s knows what he’s talking about 😅

    • @einzelganger5290
      @einzelganger5290 Рік тому

      @@Kiloksks Do you really have to ask? 🙄🤔 The answer is the language of the Web of course: Javascript.

  • @SrAntonio301
    @SrAntonio301 7 місяців тому +2

    The biggest grift Hoskinson has ever pulled is convincing people he knows how to code.

    • @thehady1
      @thehady1 5 місяців тому +1

      Why ? doesn't he know how to code ?

  • @bigjake1300
    @bigjake1300 3 роки тому +9

    Does powershell and Linux commands make me a programmer 😅

    • @jumanjiwarlord
      @jumanjiwarlord 3 роки тому +8

      Shell scripting is UNDER RATED.

    • @ChrisAthanas
      @ChrisAthanas 3 роки тому +3

      Yes

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 2 роки тому +2

      If you also write shell scripts, then yes you're a programmer.

    • @cgme9535
      @cgme9535 2 роки тому

      Powershell is technically a type of OOP language, mostly used by system admins for their automation.

  • @theovandaele3220
    @theovandaele3220 3 роки тому +14

    I still wonder why Pascal fell out of favor, given OOP, readable code, yet as fast as C++.

    • @JstJaybeingJay
      @JstJaybeingJay 3 роки тому

      Hey, can you tell what can I do with turbo pascal cause learning it now
      ...?

    • @benvella1728
      @benvella1728 3 роки тому +1

      @@JstJaybeingJay bin it

    • @ldandco
      @ldandco 3 роки тому

      Because Borland went out of business ?

    • @theovandaele3220
      @theovandaele3220 3 роки тому

      @@ldandco if you want to "learn" programming, it is an excellent tool to get your head around the concepts. If you also want to find work ASAP, I would probably suggest something like C#. Mind you, there are other languages like Python etc that are highly sought after, or even Solidity if you want to work in crypto. But purely from an academic point, Pascal is hard to beat. HTH.

    • @vibovitold
      @vibovitold 2 роки тому

      @@ldandco but the fact that at the end, Pascal's fate depended on a single company is by itself telling
      it wouldn't happen for C++

  • @Native_love
    @Native_love Рік тому +30

    "Google created go just to get rid of C and Rust is just a phenomenal language as well." Very insightful and important quote for us programmers just beginning the 'path'. I'm a very happy and experienced Native American IT consultant who is starting to fall in love with Python, A.K.A. the "Gateway Drug". Thanks Charles and Lex!

    • @orwellianreptilian2914
      @orwellianreptilian2914 11 місяців тому +3

      im curious as to why you would mention the "native american" thing?
      cant you just be "a person" who is doing a thing?
      honest question

    • @cheesypizzajokes
      @cheesypizzajokes 10 місяців тому

      My man loves his heritage, thats all @@orwellianreptilian2914

    • @JL-sw7mh
      @JL-sw7mh 9 місяців тому +2

      @@orwellianreptilian2914no, because then he’s in the pool with everyone else when he’s trying to get hired. Meritocracy is dead.

  • @miraculixxs
    @miraculixxs 3 роки тому +5

    Scala? Hm. Who uses it? And I don't mean the great folks who created and maintain the language and its ecosystem.

    • @XxIskaxX
      @XxIskaxX 3 роки тому +1

      I think Twitter uses it, but I can't remember any other major project. They started with Ruby though

    • @kumarsalib722
      @kumarsalib722 3 роки тому

      Netflix

  • @eg4933
    @eg4933 5 місяців тому +1

    the whole industry is doing/catching up while scala is past that and is advancing.

  • @BobbyDaBunnyRabbit
    @BobbyDaBunnyRabbit 3 роки тому +22

    I’m so early I feel like internet explorer, nearly prehistoric.

    • @BobbyDaBunnyRabbit
      @BobbyDaBunnyRabbit 3 роки тому

      @Lex Fridman you’re an inspiration to my daily life thank you

  • @aviator1787
    @aviator1787 Рік тому +2

    TLDW; 6:06 you're welcome ;)

  • @dhavalpatel3924
    @dhavalpatel3924 3 роки тому +12

    was wondering what if charle's and vitalik's mind would have synched and the final product would have came out..something like cardereum lol

  • @moshefabrikant1
    @moshefabrikant1 3 роки тому +8

    0:58
    Phyton and java script are great.
    Have dialogue with a computer

  • @lmao4982
    @lmao4982 2 роки тому +5

    My uni used scala for the intro to programming course, it was great

  • @Stomachbuzz
    @Stomachbuzz Рік тому +2

    "No. I think Rust has completely replaced the need for C"
    Wow. First time hearing that

  • @JRis44
    @JRis44 2 роки тому +7

    Great conversation. Seems ill have to venture into Scala after my adventure into Python. Been quite the journey learning this stuff on my free time. Might need to find a mentor at some point or something.

  • @user26912
    @user26912 2 роки тому +1

    Xkcd 297 Lisp Cycles quote is actually: "These are your father's parentheses, elegant weapons *for a more civilized age*." The civilized age is coming, Clojure.

  • @y.3.k
    @y.3.k 3 роки тому +20

    This interview really helped me understand Cardano better. BULLISH on Cardano!

  • @jugnu361
    @jugnu361 Рік тому +1

    c++

  • @emceha
    @emceha 2 роки тому +1

    10 pound sledge with fiberglass handle to crush concrete, chasing hammer for jeweler, steel shot filled rubber mallet with no rebound for tiler, self made wooden mallet for cabinetmaker.
    There is no such thing as bad hammer, just don't use rubber hammer for crushing concrete.

  • @தமிழோன்
    @தமிழோன் 3 роки тому +5

    Glad he mentioned Rust.

  • @trendy2826
    @trendy2826 Рік тому +1

    7:40

  • @jakobjensen8228
    @jakobjensen8228 17 днів тому

    My answer would definitely be C. Understanding how memory is allocated and having to do everything yourself is so valuable long term, especially if you ever want to make a compiler.

  • @johnnytoobad7785
    @johnnytoobad7785 Рік тому +2

    COBOL & Fortran (and some BAL and DEC MACRO-11) was all you needed to know when I started out. If you were "an expert" on DEC architecture and DEC supported languages you could write your own ticket..for a few years. Now I just use Python (on Linux) but I'm retired anyway.

  • @theodale6805
    @theodale6805 Рік тому +1

    Look at how Cardano's ecosystem is suffering due to their smart contract dev requirements

  • @MeanMisterMustard
    @MeanMisterMustard Рік тому

    Go and Rust have replaced C and C++? Dude lost all credibility at that moment. Rust is a garbage language with novel ideas. Go is a replacement for Java, not C.

  • @antonchigurh8102
    @antonchigurh8102 Рік тому +2

    "Hate can be a great motivator"
    I know this well.

  • @ayotundeayoko5861
    @ayotundeayoko5861 4 місяці тому

    C and C++ will still be around for years and kinda immature to say Rust is currently replacing them -it will but not now. I love Rust by the way

  • @DavS827
    @DavS827 Рік тому +1

    But what about Julia?

  • @davidchung1697
    @davidchung1697 Рік тому +3

    I'm a hardcore fan of Scheme! It is a bit sad to see MIT replace Scheme with Python for 6.001.

    • @aoeu256
      @aoeu256 6 місяців тому

      Scheme had too small of a library. Julia is a form of Lisp/Scheme with Python like notation, it has quote, macros, and multi-dispatch.

  • @asagiai4965
    @asagiai4965 3 місяці тому

    Sorry the guest technically contradicted himself.
    After he mentioned data structure, algo, javascript, and python in the same sentence.

  • @Joe-sm7mf
    @Joe-sm7mf Рік тому +2

    "These are your father's parenthesis..." such a good line. :D

  • @josephjoestar995
    @josephjoestar995 Рік тому +3

    I like C++ a lot but having to use a lot of Python (PySpark) at work to use apache spark with, I was wondering if C++ has any place in the world of data engineering and big data?

  • @ryandevens9423
    @ryandevens9423 2 роки тому +3

    C++ is the only language

  • @kohlrabenschwanz
    @kohlrabenschwanz Рік тому +10

    i would say that i REALLY learned programming with LISP.... my first courses where in Python and Java. But for the basic concepts LISP makes a lot of sense

  • @TimoYlhainen
    @TimoYlhainen Рік тому

    This is BAD. Python is a horrible first language to learn if you plan to do serious programming.

  • @laughingvampire7555
    @laughingvampire7555 Рік тому +2

    Idris is not overly academic, the whole point of Idris is to bring those proving systems into the practicity of software for ICs

  • @yannickfrogel3537
    @yannickfrogel3537 2 роки тому +5

    I am using C# in unity and it's very understandable in my opinion and i can recommend it to everybody

    • @bitwize
      @bitwize 2 роки тому +1

      C# is fine for medium to large size projects. I do not recommend it for beginners, because it requires a lot of conceptual scaffolding to get even the most basic program running.
      Python, by contrast, is the BASIC of today and an excellent place for beginners to get their feet wet.

    • @samuelj.s3955
      @samuelj.s3955 2 роки тому

      @@bitwize what kind of conceptual scaffolding??

    • @bitwize
      @bitwize 2 роки тому +3

      ​ @Samuel J. S In Python, Hello World is simply:
      print("Hello, world")
      And you run it by simply passing it to Python. In C#, you have to declare a class, give it a static void Main method, and only then print the message by calling Console.WriteLine(). So already we're getting into classes and objects. Furthermore, the user has to know about how to compile and then run their program.
      There is a lot to be said for your first steps in programming involving nothing more than typing up a few instructions to the computer and having it execute them. It generates a sense of accomplishment, and excitement that will help the beginner explore languages like C#, or even C or Rust or something later. It's why BASIC was so popular on microcomputers from the 70s and 80s, despite the drawbacks BASIC had as a language. Python is something of a BASIC equivalent for today, with fewer compromises.

    • @samuelj.s3955
      @samuelj.s3955 2 роки тому +1

      @@bitwize thank you that was insightful-- long ago I attempted python on code academy but struggled and left it alone. Atm my employer wants me to learn c# and for some reason it seems to click with me, so far I'm up to learning about switch statements. A question I had is how similar is c# to C and Java?

    • @bitwize
      @bitwize 2 роки тому +3

      ​@@samuelj.s3955 C# is quite similar to Java, but there are some significant differences. They both have syntax derived from C, but semantically they are _very_ different. Both C# and Java are object-oriented languages that put objects front and center and come equipped with "garbage collectors" that handle deallocation of memory for you. With C, you have to think about allocating and releasing memory yourself, and it's much more low level.

  • @philtoa334
    @philtoa334 2 роки тому +1

    He 's Right : ) but sauf pour le C faut pas déconner avec ton rust prend le langage D sinon .

  • @renerebe
    @renerebe Рік тому

    who cares about Windows support, ..?

  • @GlennMartin
    @GlennMartin 2 роки тому +6

    Scala is a disaster but I don’t know if Scala 3 is any better. Seen projects come to a stall with the steep learning curve and slow compiler times. Rather Kotlin 100 times over.

  • @dmitriyobidin6049
    @dmitriyobidin6049 Рік тому +1

    Concise doesn't equal understandability.
    There are a lot of math notations that a concise, but to understand them fully you would have to read a 100 page doc.
    It would be interesting to see not only concise but also an understandable programming language.
    For me it's something like F#(ML family) or Crystal(Ruby-like with static typing and compiled). Haskell is not that easy to understand for typical software engineer.
    Go is easy to understand but tend to be too verbose. And tbh, most of the times i like it. If at some point V lang will go v1.0 that would an awesome lang as well.
    Multiple way to do 1 thing(like Scala) - is a plague in modern software development.

    • @aoeu256
      @aoeu256 6 місяців тому

      Well instead of writing code in text documents, you could make an IDE that lets you see the multiple different forms of code, like holding CTRL will show the types, ALT will show the code converted into combinators to eliminate all binding forms, and so on.

  • @codbaribeau
    @codbaribeau 2 роки тому +1

    Nothing on Holy C...
    Frigging rookies

  • @meditationsounds7208
    @meditationsounds7208 Рік тому +2

    If you read greek philosophers, the way of thinking, is like writing a code

    • @vincent10kd
      @vincent10kd Рік тому +3

      Thats because they're the originators of formal logic

  • @VasuRao-kc5ss
    @VasuRao-kc5ss 6 місяців тому

    Would be great if you brought Chris Rackauckas on! #suggestion

  • @nanthilrodriguez
    @nanthilrodriguez Рік тому

    Pathetic. Not one guest has mentioned APL, K, J, BQN, not even Forth.

  • @elkarion
    @elkarion 3 роки тому +3

    Jesus. Python, really!?

  • @JackyRogue
    @JackyRogue Рік тому +2

    Scratch is clearly the superior language

  • @adamdreier
    @adamdreier 2 роки тому +1

    Use Holy C very interesting language

  • @bocckoka
    @bocckoka 2 роки тому +3

    'some connection to understandable things'
    that hit hard, man

  • @krux02
    @krux02 Рік тому +1

    The problem with scala is, it has exceptionally long compile times (even can beat C++ in some cases), and it eats up all your memory. No matter how much RAM you have, scala will claim it.

    • @MrDejvidkit
      @MrDejvidkit Рік тому

      But you get other good things our of it. Also newer compiler are much better than old versions.

    • @krux02
      @krux02 Рік тому

      @@MrDejvidkit Compared to 2010 when I started Scala to today, I can say the problem as only become worse, not better. Maybe the compiler has marginally better performance. But it ist still orders of magnitude slower than e.g. Go. And at the same time, macros have been introduced in a way that secretly explode compile times and nobody sees where it is coming from. On top of that, many of the distinctive features that set scala apart from other languages in 2010, like pattern matching and good type inference, are now adopted into many other more mainstream languages as well. As much as I fell in love with scala in 2010, I can't recommend it today.

  • @miraclemaxicl
    @miraclemaxicl 3 роки тому +2

    Disney+ backend is based on Scala

  • @karter_devolidad
    @karter_devolidad 2 місяці тому

    "Go and Rust the two twins of doom." Absolutely

  • @falsedragon33
    @falsedragon33 Рік тому

    Ignorant question. they all do different things. The issues one would solve in python isn't the same as a compiled language. Python requires layers that aren't always there. How does one program a microprocessor with python without the lower layers existing? C is the better tool for hardware. If you ask this question, it just says you don't have a strong enough foundation to understand the answer. Let alone that the question is silly by nature. Much like asking if I should buy only regular screw drivers or phillips. it's also worth saying that object based programming doesn't change much. Same concepts, same design patterns. If you want to shine, learn the math you will need in programming. That's the one thing people that ask these questions can't seem to do.

  • @DrKavan
    @DrKavan Рік тому

    I was thinking about BASIC and Turbo Pascal. Am I too old?

  • @MrOpolo91
    @MrOpolo91 9 місяців тому

    Choosing a language depends much on the context… for software jobs its a good idea to go with javascript, java and python… these have stable libraries, large community, huge no of active devs and existing code bases… they would be hard to replace for many years to come..

  • @thehady1
    @thehady1 5 місяців тому

    C much better? He is old that's why he can't C

  • @viktorkadza
    @viktorkadza 2 роки тому +15

    I think C# is the most balanced syntax ,zen-like language. You can go OOP ,functional and even C++ like things with unsafe code.

    • @asdasddas100
      @asdasddas100 2 роки тому +3

      I've been thinking this for a while. It's easy to read and had gotten 100x easier to start with with the new changes

    • @RogueTravel
      @RogueTravel Рік тому

      It isn’t going to replace C, C++ or Rust though. It runs on a virtual machine

  • @Mercie22
    @Mercie22 Рік тому

    COBOL!
    I'mma just interpolate that here.
    Like I was meant to do.
    Har, הילל , הר