It runs everywhere, is easy to learn and use and people who don't get it hate it with passion.
Anyway, comparing go documentation with rust docs, I'm surprised anyone can get any work done with rust.
Which is why it uses type erasure for generics rather than reification like C#.
That's an unexpected comment. Rust has among the best documentation I've seen, and arguably the best ecosystem around documentation, which helps a lot and encourage third party developers to write high quality doc. I understand when people complain about the learning curve (like this article, because fighting the borrowchecker is only a thing while learning) but docs, really?
https://doc.rust-lang.org/std/fmt/index.html
I don't know why I find Go's version easier to follow, but I do.
Across the ecosystem (and particularly the third-party culture of documentation) is much more important; in my own experience playing with both languages, I tended to encounter more useless 1-line descriptions in golang than I did in Rust.
Also golang struct descriptions always seem to be a bit lackluster..
But I can't point to any particular lib at the moment though.
the fmt docs are... not ideal. That said, there's a lot there, and it's all useful, but it's just tough. Frankly, I just punted on improving them, and haven't taken the time to do so in the years since.
- syntax highlighting
- a quick example of the feature
As far as I can tell, the best-documented approach is to use some external library and ignore the http support built into Rust.
https://docs.rs/http/0.1.19/http/request/index.html
"standard library" is probably not the correct term for this in Rust-world because it is under the "http" namespace rather than the "std" namespace. I just meant, "the stuff you use via typing `use http`".
I am comparing the experiences of:
1/ Trying to do some http requests in go, searching for "golang http", and coming across the fairly well documented standard "net/http" library in go, at https://golang.org/pkg/net/http/
2/ Trying to do some http requests in rust, searching for "rust http", and coming across this as the first result:
https://docs.rs/http/0.1.19/http/
which includes statements like
"It's intended that this crate is the "standard library" for HTTP clients and servers without dictating any particular implementation."
That's cool, I don't mind if no particular implementation is dictated to me. I just want to know how to use it by reading this documentation... but that never becomes possible.
You could say the problem isn't that rust is documented poorly, the problem is that the standard library is missing some things that are in the standard library of other languages, and it's those third-party libraries that are documented poorly.
“How to perform an http request in Rust” is a Google query that makes much more sense, and works for all the aforementioned languages.
Searching for [python http] works fine. Top result is this page:
https://docs.python.org/3/library/http.client.html
which explains precisely how to send http requests.
Searching for [nodejs http] works fine as well. You get this page:
https://nodejs.org/api/http.html
Which does, in fact, give you a library that can make http requests.
I won't dig into php and java because I'm not familiar enough with those languages to say what a decent way of sending http requests is.
Finally, searching for [how to perform an http request in rust] does not work! It sends you to https://docs.rs/http/0.1.5/http/request/index.html which is the same fundamentally broken library as you get with [rust http].
In conclusion, the Rust documentation is worse than any of Go, Python, or Node.