ricomariani.medium.com/why-i-t by Rico Mariani

C programmers, especially programmers that can successfully use C code at the system level, are a dying breed. I should know, I'm one of them. Modern C++ has so many hazards and is so costly that I can't but view it as anything less than a total failure in the systems space. I can't begin to tell you how disappointing this is to me. Whether it's suitable for your problems is entirely up to you, but I'm convinced my problems are not helped by the use of Modern C++.

In contrast, Rust is lean, also modern, and squarely addresses the most important weaknesses that were in C without turning into a meta-programming hell-scape. By providing solutions to problems of data sharing and lifetime generally and creating solutions that are both readily practicable and performant they've done more to advance the state of the in systems programming than nearly four decades of C++.

I don’t see a future where C++ continues to be the systems language of choice and frankly I couldn't be happier about it. I'm very tired of telling developers not to use their tools the way the manual describes them. I'm tired of writing alternate "This actually works" manuals.

We can have a more “Pit of Success” correctness and performance story. We still have a responsibility to test everything, but we can start on a much better foundation.

#rust #rustlang #cpp

@blinkygal Data sharing and lifetime are handled pretty well by c++, in my opinion. Do you have any specific gripes with c++, or do you simply think it's too complex to learn, and so rust should be the future just for that?

@braincell @blinkygal My two biggest complaints about c++ are the complexity to learn, yes, but also the undefined behavior. There are so many nasty little sharp edges that turn out to be completely implementation dependent that the compiler will cheerfully pass and then generate garbage code. Exceptions mixed with setjmp / longjmp, unions with classes in them, the list goes on. And every new feature of the language increases the complexity of the language in a superlinear fashion (especially since you can never really remove any feature, not given that there's code people rely on using those features).

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.