Is Rust suited as first language in 2019?

A friend of mine wants to get into programming and asked me for startup resources. Is Rust a good deal at the current time? I know there are a few similar topics, but there are a few years old and many things has changed.

The doc page assumes a basic programming experience:

All of these resources assume that you have programmed before, but not in any specific language

Is Rust suitable for him?
Are there any good beginner resources to manage the first steps as a newbie?

Rust will teach many of the bare concepts of programming, and make them clear. This can lead to a very steep learning curve, which may be viewed as undesirable, in which case perhaps Rust isn't totally the best language to start with. But on the other hand, rust is a low-level language with high-level abstractions, making it easier to learn, while still preserving performance. I'd recommend learning another c-style language, probably C# or Java to at least some extent, which can make certain things easy.

I know it may seem like I'm selling out rust, but to be completely honest, rust is the best language I've seen/interacted with, it is beautifully designed, and almost as fast as C/C++. It just may not be the best language to start at 0 from, and as you mentioned its resources are aimed at developers from other languages.

1 Like

It depends on what kind of student you have. Is it someone looking to write programs or someone wanting to learn the concepts of computer science? For the latter, to my mind there's nothing better than SICP (Structure and Interpretation of Computer Programs) by Sussman and Adelson. I didn't really understand computing until I learned Scheme from that book.

I recommend a scripting language for beginning programmers. There is typically less cruft to get in the way, and having a repl is a huge help. Back in the olden days, circa 1970, we taught our students Basic for two weeks and then switched them to Fortran. That worked much better than when we started them with Fortran. Today, I recommend Python for general programming and Matlab for numerical types.

6 Likes

I also agree that Rust is not a good language to start from. I am teaching myself Rust, and if I had to learn programming from scratch while also dealing with lifetimes, etc, it would be incredibly difficult/discouragement. I would recommend Swift. It is relatively easy to learn, statically typed, and can scale up to build large applications.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.