To appreciate the borrow checker, one must first fear the segfault.
D
dimitrios_bonbach1 year, 9 months ago
"That's it at a high level!"| ermmmm........ Did I subscribe to the wrong channel????/???????/???
kristen_brooks1 year, 9 months ago
You can't spell fRUSTration without RUST.
M
marthahaven41 year, 9 months ago
So true. You must understand the problem to appreciate the solution. Screaming at the borrow checker is like screaming at a handrail for getting in your way
G
grégoire_louis1 year, 9 months ago
I found that learning rust after knowing a bit of c++ really helped me understand how to do ownership and allocation correctly in c++
S
stéphane.perrin1 year, 9 months ago
Never imagined c would be a beginner friendly language
E
erick_pimenta1 year, 9 months ago
I really disagree. Rust's error handling is a way of discovery. You can write C code that will error completely silently, and never know that it's wrong - but one day it might just not work properly. Rust prevents those mistakes and gives you a foundation to begin asking the "why." There's a thousand reasons your C code will segfault, but there's only half a dozen errors you'll run into in Rust before you get the concept down and write safer code.
ross_shepherd1 year, 9 months ago
My first language was C++, it taught me to properly break down things into functions and minimize excessive calls of said functions, then I learned the concept of mixins in Minecraft Java, both of these helped more than I ever expected in making performant code that is harder to break.
christine_woods1 year, 9 months ago
I would recommend the following order to build up basic knowledge: 1. A little bit of a simple language like Python, to learn the basics of variables, conditions, loops, functions, etc. 2. A little bit of C, to learn pointers, memory management, structs, etc. 3. A lot of any GC'ed language, to learn higher level features like classes, streams, currying, and to do some bigger projects. 4. You can move on to any language now, or you can specifically go for a low level language and round out your knowledge with things you need for systems-level or embedded programming.
V
victoire.lucas1 year, 9 months ago
I think Go would be a great entry to lower level languages. It has pointers while still being safe.
M
maria_evans1 year, 9 months ago
IMO, it's completely fine to learn Rust after something like C#, Java, or Python, which is what I did. If one already knows the essentials of programming, then they can understand how to make something in Rust. It's important to be aware of these low level concepts, but that's something that the student can learn along the way.
utkarsh.kalita1 year, 7 months ago
if i could push back on this conceptually, why can't these things just be taught while learning rust? it's like saying a civil engineer should first build bridges using shoddy materials to experience what bridge failure is like before they should learn how to build bridges out of proper materials.
B
brunamacedo6339 months, 2 weeks ago
forgetting which arrow is the correct one is so real, especially after switching between languages
P
pietrawhisper211 year, 7 months ago
The question is whether it’s like having your first time driving be in an empty parking lot so you don’t have to think about the traffic rules or whether it’s like having your first drive be without a seat belt.
A
ayushman.chaudry1 year, 2 months ago
Doesnt matter. Learn whatever at some point you'll be good at it and gain a lot of understanding of if you ask yourself the right questions
keith.mitchell1 year, 9 months ago
This guy walks into a surgery: You guys should learn C before doing this transplant 🤓☝️
steven.gonzalez1 year, 9 months ago
The Font Name is Agave nerd font
victoria.solano1 year, 6 months ago
I am an expert at Fortran and Python, and have been learning Rust for the last year. It's definitely been a challenging transition. The more I learn, the more I like but I also realized how hard it is for me to develop in it.
ekani_goswami1 year, 7 months ago
I started with VB which was very helpful. I was able to learn on the fundamentals of programming without worrying about dofficult syntax. Then go from VB to C# which isnt a crazy leap. Once you learn C# you can teach yourself most languages.
P
pénélopevaleon8310 months, 3 weeks ago
I definitely see your point. I would argue though that Rust's ownership/borrowing still teaches memory handling concepts sufficiently for new developers without the headache of segfaults in C/C++, but also without the hand holding of managed languages like Java/C#
To appreciate the borrow checker, one must first fear the segfault.
"That's it at a high level!"| ermmmm........ Did I subscribe to the wrong channel????/???????/???
You can't spell fRUSTration without RUST.
So true. You must understand the problem to appreciate the solution. Screaming at the borrow checker is like screaming at a handrail for getting in your way
I found that learning rust after knowing a bit of c++ really helped me understand how to do ownership and allocation correctly in c++
Never imagined c would be a beginner friendly language
I really disagree. Rust's error handling is a way of discovery. You can write C code that will error completely silently, and never know that it's wrong - but one day it might just not work properly. Rust prevents those mistakes and gives you a foundation to begin asking the "why." There's a thousand reasons your C code will segfault, but there's only half a dozen errors you'll run into in Rust before you get the concept down and write safer code.
My first language was C++, it taught me to properly break down things into functions and minimize excessive calls of said functions, then I learned the concept of mixins in Minecraft Java, both of these helped more than I ever expected in making performant code that is harder to break.
I would recommend the following order to build up basic knowledge: 1. A little bit of a simple language like Python, to learn the basics of variables, conditions, loops, functions, etc. 2. A little bit of C, to learn pointers, memory management, structs, etc. 3. A lot of any GC'ed language, to learn higher level features like classes, streams, currying, and to do some bigger projects. 4. You can move on to any language now, or you can specifically go for a low level language and round out your knowledge with things you need for systems-level or embedded programming.
I think Go would be a great entry to lower level languages. It has pointers while still being safe.
IMO, it's completely fine to learn Rust after something like C#, Java, or Python, which is what I did. If one already knows the essentials of programming, then they can understand how to make something in Rust. It's important to be aware of these low level concepts, but that's something that the student can learn along the way.
if i could push back on this conceptually, why can't these things just be taught while learning rust? it's like saying a civil engineer should first build bridges using shoddy materials to experience what bridge failure is like before they should learn how to build bridges out of proper materials.
forgetting which arrow is the correct one is so real, especially after switching between languages
The question is whether it’s like having your first time driving be in an empty parking lot so you don’t have to think about the traffic rules or whether it’s like having your first drive be without a seat belt.
Doesnt matter. Learn whatever at some point you'll be good at it and gain a lot of understanding of if you ask yourself the right questions
This guy walks into a surgery: You guys should learn C before doing this transplant 🤓☝️
The Font Name is Agave nerd font
I am an expert at Fortran and Python, and have been learning Rust for the last year. It's definitely been a challenging transition. The more I learn, the more I like but I also realized how hard it is for me to develop in it.
I started with VB which was very helpful. I was able to learn on the fundamentals of programming without worrying about dofficult syntax. Then go from VB to C# which isnt a crazy leap. Once you learn C# you can teach yourself most languages.
I definitely see your point. I would argue though that Rust's ownership/borrowing still teaches memory handling concepts sufficiently for new developers without the headache of segfaults in C/C++, but also without the hand holding of managed languages like Java/C#