On Fri, Nov 15, 2013 at 12:18 PM, spir <denis.s...@gmail.com> wrote:
> On 11/15/2013 03:55 PM, Marijn Haverbeke wrote:
>>
>> As the author of the original tutorial I'm interested in what people
>> hate so much about it. It appears to have slightly bit-rotted, in that
>> the language moved on and people haphazardly updated stuff here and
>> there, but the bulk of it still looks coherent. Can I get some
>> concrete pointers?
>
>
> Very personal point of view: As I said elsewhere, I definitely don't find it
> bad as a document in itself. Rather, it is not a tutorial at all, in my
> view; quite the opposite. I would consider it as a "spec summary", a useful
> reminder for someone having learned and used Rust once, then let it down for
> while and coming back to it. I'd read this doc to refresh my mind.
> That it also is outdated is a distinct issue (a more easily fixable one).
>
> Side-note: I read the (big) french article on Rust 0.8 [2] and found it
> rather good as well. With this, Marijn's doc, and "Rust for Rubyist", we
> already have quite an amount of raw materiel to make a tutorial.
> The big, big remaining issue is the QoPaMM (Question of Pointers & Memory
> Management ;-). I have not yet found any presentation satisfying *for me* (I
> insist: personal point of view). The problem is: how to make sense out of
> the mess? What does all that *mean*? Or: semantics, please! [1] The reason
> to choose this or that kind of pointer, or this or that kind od MM should be
> semantic: that they correspond to different kinds of elements in the app('s)
> model [3]. I have yet to find such a correspondance; until then, I find
> myself unable to write anything about that. Since now, I choose pointer
> kinds in a totally adhoc manner (except for & as func input, the only
> situation where it makes sense for me).
>
> Denis
>
> [1] 'semantic' means 'about meaning', not 'about what the machine does' ;-)
> [2]  [http://linuxfr.org/news/presentation-de-rust-0-8], pointed to at the
> bottom of the 'Blogs' section of the Rust Docs web page
> [https://github.com/mozilla/rust/wiki/Docs]
> [3] Questions of efficiency or such possibly coming in a later phase of
> development or thinking.

A lot of what a Rust tutorial has to do is introduce move semantics,
value types, references and boxes to an audience who have perhaps
never heard of them. Understanding Rust requires an understanding of
these ownership concepts, so the tutorial needs to help build a solid
grasp of it.

If you have concrete feedback on where you're having trouble with this
section, it's welcome:
http://static.rust-lang.org/doc/master/tutorial.html#boxes

I only see it as flawed in the middle where it tries to mention trait
objects and struggles with a reasonable way to do it as they are
introduced later.

The current section on borrowed pointers (should be called references)
isn't very approachable, and reference-counted/managed pointers likely
belong in a separate tutorial explaining alternatives to the standard
ownership model.
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to