Hi Tim! Great talk. I am also one of those who attempted to apply other programming patterns and got bit by the borrow checker. Which is a shame because I really wanted to like Rust with a Scala background but it hurt my head 😅. Is there any good repos or guides for patterns in Rust?
Hey, Tim! Great talk. I just started learning Rust myself and it's always exciting to see people who know way more than me about it. Gives me a goal to aim for. Although I just started I hope I can get a job within a year with this language. Just trying to get better. Onward to projects! :)
@@aftalavera I hope so! It's important that technology is not seen as politically neutral. Programming languages are social constructions and are subject to social pressure.
@@timClicks Hi Tim, amazing talk. I have a question for you. Will there be jobs in 2/3 years in rust. Im just stuck between choosing a language to learn. C++ or rust.
It's almost like a Stockholm syndrome or buying something really nice that doesn't suit you at all. You just keep convincing yourself it's nice until you believe it. Or in this case until you learn to use it so that you don't get migraine anymore from trying to make simple things work.
Good pointers. I very much agree with the 55% leaving because it's too hard and time consuming to learn. Like the foundation of writing simple programs is taking a user input, doing a little thing, for example a math operation on a number and print the result. Those few lines get really ugly to write. I really like the language, but despite the learning material being really good, something like rustlings being brilliant, there's never an example of a super common application of use that just doesn't compile no matter how you try to write it. It's just a really painful experience. And like 50% the experience of rustlings for me has been asking what it wants me to do and how, because it has an idea of what it wants to be done and what way - I might be able to easily write the functionality if I rewrote it, but that's not the point of the learning experience. And the hints often being something totally obvious that doesn't help at all solving the syntax, like you know what you want to do and the documentation or the rust book example doesn't help with that. Then you find that ok you just didn't know of the method or how to apply that method or what it does, what the rules are. So basically you learn by banging your head to the wall, then looking up someone's solution and wondering how you were supposed to know that. At times rustlings shows you a piece of code and then in the next task you need to use that idea or example to do something and it works out great. But often times it's totally unfamiliar code, code style and methods used and you're just staring at it thinking "I don't even know what's happening in the code, how should I be able to modify it to fix or change some functionality". And like a lot of Rust becomes "you have to know these magic words to do this functionality, but if you use this magic word, you have to use these two additional magic words, and if you use that magic word, you have to use those magic words" and you end up with like 4 additional magic words to get a simple thing done. And sometimes it's just completely beyond my understanding why you even need to word it out. Like I think iterating through a vector you're instructed to do vec.iter().map(|v| blah blah).collect() or so. And I just wanted to do something like for values in vec: value*2; And if you have to always do the |v|, what's the meaning of cluttering with that, why doesn't .map() take care of that automatically? Probably something beyond my understanding that would answer this with "oh, obviously". But I initially thought c++ was a bit cumbersome with syntax, but now I feel c++ is very hands off compact writing. And understandable in what the heck the program is actually doing, not just magical words and symbols. And compiling errors because you didn't specify the difference between &str and String and you forgot that the specific method changes it from String to &str while the other method changes it from &str to String. And what's wrong with you when you think String::from("something") is the most reasonable syntax? And don't get me started on that previously mentioned thing of taking a user input and then converting it into a number with all the error handling and matching and whatnot. One thing I totally couldn't understand was
that little "whoops" moment at 10:21 ..."hope your text is smaller than 4GB, and not cause OOB" .....unfortunate presentation glitch after the proud introduction 10min earlier that Rust mitigates OOB issues 😕
I have to use rust at work, due to poor decisions made by 3rd parties. It’s quite a complex language, but still a reasonably good fit for some tasks, as long as you stay inside it’s rather horrible constraints. Go is generally more productive for the same task, although way less efficient than well designed rust code. Zig is the way to go .. faster and leaner programs than the same thing in rust, and much more productive if you know what you are doing. Zig is a few years off a proper 1.0 release yet, but still, it’s already a joy to use. I can’t think of a single reason why I would personally choose Rust for any new code, given that Go or Zig are both options on the table. Actually wrong - the only reason I would “choose” rust is because the client made a mistake mandating Rust, and they are willing to pay absurd rates to back up their bad decisions rather than admitting they were wrong
Hi UA-cam, speaker here! 👋 I am happy to answer any questions 😊
Hi Tim! Great talk. I am also one of those who attempted to apply other programming patterns and got bit by the borrow checker. Which is a shame because I really wanted to like Rust with a Scala background but it hurt my head 😅. Is there any good repos or guides for patterns in Rust?
Hey, Tim! Great talk. I just started learning Rust myself and it's always exciting to see people who know way more than me about it. Gives me a goal to aim for. Although I just started I hope I can get a job within a year with this language. Just trying to get better. Onward to projects! :)
Is Rust itself a virtue signal?
@@aftalavera I hope so! It's important that technology is not seen as politically neutral. Programming languages are social constructions and are subject to social pressure.
@@timClicks Hi Tim, amazing talk. I have a question for you. Will there be jobs in 2/3 years in rust. Im just stuck between choosing a language to learn. C++ or rust.
I know Rust for 2 years and wrote 2 little desktop cli tools. And still watch intros to the language.
I am addicted to Rust and can't stop learning it even though its hard. Its that good!!
the more i learn rust the more i love it and understand what it offers and the elegance of the language despite the syntax
It's almost like a Stockholm syndrome or buying something really nice that doesn't suit you at all. You just keep convincing yourself it's nice until you believe it. Or in this case until you learn to use it so that you don't get migraine anymore from trying to make simple things work.
Just pick the right problem and Rust is always the answer
Good pointers. I very much agree with the 55% leaving because it's too hard and time consuming to learn. Like the foundation of writing simple programs is taking a user input, doing a little thing, for example a math operation on a number and print the result. Those few lines get really ugly to write. I really like the language, but despite the learning material being really good, something like rustlings being brilliant, there's never an example of a super common application of use that just doesn't compile no matter how you try to write it. It's just a really painful experience.
And like 50% the experience of rustlings for me has been asking what it wants me to do and how, because it has an idea of what it wants to be done and what way - I might be able to easily write the functionality if I rewrote it, but that's not the point of the learning experience. And the hints often being something totally obvious that doesn't help at all solving the syntax, like you know what you want to do and the documentation or the rust book example doesn't help with that. Then you find that ok you just didn't know of the method or how to apply that method or what it does, what the rules are.
So basically you learn by banging your head to the wall, then looking up someone's solution and wondering how you were supposed to know that. At times rustlings shows you a piece of code and then in the next task you need to use that idea or example to do something and it works out great. But often times it's totally unfamiliar code, code style and methods used and you're just staring at it thinking "I don't even know what's happening in the code, how should I be able to modify it to fix or change some functionality".
And like a lot of Rust becomes "you have to know these magic words to do this functionality, but if you use this magic word, you have to use these two additional magic words, and if you use that magic word, you have to use those magic words" and you end up with like 4 additional magic words to get a simple thing done. And sometimes it's just completely beyond my understanding why you even need to word it out. Like I think iterating through a vector you're instructed to do vec.iter().map(|v| blah blah).collect() or so. And I just wanted to do something like for values in vec: value*2; And if you have to always do the |v|, what's the meaning of cluttering with that, why doesn't .map() take care of that automatically? Probably something beyond my understanding that would answer this with "oh, obviously". But I initially thought c++ was a bit cumbersome with syntax, but now I feel c++ is very hands off compact writing. And understandable in what the heck the program is actually doing, not just magical words and symbols. And compiling errors because you didn't specify the difference between &str and String and you forgot that the specific method changes it from String to &str while the other method changes it from &str to String. And what's wrong with you when you think String::from("something") is the most reasonable syntax? And don't get me started on that previously mentioned thing of taking a user input and then converting it into a number with all the error handling and matching and whatnot. One thing I totally couldn't understand was
great intro to the language, thanks for sharing
Am glad that you liked it!
that little "whoops" moment at 10:21 ..."hope your text is smaller than 4GB, and not cause OOB" .....unfortunate presentation glitch after the proud introduction 10min earlier that Rust mitigates OOB issues 😕
Great talk!
14:50, now I know where the Victor Vector idea comes from
When to Choose R**t
Nice you won't get sued now hahaha 🥴
I didn't understand
@@wewe-fx6unlookup "rust foundation drama"
Choose Rust when you can.
Please choose colors regarding colorblind people too, reading the code is a disaster
I have to use rust at work, due to poor decisions made by 3rd parties.
It’s quite a complex language, but still a reasonably good fit for some tasks, as long as you stay inside it’s rather horrible constraints.
Go is generally more productive for the same task, although way less efficient than well designed rust code.
Zig is the way to go .. faster and leaner programs than the same thing in rust, and much more productive if you know what you are doing.
Zig is a few years off a proper 1.0 release yet, but still, it’s already a joy to use.
I can’t think of a single reason why I would personally choose Rust for any new code, given that Go or Zig are both options on the table.
Actually wrong - the only reason I would “choose” rust is because the client made a mistake mandating Rust, and they are willing to pay absurd rates to back up their bad decisions rather than admitting they were wrong
amen brother, zig is truly amazing
I bought a Rust book. I quit learning Rust immediately after and bought a Go book.
which go book did you get?
That's OK. One can learn Go in no time. Then you can get back to your Rust studies. I promise you it's a lot more interesting and inspiring.
Never
Pack it up bois... This guy says to never use Rust.