Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite the intro tutorial #9874

Closed
brson opened this issue Oct 15, 2013 · 15 comments · Fixed by #16657
Closed

Rewrite the intro tutorial #9874

brson opened this issue Oct 15, 2013 · 15 comments · Fixed by #16657
Assignees
Labels
E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot. P-medium Medium priority
Milestone

Comments

@brson
Copy link
Contributor

brson commented Oct 15, 2013

We have major questions about how to best present Rust: as the language
has evolved it's character has taken shape, but how to express its
unique strengths in a cohesive and compelling narrative is still
elusive. A great writer should be able to unveil the language gradually,
leading the reader to understand why Rust is powerful, and to understand
which patterns will lead to success. That last point is very
important: many people come to Rust, try to apply the patterns they are
familiar with from other languages, and become frustrated. It's critical
that we show how to be effective in Rust. What is "the philosophy of
Rust" and how should it be taught?

@brson
Copy link
Contributor Author

brson commented Oct 15, 2013

Nominating.

@brson
Copy link
Contributor Author

brson commented Oct 15, 2013

We'll probably contract this work.

@catamorphism
Copy link
Contributor

1.0, high

@LeoTestard
Copy link
Contributor

This is a very interesting issue to me (programming teaching is a topic i'm quite interested in... ). If I had a better english level, I would probably try to work on it. By the way, I intended to write French documentation about Rust. Or maybe just a translation of existing english documentation. If there is interest in it... I dont know...

@adrientetar
Copy link
Contributor

@LeoTestard @sinma is translating the official tutorial into french.

@ariasuni
Copy link
Contributor

@brson: «many people come to Rust, try to apply the patterns they are
familiar with from other languages, and become frustrated. It's critical
that we show how to be effective in Rust.»

Totally agree. I didn’t know how to use Rust to do things I was doing with in other languages (mainly with inheritance).

@LeoTestard: At the moment, the French translation of the main tutorial is (a little bit more than) 10% complete. I didn’t plan to translate others tutorials because it eat my time, and I’ve so many personal projects and so little time. ;) So contributions are always greatly appreciated.

Speaking of document in other languages than English, I’ve also published a news on Linuxfr.org about Rust, which might be published on the wiki of Lea-Linux soon. I think most of it can be understood by beginners.

@LeoTestard
Copy link
Contributor

@sinma I'd like to contribute to this translation. Do you have an online repo or something for it ?

@ariasuni
Copy link
Contributor

ariasuni commented Nov 3, 2013

@LeoTestard: https://github.com/sinma/rust. I word on the «doc» branch. I’ll be busy soon but I’ll try to translate bit by bit.

@brson
Copy link
Contributor Author

brson commented Nov 15, 2013

Some mailing list discussion: https://mail.mozilla.org/pipermail/rust-dev/2013-November/006633.html

@adrientetar
Copy link
Contributor

@thehydroimpulse I think you are confusing with #9875.

@thehydroimpulse
Copy link
Contributor

@adridu59 Oops, Yeah.

@puredevotion
Copy link

I've read quite a few introductions and tutorials over the last years, but I've found the Python tutorial by far the best.
It reads easily, lightweight, is thorough and provides a quick tour of the major features of the language. Concerning optimal patterns, the File I/O chapter (http://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files) has that well covered. I can distinguish for developers who've read that chapter, and those who haven't.

The last tutorial that I've read was that of Go (Go Tour). Wasn't impressed. Dry, unimaginative examples and I felt (but very personal) that the Gopher icon was some forced "lightness/humour".
But I do like that after going through some features, there's a small code example that applies those features. I'm a huge fan of learning by example.

I found this: http://paulkoerbitz.de/posts/Understanding-Pointers-Ownership-and-Lifetimes-in-Rust.html to be a great read. I haven't used pointers in ages, and this was enlightening.
Developers coming from dynamic languages (or non-pointer languages. My Java experience didn't really do it for me) might have some issues with the general idea of pointers.
A stupid example is that the term dereferencing isn't introduced in the tutorial for example. Maybe a short introduction to pointers, referencing and dereferencing would be a good idea as it seems that many Pythonistas among other are looking curious at Rust.

Lastly, maybe add an index of 3rd party tuts and intro's. If someone doesn't like the writing style, or wants a simpler or more thorough introduction, he can easily find one if available.

@darnuria
Copy link
Contributor

Hmm maybe we could use SF and Paris Futures meetup to try working on it? Or it is better to focus on general documentation during meetups? Hmm? Any Idea?

@brson
Copy link
Contributor Author

brson commented Feb 19, 2014

@darnuria At this moment I suggest not working on the main tutorial since I am hiring a contractor to focus on it - once that contract gets up and running he will probably start soliciting a lot of opinions on the mailing list etc. All the guides and other documentation are fair game.

@steveklabnik
Copy link
Member

Today, I am starting on this!

For anyone else who wants to contribute, see this reddit comment: http://www.reddit.com/r/rust/comments/28bew8/rusts_documentation_is_about_to_drastically/ci9c98k

steveklabnik added a commit to steveklabnik/rust that referenced this issue Sep 11, 2014
The Guide isn't 100% perfect, but it's basically complete. It's
certainly better than the tutorial is. Time to start pointing more
people its way.

I also just made it consistent to call all things 'guides' rather than
tutorials.

Fixes rust-lang#9874. This is the big one.

And two bugs that just go away.

Fixes rust-lang#14503.
Fixes rust-lang#15009.
bors added a commit that referenced this issue Sep 12, 2014
The Guide isn't 100% perfect, but it's basically complete. It's
certainly better than the tutorial is. Time to start pointing more
people its way.

I also just made it consistent to call all things 'guides' rather than
tutorials.

Fixes #9874. This is the big one.

And two bugs that just go away.

Fixes #14503.
Fixes #15009.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot. P-medium Medium priority
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants