Then there's the problem of where to put the lifetime parameters.
Then there's the problem of where to put the lifetime parameters.
Those are really common terms which have existed long before Rust though. And if you don't know them already, they are easily googleable. The documentation also assumes the reader know what heap and stack are but surprisingly (not) it doesn't bother you.
> The compiler has opinions about what should be written in each form.
Those are mere lints though. If you don't like compiler's opinion on that subject, you can disable them (with `#[allow(non_camel_case_types)]` for instance, see https://play.rust-lang.org/?version=stable&mode=debug&editio...))
> Then there's the problem of where to put the lifetime parameters.
Lifetimes are the one novel concept Rust introduced, then obviously it feels alien at first, because it is. But you end up getting used to it.
Not sure if it counts as documentation, but the Rust Book actually has a very good explanation of stack and heap. I know because that's how I learnt about these concepts myself.
And, if you're just starting out, is Rust really more alien than C?
C, quite famously, needs you to understand at least double indirection of pointers (pointer to pointer of type) to be even mildly useful in the language. You can go a long way in Rust before needing to hit that level of complication.
I still wouldn't recommend C or Rust for a first programming language, but Rust really isn't that bad compared to the alternatives.
> Rust code uses snake case as the conventional style for function and variable names. In snake case, all letters are lowercase and underscores separate words.
... how is that assuming? I will agree that the camel case explanation is much shorter: https://doc.rust-lang.org/stable/book/ch10-01-syntax.html#in...
> Rust’s type-naming convention is CamelCase.
By Chapter 10 you’ll have seen way more code already.