Learn Rust as a 1st Lang

I am still weary of claims that Rust is difficult for a first-time programmer. Many useful programs can be written without using any of the difficult parts of the language at all. These tools will eventually be needed, but by then a beginner would have graduated to an intermediate level programmer.

There is a book I always recommend when this question comes up: Introduction - Easy Rust. The reason for my recommendation is because it teaches the language intuitively, rather than assuming previous experience or a background in type theory. It is the perfect introduction for first-time programmers, IMHO.

The author also has a new book, but I haven't read it: Learn Rust in a Month of Lunches.

Compared to other languages, the complete syntactic and feature space is on par with other popular languages. You can build the same trivially useful programs in JavaScript without ever getting into insignificant details like ECMAScript version differences, or generators, or async/await, or functional programming. JavaScript supports all of these features (and so much more), but the majority of the language doesn't have to be learned by beginners. It is the same with Rust.

My gut feeling is that most of the "steep learning curve" reports are from people jumping into the deep end without first learning how to swim. I can only assume that because they already know another language, that gives them a false sense of confidence that they can easily learn any language.

In my experience, that has never been the case. Trying to learn Python after JavaScript was a huge pain. Trying to learn Clojure after C was even worse. Very few assembly languages share anything in common, and after the first half dozen you'll be well aware that skills acquired for one architecture do not readily transfer to others. Don't even get me started on Verilog or VHDL.

So yes, Rust is a good first language. Just humble yourself and remember that every language will be your first language.

4 Likes