6 ms·
To me, listing dozens of resources to learn a new language doesn't help. On the contrary, it makes it even more overwhelming. I'd rather have one or two recomme
by khaledh 6y ago
To me, listing dozens of resources to learn a new language doesn't help. On the contrary, it makes it even more overwhelming. I'd rather have one or two recommendations (maybe one for beginners and one for experienced programmers).
Besides, most of those resources (in fact most other languages resources too) are concept-driven, not problem-driven. To paraphrase a comment I made a while ago on a similar topic [1]:
I wish the style of teaching complex programming topics walked me through the pain of making something work, exploring a few alternative solutions, showing the tradeoffs, and then after the pain has been experienced by the learner, a proper solution is finally introduced and recommended. IMO it's a much more powerful technique for teaching if you walk the learner through the pains first, then arrive at a solution, and tell them that "you've just [discovered how ownership works in rust]"; i.e. the concept is given a name at the _very end_, not defined at the beginning as a solution to a pain the learner never experienced. Unfortunately very few books/tutorials take this approach.
[1] https://news.ycombinator.com/item?id=19010428 https://news.ycombinator.com/item?id=19010428
- brundolf 6y agoMy favorite Rust resource takes exactly this approach! https://rust-unofficial.github.io/too-many-lists/ https://rust-unofficial.github.io/too-many-lists/ > It should be noted that the authentic Rust learning experience involves writing code, having the compiler scream at you, and trying to figure out what the heck that means. I will be carefully ensuring that this occurs as frequently as possible. Learning to read and understand Rust's generally excellent compiler errors and documentation is incredibly important to being a productive Rust programmer.
- khaledh 6y agoThanks. That looks promising; I'll give it a try.