Rust is the WORST language to learn first feat. Teej DeVries | 042

Поделиться
HTML-код
  • Опубликовано: 22 дек 2024

Комментарии • 67

  • @SkinnyGeek_1010
    @SkinnyGeek_1010 10 месяцев назад +26

    Waiting TJs course on pragmatic functional programming with OCaml 🐫🔥

  • @addcoding8150
    @addcoding8150 10 месяцев назад +46

    I listened all the way to the end. I love the episode so much. TJ's so handsome and I want an OCaml course.

  • @dev.roysalazar
    @dev.roysalazar 6 месяцев назад +4

    I have been working on building a MacOS desktop app from scratch using only the lowest level apis provided by the OS, and let me tell you, it is a very slow process.
    I query the OS for a window canvas, the display refresh rate (so I can calculate the app frame rate), create a graphics pipeline in metal so I can do the graphics rendering in the GPU, etc. I have been working on this for months and I am still in a very early stage trying to implement font rendering using .ttf font format.
    I expect the project to require me to work on it for maybe 3 years or so before I can have anything that remotely resembles a "todo app", but in the process I believe I am gaining very deep knowledge of how things work under the hood :)

    • @Fracture1603
      @Fracture1603 2 дня назад

      I know it's been a while (6 months or so) but I am watching older videos on this channel and after reading this comment I wondered how you're progressing with this project? Sounds pretty cool, do you have the code in public somewhere? If not could it be something you might do? It sounds really interesting to me so I would love to see such a projects source as there isn't much out there for real bare bones macOS apps like there is bare bones Win32 Windows apps.

  • @Mglunafh
    @Mglunafh 10 месяцев назад +4

    My first language in the 8th grade of school was OCaml, then two years later we switched to Haskell. This language learning path gave me very unique perspectives and showed some really wonderful stuff. And of course I'll never forget the feeling when you suddenly start understanding some topic six months or a year after it has been taught to you 😂😂
    TJ, you are awesome, i hope you will find this message, the world needs to know about tail-recursive and mutually recursive functions!

  • @johnbruhling8018
    @johnbruhling8018 9 месяцев назад +18

    My first language is Rust and when I write in something else I find that I mostly am forced to think less critically about the code itself, because the language will allow for whatever except good ownership principles and I gotta loosen it up, and much more time debugging mystery shit that the borrow checker would have popped first-thing.

    • @hanseichel4327
      @hanseichel4327 7 месяцев назад +1

      Also started with Rust and have to say as a beginner i would much rather get detailled info on what is breaking and why than some other languages might provide. I really like Rust as a starting language giving rather deep feedback everytime i hit the enter on the cargo run and often shouting in my face for doing nooby errors.
      I'm now a year into a rather complex backend project and started out using rather high-levely frameworks to get the job done fast. As time went by and some knowledge accumulated, i now got my dependencies down from around 300 to less then 100, as more and more of my servers framework became code i actually wrote.
      So this aspect of having the high level being represented down to the "low" level (as userspace goes) in one codebase is also a great thing for gradually going deeper as you understand more.

  • @jeremiedubuis5058
    @jeremiedubuis5058 10 месяцев назад +10

    As a self taught dev, I feel like I often lack low level knowledge and this interests me a lot. However having worked with many people that went through university, actually learned some amount of low level and theory, I can tell you that formal knowledge really doesn't change the way you dev unless you care. It's not just knowing these things, it's caring to apply them.
    As far as recruitment goes, when I listen to people working at fang or stuff I feel like there are two different recruitement pools. Like these people behave like the average developper is way better than the devs you meet when recruiting for small anonymous companies. I very much agree with the point on the fundamentals, I just hired two relatively senior devs for typescript, these devs were Rust and C++ devs and never actually did any typescript because for me teaching syntax to someone who understands the metal is way easier than the reverse.

  • @mrepicairfryerenthusiast4982
    @mrepicairfryerenthusiast4982 7 месяцев назад +5

    I learned rust first and i gotta say once you understand the borrow checker, the language is so nice. Crates and the types feel very rewarding to use. I do feel like i am doing the programming thing backwards because rn I am trying to learn js and webdev

  • @willdurant141
    @willdurant141 10 месяцев назад +4

    The course you are talking is exactly the sort of thing i am looking for!

  • @janhorak5363
    @janhorak5363 9 месяцев назад +3

    I want a Ocaml course.

  • @johnathanrhoades7751
    @johnathanrhoades7751 6 месяцев назад

    I’m looking forward to this when it releases! Been loving the program so far.

  • @JLarky
    @JLarky 10 месяцев назад +6

    23:56 hey, what the hell man? 😂

    • @backendbanterfm
      @backendbanterfm  9 месяцев назад

      O.o

    • @SimGunther
      @SimGunther 9 месяцев назад

      ​@@backendbanterfmTeej's response is well put. If the compiler for a purely functional language is smart enough, it will resort to "mutable" algos for memory allocation/use under the hood, even though the engineer can't use those techniques directly.

  • @jalenh371
    @jalenh371 9 месяцев назад +1

    thanks for the great episode fellas. excited for the course

  • @Wilkbezstada
    @Wilkbezstada 9 месяцев назад +6

    But nvidia CEO Jensen said to not learn code.

    • @backendbanterfm
      @backendbanterfm  9 месяцев назад +11

      We don't like him

    • @Wilkbezstada
      @Wilkbezstada 9 месяцев назад +1

      I never owned nvidia products and never will. Specially now when he has some devolution syndromes advising people to stop thinking.

  • @TurtleKwitty
    @TurtleKwitty 7 месяцев назад +1

    "This needs to be in memory maybe I dont want ot load the entire databs and do this filtering on my side" shots fired at prisma XD

  • @brandonmansfield6570
    @brandonmansfield6570 10 месяцев назад +1

    Responding to minute 47.
    Cloud vCPUs be they in kub pods, or VM, or other container manager, are really slow. I can't exactly explain why, between lower Ghz due to power constraints per core in the datacenter, shared CPU via hyperthreading, and hypervisor overhead . There is some expected degradation.
    But the actual numbers I find when I test it out are abysmally low compared to where they should be. Even for accounting for all of the above. Cloud systems are just really slow.

    • @backendbanterfm
      @backendbanterfm  10 месяцев назад

      Yeah, all about that horizontal scale

    • @brandonmansfield6570
      @brandonmansfield6570 9 месяцев назад

      @@backendbanterfm
      Which is, very unfortunate. Vertical scaling is so much easier on system design. Horizontal scaling introduces more system complexity and constraints.

  • @josephp.3341
    @josephp.3341 10 месяцев назад +2

    OCaml course when? :)

  • @caseyknolla8419
    @caseyknolla8419 6 месяцев назад

    Fully agree with the value of learning memory management early. I think by learning C as my first language, I've kept those low level concepts in my head whenever I write code, and it has helped me always write better software regardless of language. Putting it in the middle of the curriculum (after python/javascript but before Go) seems perfect for the modern, self-driven developer.

  • @Twiddli
    @Twiddli 6 месяцев назад

    I listened all the way to the end. I love the episode so much. TJ's so handsome and I want an OCaml course!

  • @TheKennyWorld
    @TheKennyWorld 7 месяцев назад

    Is the course out?

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

    Still waiting for the course

  • @bigsnacks913
    @bigsnacks913 10 месяцев назад +6

    Learned Elixir first it's been interesting lol

    • @AJewFR0
      @AJewFR0 10 месяцев назад +2

      God bless you child lol

  • @ok-alarm
    @ok-alarm 10 месяцев назад +2

    my first language is JS then Python.. now I'm trying to learn Rust... I'm willing to learn C first if that helps learning Rust. I'm excited for the course

    • @AJewFR0
      @AJewFR0 10 месяцев назад +5

      you can learn C in a single day. It’s a very compact language. The point they are making is that you don’t understand the benefits of Rust until you have called Malloc and Free

    • @conorx3
      @conorx3 10 месяцев назад +3

      @@AJewFR0in 1 day is way too optimistic. C is actually pretty weird coming from a “it just works/get shit done” perspective. It takes time to understand pointers to pointers, but it is probably the best language for getting into low-level stuff with lots of online resources.

  • @marcusrehn6915
    @marcusrehn6915 10 месяцев назад

    I'd say that functional languages care a lot about performance and efficiency where they can. Structural charing of data structures is freaking fantastic. Another surprisingly huge gain is that immutability makes equality checking really freaking cheap, because they are just identity checks.

  • @AlexandreJasmin
    @AlexandreJasmin 10 месяцев назад +1

    Conan is the best attempt at a C packager manager so far. Though C/C++ dependency management is still very messy.

  • @user-qr4jf4tv2x
    @user-qr4jf4tv2x 9 месяцев назад

    i want ocaml but i want the curl audio book more

  • @pushyoch.8252
    @pushyoch.8252 6 месяцев назад

    I think for the average person any of the modern languages are good enough to get you started,
    but at some point everyone should learn C (the basics of it then mess around with pointers, memory management and implementing data structures at a low level).
    Then only you will appreciate other languages' design decisions, e.g. why Java and C# uses VMs for runtime.

  • @MARLENELASSEINPHOTOMACHEN
    @MARLENELASSEINPHOTOMACHEN 10 месяцев назад +3

    I loved the episode so much, TJ's so handsome and I want an OCaml course who cares about memory i have 64 whole GBs i never free i just restart

  • @ryanwilliams5499
    @ryanwilliams5499 10 месяцев назад

    While this is not so much about backend the banter on this is *Chef's Kiss* Perfection

  • @shorinbonsai
    @shorinbonsai 9 месяцев назад +1

    Rust and OCaml when?

  • @Tigregalis
    @Tigregalis 9 месяцев назад +1

    wtf I'm playing dota 2 as this opening plays and I'm wondering if I hallucinated it and had to watch it back

  • @TudorLuca
    @TudorLuca 9 месяцев назад +1

    I listened.

  • @leptanian
    @leptanian 9 месяцев назад +1

    I listened all the way to the end and TJ's so handsome I need some of that oh camel my camel in my life.

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

    …. 😂I want an OCaml course

  • @user-qr4jf4tv2x
    @user-qr4jf4tv2x 9 месяцев назад

    rust is my 10th programming language that i wish was at least my 3rd just behind c# javascript

  • @alexpyattaev
    @alexpyattaev 6 месяцев назад +1

    You guys underestimate the value of good error messages. What rust does really well is explaining why your code is shit, rather than just segfaulting or spitting out a million lines of java tracebacks / c++ template errors.

  • @ryanwilliams5499
    @ryanwilliams5499 9 месяцев назад +3

    Omg I love this so much, something something, TJ is conventionally attractive and um Dota 2 Dota 2 Ocaml my caml?

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

    Variables in Rust are called bindings.

    • @danikvitek6845
      @danikvitek6845 7 месяцев назад

      This is probably for any language. I'd say, a variable is a name, that has a value binded to it. And to be more precise, the variable allows for changes of the binding (not the binded value). While constants don't allow for changes of the binding

  • @kahnfatman
    @kahnfatman 6 месяцев назад

    Prime mentioned! You view baiters!

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

    'PromoSM' 💖

  • @deadchannel8431
    @deadchannel8431 6 месяцев назад

    Oh I thought you were the same person…

  • @joseoncrack
    @joseoncrack 9 месяцев назад +1

    It shouldn't be your last language either.

  • @lucaxtshotting2378
    @lucaxtshotting2378 6 месяцев назад

    ugh I really don't like what ure saying. I won't listen anymore. 50% of you seem to be pushing the discurse that engineers now a days need to know about computers (and then kind of back off and say that embebed systems jobs exist) The other 50% does the same but also seems to not know much about computer science.
    Even if both of you showed huge control of what ure talking about, Ive never gone "oooh, I get it I don't have enough memory in production" in real life. What stretch

    • @lucaxtshotting2378
      @lucaxtshotting2378 6 месяцев назад

      59:40 shows you don't even believe it. And look I'm a real engineer, not a community college one. A European one, but yeah. You need to pass HR and then just be smart. Its not fundamentals, it's not willing to learn (you need to make up your mind), its just showing you are smart, if you are a junior.

  • @yuridelossantos569
    @yuridelossantos569 9 месяцев назад +1

    you're just imposing limitation to others. just learn any programming languages you want and enjoy it.

  • @irayzen9847
    @irayzen9847 9 месяцев назад +2

    I listened all the way to the end. I love the episode so much. TJ's so handsome and I want an OCaml course.

  • @nyanray
    @nyanray 6 месяцев назад

    I listened all the way to the end. I love the episode so much. TJ's so handsome and I want an OCaml course.