I am a retired computer professional, with degrees in physics and math. I have written software and run software projects for 50 years at places like BBN and MIT in everything from assembly language to Go and Haskell, with a lot of Lisp, Scheme, C, Tcl, and Python in the mix. My point is that I’m not a novice. Rust looks to me like a great concept. But … you knew there was a ‘but’ … the documentation, to which obvious effort has been devoted, is just not nearly good enough. For example, it is just about impossible to find how to get Cargo to link a given native library at a certain location. In other words, how to control the generated ld -l and -L options. There is much else that is like this, but it would be a major task in itself to write it all down.
I think the people who devote themselves to documenting Rust need to look at how both Go and Haskell have been documented. Neither are small, simple languages, especially not Haskell, that could be fully documented with a slim volume like K&R. And yet they both can be learned without undue frustration, because you can find what you need to know. I cannot say the same of Rust. I am repeatedly stymied by either not being able to find the information I need or finding it written in a language that looks like English but is extremely difficult to understand. Paul Hudak’s not so “Gentle” introduction to Haskell was and is not a problem for me; the Rust documentation is.