And yet where I live, it has extremely minimal adoption. There’s more rust jobs at panel beaters than doing software development.
Rust has to fix itself or remain popular but essentially unused.
And yet where I live, it has extremely minimal adoption. There’s more rust jobs at panel beaters than doing software development.
Rust has to fix itself or remain popular but essentially unused.
But sticking to “battle tested” means a local minima at times. For example, there’s no shortage of CVEs in OpenSSL’s past or future. It’s definitely “battle tested”. And yet, that doesn’t mean someone shouldn’t try to write something better.
Even if Rust wasn't able to eliminate whole swath of errors in C(++). And it is (Nulls and data races).
Rust has way better package manager, and actually works on Windows.
For example coreutils got rewritten in Rust. And got adopted by Yocto.
> community of competing package managers is a lateral, neither better nor worse.
While I understand your position, that's not my opinion. Having one way to build a package is a blessing. Having had to juggle Python's competitive package manager is a nightmare.
https://imgs.xkcd.com/comics/python_environment_2x.png
Each one has slightly different usages and they are mostly compatible but then you run into edge cases.
-----
And lack of blessed libs is something I am strongly against.
Rust doesn't have standardized time lib and everyone is suffering for it.
It may be a good idea to replace, or not. We don't have enough data to decide.
- 9.3% of respondents use Rust (#14)
- 87% of respondents who already use Rust would like to continue using Rust. (Most loved)
- 17.6% of respondents who don’t already use Rust would like to try out Rust (Most wanted)
While I generally agree with the sentiment that Rust can, should and probably will improve I don’t see the survey results or your anecdotal experience as cause for alarm.
It’s far from the most popular language (JS 65%) or most popular language without a runtime (C++ 22.5%). But that’s fine because it’s relatively new. The survey indicators a big appetite for trying out Rust among developers who haven’t tried it out already, indicating that the language could continue to grow in popularity.
It would not be an exaggeration to say that most of the C++ you use today is about the same age as Rust.
- Most C++ projects are not greenfield, and C++ programmers are often working with 10-20 years of cruft in their codebases.
- Most of those codebases are also somewhat object-oriented, and thereby tained with "enterprise Javaness."
- C++ has a number of high-profile detractors who are well-liked in the programming world, like Linus Torvalds and (in this sphere) Bryan Cantrill. Most of these detractors haven't touched C++ in 15-20 years and are still railing against the monstrosity that was C++03 and the thickness of the C++ spec (without actually using it).
- C++ is widely used, and often not in places where it is appropriate or useful. When people use something, they see its rough edges.
- C++ isn't "cool" in programming spheres.
Keep in mind that C++ standard is backwards compatible, so every monstrosity added is still there. You might not use it, but your (ex-)colleagues might have, and you might end up maintaining such code. Let's just say it doesn't exactly make it more appealing.
Now, I am not a C++ dev, but how much effort would it be for a team to pick up C++ 20 if they only had worked with was C++ 11?
The functional programming parts and expansion of compile-time metaprogramming (constexpr/templates) are probably the biggest new features, but you probably aren't going to use the more complex parts.
IMO the biggest changes in ergonomics for application writers are:
* better iterator-based algorithms and iterators becoming more powerful than indexes and pointers
* new helper objects like string_view that let you work more efficiently
* functional programming and passing lambdas around is possible
* "override void foo() const noexcept { ... }" - all the extra keywords (override, const, and noexcept) help you with correctness
It's a chicken and egg problem.
More often than not the _perceived_ problem is not performance or memory safety.
As opposed to Rust?
A) Get lucky.
B) Be the only choice.
C) Get a massive corporation to back you.
Otherwise you can't ride the network effect to the fullest.
Amazon, Microsoft, Google, Dropbox, Cloudflare, Meta. This is a list of companies I could think of quickly, that don't just "use Rust" they are "heavily invested in Rust".
If this isn't "massive industry adoption", its not clear what is.
Companies need people to maintain codebases that were started 20 years ago, this is simply not the case for Rust.
This only indicates the huge bias in the voting crowd.