Who am i
I have asked questions in most of the other communities and i must say that the python community has without a doubt been the friendliest. The python discord is a giant community, with thousands of rooms and people helping you all over the place with any question, no matter how difficult.
I started trying out Rust about 6 weeks ago and i like many others started out with the Rust book. It was great, simple, easy to read, easy to understand. It was written in human readable english and fun to follow along.
Writing my own project
I started writing my own project, and i tried searching around for information on how to solve certain problems that came up that weren't touched upon in the Rust book. Most of my problems where compiler errors that i didn't really understand. Sometimes the compiler gave me outright suggestions because i missed something, but often i got random compiler errors i didn't really understand. And im pretty "okey" at programming but i love doing it so i really spend a lot of time trying to really understand what im doing wrong so that i can become better at it.
I did a lot of searches for best practices in Rust but was surprised that there very few. When looking in the various documentations, i started to realize that there were several books, and docs, and it all felt messy. Except for the rust book, you have the reference, which has several different versions, and the current version even has a lot of pages just plainly missing, because they haven't been written yet.
The reference itself is often not much of a help, because it is a reference, its like a dictionary. Imagen trying to learn a language and the only thing you get is a dictionary. Good luck. And then there was the rustnomicon, which just had way to complicated stuff for my level.
So to say the least, Rust docs, can be improved. I also tried reading the documentation in Rust crates, which either was lacking completely, or just at its bare minimum. You often needed to spend a lot of time looking through others source god to understand what you could do. And some documentation, was just overly complicated. For example, the documentation for
This generates an arithmetic sequence (i.e. adds a constant each step) over a
u64number, using wrapping arithmetic. If the increment is 0 the generator yields a constant.
When it could easily just say:
Generates a series of numbers. You can define a number at to which it should increment each time. If the increment number is defined 0, it will generate the same number on each call.
Why over-complicate things? is the goal to get more people to use Rust, or is it a language that is only for the elite?
So eventually i thought i could need someone that i could ask quick questions to, so i joined the Rust discord, there was a beginner section there, that i thought i could ask questions in.
I think i asked three questions in there until i left the discord. In the beginner sections, i was met with answer with arrogant responses like "have you even read the documentation" or, "the compiler error tells you whats wrong so whats even your problem?".
I also tried asking a question on stack overflow, posted my entire source code, what my intention was, my error messages, what i had tried and what parts of the docs i had read. The question was down-voted and closed within minutes, duplicate, with links to three other threads with extremely over-complicated engineered answers with old rust syntax.
I looked a round a bit more on stack overflow and i have noticed that there seems to be 2/3 users that control the Rust stack overflow with an iron fist, closing everything as duplicates and treating the Rust Stack Overflow like some form of curated wiki.
I have now spent 6 weeks doing rust an this forum seems to be the ONLY nice part of the community i have found. Here people seem to actually want to help and support. But is this the way the Rust community is supposed to be?
Im seriously considering giving up on Rust because of the bad manners, should i?
I just want to emphasis, these are my experience and no one else's.