4 ms·
I feel this conversation will be slightly different in 2018. The Rust team set their goals and vision for 2017[1][2] and the theme of the year is largely "ease
by beefsack 10y ago
I feel this conversation will be slightly different in 2018. The Rust team set their goals and vision for 2017[1][2] and the theme of the year is largely "ease of use."
I'll quote some of the proposed vision statement here:
# Rust should have a lower learning curve
Rust unique features make it valuable, but also means there's a lot to learn.
A common refrain is "the first couple of weeks are tough, but it's oh so
worth it." How many people are bouncing off of Rust before they get through
those first couple of weeks? How many team leads are reluctant to introduce
Rust because of the training needed? 1 in 4 survey respondents mentioned the
learning curve.
Some potential avenues: improved docs/training materials; improved compiler
errors; language improvements (e.g. things like non-lexical lifetimes).
# Rust should have basic IDE support
For many people—even whole organizations—IDEs are an essential part of the
programming workflow. In the survey, 1 in 4 respondents mentioned requiring
IDE support before using Rust seriously. Tools like Racer and the IntelliJ
Rust plugin have made great progress this year, but compiler integration has
yet to get off the ground, and there's a lot of room to do more.
# Rust's community should provide mentoring at all levels
The Rust community is awesome, in large part because of how welcoming it is.
But we could do a lot more to help grow people into roles in the project,
including pulling together important work items at all level of expertise to
direct people to, providing mentoring, and having a clearer on-ramp to the
various official Rust teams. Outreach and mentoring is also one of the best
avenues for increasing diversity in the project, which, as the survey
demonstrates, has a lot of room for improvement.
[1]: https://internals.rust-lang.org/t/setting-our-vision-for-the-2017-cycle/3958 https://internals.rust-lang.org/t/setting-our-vision-for-the...
[2]: https://github.com/rust-lang/rfcs/pull/1774 https://github.com/rust-lang/rfcs/pull/1774
- michaelchisari 10y agoRust's community should provide mentoring at all levels This was an issue as I learned. With widely popular languages, googling a simple question like "reverse a list javascript" or "sum an array php" comes up with a hundred different suggestions and discussions. With Rust, most of the discussion is very low level, often by people working on Rust itself and usually the rare answer you find is terribly out of date. Just having a more stable language so answers don't become obsolete is a big step, but it will still take time for those very basic questions to get answered.
- kazagistar 10y agoAre those real example questions? Cause I stackoverflow program a fair share, but those seem a little bit low level for any language, and if you google those for Rust, I end up with the docs for Vec and Iterator, which contain exactly the reverse and sum methods. And this isn't some case of "fuck you read the entire docs", the methods contain extensive built in examples (copypasted from their respective method docs): let mut v = [1, 2, 3]; v.reverse(); assert!(v == [3, 2, 1]); let a = [1, 2, 3]; let sum: i32 = a.iter().sum(); assert_eq!(sum, 6); I'm not saying everything is simple, and there are hard parts of rust to learn. But as far as solving simple problems, I haven't ever had an easier time then with Rust.
- michaelchisari 10y agoAre those real example questions? No, they were just off the top of my head, not to be taken literally. And the docs aren't organized as a tutorial. If I don't know what a method or type does, or even that it exists, I'm not going to know to look there for examples.
- kazagistar 10y agoOk fair enough. Those two examples though are specifically not good examples, and its hard to improve documentation without specific examples of what is missing.
- mintplant 10y agoI've found the Rust community on Reddit to be very helpful. Every one of my questions, from borrow checker errors to compiler internals, has been answered within a day.