I think Rust could work quite well as C/C++ replacement or at least alternative, now that they dropped garbage collection (gc and refcounted pointers are provided by std lib).
It has some nice stuff like traits(to implement interfaces), immutable variables by default, no raw pointers (well, not in safe code) and all the crap they bring with them.
So it is like a more safe variant of C++ without the template metalanguage stuff (some might consider this a plus ).
The only bit I personally am not thrilled about is the syntax, which on the first look seems like an amalgamation of a number of languages. But it gets the job done I guess. To quote Rust Reference Manual:
Additional specific influences can be seen from the following languages:
The structural algebraic types and compilation manager of SML.
The attribute and assembly systems of C#.
The references and deterministic destructor system of C++.
The memory region systems of the ML Kit and Cyclone.
The typeclass system of Haskell.
The lexical identifier rule of Python.
The block syntax of Ruby.
Sure it probably won't replace C or C++. At least not for a looong time. But being a viable C or C++ replacement is a great goal. It's not like we don't know what we're doing; Rust is battle-forged from the pains of C++. Statically eliminating race conditions, iterator invalidation, and use-after-free is pretty cool.
What I would like is benchmarks against both C and C++ for it's would-be replacements, then have those benchmarked along with a list of each of their pros and cons. Because right now it's not a question of if C/C++ (and Java) will be replaced, it's a question of what with.
I must say that the amount of performance that's come out of such young programming languages is amazing.
Rust is somewhere just over 1 year old
Go about 6 years old
D (version 2) about 6 years old
D (version 1) about 12 years old
Good work is being done.
Nothing will replace C for the Linux kernel. There's no reason to replace it, there's too much code in C already and there's just nothing out there that performs as well as C, not even C++.
Go is more like a python contender from what I understand so that leave C++ vs D vs Rust.
You can make programming languages but they also need to catch on. D hasn't and I doubt it will C# has because MS pushed it and well it's also probably pretty good ( I like it because it's easy to read C# code).
The only thing that I do hate with all my heart in Rust is variable declaration :
Seriously ? This reminds me of Basic or something even lamer. And this in a language ment to replace C++.Code:let price; let monster_size: int = 50;
We'll see if Rust catches on but I for one don't thing C++ is that bad if you know how to program in C++. Give it some extensions like boost or Qt and it's almost as easy as higher level languages like C# and Java.