I understand Rust has a lot of influences from functional languages, which 80% of coders never practiced (because companies haven't adopted them) . Nevertheless, when lambda expressions were added to C# back in 2007, it was a huge innovation, leading to a more elegant and a lot more concise code. Then Java 5 adopted it, then C++11 adopted it.
These last few years, interest has grown towards functional languages, and a shift is slowly starting in the industry, mostly because of the problems it solves in concurrent programming area. And Rust has a lot of compelling arguments, as an hybrid language.
I made this post to share my opinions after toying a little. (and I insisted on the word subjective). But I thought my opinions might be useful as it may reflects what most mainstream coders would feel getting started to Rust.
Have to admit I'm surprised there are so many people defending the snake_case, as I've never seen it before for method names (didn't even know how it was called). But hey it's just cultural, I know I'll have to live with it.
I maintain that manipulating core features like Box<T>
, Result<T>
and shared pointers, need to be more cleaner, more concise.
Andrei Alexandrescu managed to build Dlang with a beautiful Api layout. The Java api has a clean layout, the .NET Api as well. The C++ standard library is not very clean, but still better than Rust's.
And that's my own subjective opinion.
Now, I'm a newcomer here, and in some way I might not be legitimate to openly share my opinions after 2 days of toying.
However, if this community is as great as I heard, this should be taken lightly, just for what it is, with good intentions after all.
Now everyone is telling me it's too late, and I can understand that. There must have been a lot of debate already indeed.
C# /.NET had breaking changes between version 1.1 and 2.0, at the time it wasn't mainstream but started to get popular at version 2.
So I'm still hoping Rust won't be tied to legacy for version 2.0.
I'm hoping the community will remain open, and not become conservative.
The idea of a code migration tool could be useful, this is a feature the Go language has, in order to keep a flexible evolution of the core language/standard api.
From now on, I won't throw these subjective things anymore, I'd like to dig Rust a little further, build a first crate, and as someone mentioned I should rather write more formal RFCs if I want to push some reforms.
Happy coding