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

  Рет қаралды 13,244

Backend Banter

Backend Banter

Күн бұрын

In today's episode, we bring back Teej DeVries, the first guest ever on our podcast! Today we are discussing Teej's new course on Boot.dev on Memory Management. In this talk, we discuss the importance of memory, why Go is a C-programmer minded language, garbage collectors, among other technical topics. We also talk about why understanding the fundamentals in crucial in helping you increase your learning ability, how different it is hiring juniors and seniors and why being curious gives you the advantage over everyone else.
Learn back-end development - boot.dev
Listen on your favorite podcast player: www.backendbanter.fm
Teej's Twitter: / teej_dv
Teej's Channel: ‪@teej_dv‬
Timestamps:
00:00 Introduction
00:57 Teej will have a course on Boot.dev!
01:35 Why Memory Management is so important
05:17 Go is a C-programmer minded language
07:00 25% off on boot.dev!
07:22 How far in the curriculum will Teej's course be?
09:13 Should you learn Rust or C first?
12:43 Dropping out of college
13:49 You should know WHY you're doing something
15:29 Self motivated learning
18:52 Internal Boot.dev tooling for this course
21:59 OCamls' garbage collector
23:55 Functional language, performance and immutability constraints
30:24 Roc programming language
32:42 Wasm (WebAssembly) vs Machine Code
36:07 C's Standard Library vs Go's Standard Library
37:01 Installing dependencies
41:09 C as an educational tool
43:27 You have to think when using C
45:42 Enterprise machines are weaker compared to local machines
47:43 Why this course is before the Job Search chapter
49:44 Being curious gives you the advantage
51:16 Every program uses memory, so we should have at least some level of understanding about it
54:28 Just being able to speak like an engineer goes a long way
57:14 There are still a ton of jobs that involve embedded systems, not just WebDev
01:00:13 Be eager to learn
01:01:51 Hiring Seniors vs Hiring Juniors
01:02:50 You learn better if you understand fundamentals
01:04:10 Analogy to Dota 2
01:08:54 Where to find Teej
Like & subscribe for the algo if you enjoyed the video!

Пікірлер: 64
@addcoding8150
@addcoding8150 4 ай бұрын
I listened all the way to the end. I love the episode so much. TJ's so handsome and I want an OCaml course.
@SkinnyGeek_1010
@SkinnyGeek_1010 4 ай бұрын
Waiting TJs course on pragmatic functional programming with OCaml 🐫🔥
@jeremiedubuis5058
@jeremiedubuis5058 4 ай бұрын
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.
@johnbruhling8018
@johnbruhling8018 4 ай бұрын
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 Ай бұрын
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.
@mrepicairfryerenthusiast4982
@mrepicairfryerenthusiast4982 Ай бұрын
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
@Mglunafh
@Mglunafh 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!
@dev.roysalazar
@dev.roysalazar 29 күн бұрын
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 :)
@caseyknolla8419
@caseyknolla8419 21 күн бұрын
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.
@willdurant141
@willdurant141 4 ай бұрын
The course you are talking is exactly the sort of thing i am looking for!
@backendbanterfm
@backendbanterfm 4 ай бұрын
Yesss
@johnathanrhoades7751
@johnathanrhoades7751 18 күн бұрын
I’m looking forward to this when it releases! Been loving the program so far.
@TurtleKwitty
@TurtleKwitty Ай бұрын
"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
@TJackson736
@TJackson736 20 күн бұрын
HDF5 weeping
@Wilkbezstada
@Wilkbezstada 4 ай бұрын
But nvidia CEO Jensen said to not learn code.
@backendbanterfm
@backendbanterfm 4 ай бұрын
We don't like him
@Wilkbezstada
@Wilkbezstada 4 ай бұрын
I never owned nvidia products and never will. Specially now when he has some devolution syndromes advising people to stop thinking.
@jalenh371
@jalenh371 4 ай бұрын
thanks for the great episode fellas. excited for the course
@backendbanterfm
@backendbanterfm 4 ай бұрын
You bet!
@Twiddli
@Twiddli 23 күн бұрын
I listened all the way to the end. I love the episode so much. TJ's so handsome and I want an OCaml course!
@janhorak5363
@janhorak5363 3 ай бұрын
I want a Ocaml course.
@JLarky
@JLarky 4 ай бұрын
23:56 hey, what the hell man? 😂
@backendbanterfm
@backendbanterfm 4 ай бұрын
O.o
@SimGunther
@SimGunther 3 ай бұрын
​@@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.
@bigsnacks913
@bigsnacks913 4 ай бұрын
Learned Elixir first it's been interesting lol
@AJewFR0
@AJewFR0 4 ай бұрын
God bless you child lol
@ryanwilliams5499
@ryanwilliams5499 4 ай бұрын
While this is not so much about backend the banter on this is *Chef's Kiss* Perfection
@pushyoch.8252
@pushyoch.8252 16 күн бұрын
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.
@TudorLuca
@TudorLuca 4 ай бұрын
I listened.
@josephp.3341
@josephp.3341 4 ай бұрын
OCaml course when? :)
@AlexandreJasmin
@AlexandreJasmin 4 ай бұрын
Conan is the best attempt at a C packager manager so far. Though C/C++ dependency management is still very messy.
@TheKennyWorld
@TheKennyWorld Ай бұрын
Is the course out?
@marcusrehn6915
@marcusrehn6915 4 ай бұрын
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.
@brandonmansfield6570
@brandonmansfield6570 4 ай бұрын
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 4 ай бұрын
Yeah, all about that horizontal scale
@brandonmansfield6570
@brandonmansfield6570 4 ай бұрын
@@backendbanterfm Which is, very unfortunate. Vertical scaling is so much easier on system design. Horizontal scaling introduces more system complexity and constraints.
@user-qr4jf4tv2x
@user-qr4jf4tv2x 3 ай бұрын
i want ocaml but i want the curl audio book more
@riigel
@riigel 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
@@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.
@leptanian
@leptanian 4 ай бұрын
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.
@MARLENELASSEINPHOTOMACHEN
@MARLENELASSEINPHOTOMACHEN 4 ай бұрын
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
@backendbanterfm
@backendbanterfm 4 ай бұрын
Good lookin dude for sure
@ryanwilliams5499
@ryanwilliams5499 4 ай бұрын
Omg I love this so much, something something, TJ is conventionally attractive and um Dota 2 Dota 2 Ocaml my caml?
@backendbanterfm
@backendbanterfm 4 ай бұрын
Correct
@shorinbonsai
@shorinbonsai 3 ай бұрын
Rust and OCaml when?
@Tigregalis
@Tigregalis 3 ай бұрын
wtf I'm playing dota 2 as this opening plays and I'm wondering if I hallucinated it and had to watch it back
@user-qr4jf4tv2x
@user-qr4jf4tv2x 3 ай бұрын
rust is my 10th programming language that i wish was at least my 3rd just behind c# javascript
@kahnfatman
@kahnfatman 11 күн бұрын
Prime mentioned! You view baiters!
@celestialbeing4767
@celestialbeing4767 2 ай бұрын
Variables in Rust are called bindings.
@danikvitek6845
@danikvitek6845 Ай бұрын
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
@deadchannel8431
@deadchannel8431 18 күн бұрын
Oh I thought you were the same person…
@alexpyattaev
@alexpyattaev 23 күн бұрын
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.
@astridmarley5072
@astridmarley5072 2 ай бұрын
'PromoSM' 💖
@joseoncrack
@joseoncrack 3 ай бұрын
It shouldn't be your last language either.
@lucaxtshotting2378
@lucaxtshotting2378 21 күн бұрын
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 20 күн бұрын
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.
@BUY_YOUTUB_VIEWS_d125
@BUY_YOUTUB_VIEWS_d125 4 ай бұрын
his video is really chill
@yuridelossantos569
@yuridelossantos569 4 ай бұрын
you're just imposing limitation to others. just learn any programming languages you want and enjoy it.
@backendbanterfm
@backendbanterfm 4 ай бұрын
Waaa?
@irayzen9847
@irayzen9847 3 ай бұрын
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 19 күн бұрын
I listened all the way to the end. I love the episode so much. TJ's so handsome and I want an OCaml course.
Nuxt.js is better than Next.js with Daniel Roe | 043
1:06:21
Backend Banter
Рет қаралды 4,2 М.
Is Python even useful? Debate with Dr. Michael Green | 016
54:24
Backend Banter
Рет қаралды 4 М.
OMG🤪 #tiktok #shorts #potapova_blog
00:50
Potapova_blog
Рет қаралды 17 МЛН
Always be more smart #shorts
00:32
Jin and Hattie
Рет қаралды 33 МЛН
Каха ограбил банк
01:00
К-Media
Рет қаралды 10 МЛН
Maybe Programmers are Just Bad feat. Casey Muratori | 056
1:17:48
Backend Banter
Рет қаралды 48 М.
Building Better CLI Tools with The Primeagen | Backend Banter 014
1:05:53
Rust and RAII Memory Management - Computerphile
24:22
Computerphile
Рет қаралды 217 М.
Your command line sucks feat. Bashbunni | 048
49:54
Backend Banter
Рет қаралды 20 М.
Code Review: CPP
12:29
TheVimeagen
Рет қаралды 49 М.
Async Rust Is A Bad Language | Prime Reacts
28:46
ThePrimeTime
Рет қаралды 88 М.
Rust Functions Are Weird (But Be Glad)
19:52
Logan Smith
Рет қаралды 128 М.
I'm Coming Around To Go...
21:33
Theo - t3․gg
Рет қаралды 102 М.
Asus  VivoBook Винда за 8 часов!
1:00
Sergey Delaisy
Рет қаралды 1,1 МЛН
How To Unlock Your iphone With Your Voice
0:34
요루퐁 yorupong
Рет қаралды 27 МЛН
Ждёшь обновление IOS 18? #ios #ios18 #айоэс #apple #iphone #айфон
0:57