That's really good information. I've stopped trusting Rotten Tomatoes not a long time ago. To be honest, I have stopped taking any "average" ratings for anything. At one point, I trusted those ratings for everything related to entertainment: movies, games, touristic places. But the truth is that the ones affected by reviews, that have power to influence it, will skew the perception, interpretation, and numbers of those reviews.
Neither it has been mine. I have written C and C++ only in college, so my impression might be very wrong, but I think that programmers who are proficient in low level languages are the ones that learn Rust the fastest due to the low level concepts Rust's compiler puts upfront such as sane memory management.
This is a bold statement, specially because not many other languages have such high quality guarantees at compile time.
> I already know it works
This is the part I don't agree all of the time, but depending on the scope and size of the project, I've seeing this be true. And the compiler is really good at catching regressions, submitting PRs for Rust projects is not easy in the beginning, but it is very hard to insert a regression.
The semantics of Go are fine for the most part. My only problem with Go is manipulating slices. The rest is just awesome and it requires a lot of taste to simplify semantics without taking away the languages power.
"Beginner programmers have a favorite language. Seasoned programmers have a language they hate the least." - Unknown Author
---
It is about the right tool for the job guys. All languages have something to hate on. Of course it is important to work with technology you like. Nothing wrong with this article, the guy is voicing his opinion. But this isn't a verdict on Go. People like Go for precisely the way it handles errors.
The learning pain is comparable to C pointers when you first see them haha. Funny thing is that after getting used to the borrow checker and other nice things of the language, its sad to go back to the languages I use at work.
Your article is great. The examples of functional and non-functional uses of Rust were neat. I've been practicing by doing the Rust track on exercism.io and, by comparing my solutions to others', I always get impressed by how equally performant those two versions are (at small programs at least).
> Anyway, I'm very curious whether it ultimately turns out that, as advertised, Rust's performance characteristics really are as good or better than C++'s[1].
From my limited experience, Rust's performance is comparable to C++ throughout, with the added safety guarantees that Rust is known for.
That's very insightful. So my understanding now it that Rust provides low level "blocks" that, as a whole, is an extensible language. Thus language vs standard library doesn't really matter, since Rust = Language spec + standard library. Am I getting close to its definition?
BTW, I remember in the alpha days when the decision was made to make Rust support concurrency in the standard library rather in the language itself. So in that sense (Rust = language spec + stdlib) Rust does have concurrency built-in.