Animats had a very important point. While magic is so attractive and perhaps even useful in moderation, it causes so much damage in a large code base.
In C++, you get this damage from for example operator overload abuse (ok for math, not many other defensible uses), template abuse (ok in moderation), ninja exceptions and inheritance (especially multiple inheritance, ugh).
Anyways, if Rust proves to be a feasible workhorse building medium/large systems with bigger teams, it does sound interesting to me. Especially catching concurrency issues at compile time.
And my point is that nobody would ever deploy this to production. Would you say you're worried about Go becoming C++ if someone posted a quine written in Go to HN?
By the way, Rust has no "template abuse", "ninja exceptions", or "inheritance".
I do think Rust is currently the most likely language to become the C++ killer. And attract significant number of developers from other major commercial languages/platforms as well.
Rust might eventually become the new industry standard. That'd be a clear improvement for sure.
But we'll see what happens. Hopefully there'll be no Rust committees at least.
> However I also have seen lots of convoluted code, exactly because such expressiveness is missing from the language.
That's the operating point here. Leave out expressivity, and tons of programmers write convoluted code. Leave it in, and a couple of clever people use it in an over-clever way.
In C++, you get this damage from for example operator overload abuse (ok for math, not many other defensible uses), template abuse (ok in moderation), ninja exceptions and inheritance (especially multiple inheritance, ugh).
Anyways, if Rust proves to be a feasible workhorse building medium/large systems with bigger teams, it does sound interesting to me. Especially catching concurrency issues at compile time.
I just hope it won't ever become another C++.