Rust doesn't need to stop C++ to be successful. The market for programmers is already large enough to successfully support dozens of programming languages, and that market will only continue to grow. PHP didn't "stop" Perl, Python didn't "stop" PHP, Ruby didn't "stop" Python, and yet all of these languages continue to be enormously successful. Why should we expect a monoculture on the systems side?
I'll be sure to tell that to all of my non-techy friends who are attending boot camps for, and subsequently finding jobs in, Ruby rather than Python. :P And I say this as someone who personally prefers Python!
It's interesting to look at the maps in your link. It seems like Phyton is popular in more countries, but ruby IDs more popular where both are present.
Rust is addressed to some of the shortcomings of those. This implies there would a competitive advantage of doing systems programming in Rust, if it succeeds in addressing them.
Calling C++ a single language is like calling Chinese a single language. The various dialects share characters and that's about it. :)
C++ is at least 3 fundamentally different languages over the course of 20+ years. The C++ you would write to the current standard looks vastly different from the C++ you wrote even 10 years ago which itself looks different from the C++ of 10 years before that.
The problem is that even if you only write the modern stuff, you must understand the older stuff as your libraries are often written in it.
Rust overlaps with C/C++ and even with Go. Go was initially trying to be a replacement for C/C++, but hasn't succeeded, because it is too high level. Rust on the other hand looks very promising in that area, which requires low level access but also desires safety.
I wouldn't say Go hasn't succeeded. Maybe not as a general replacement for C/C++. But still lots of new applications that would most likely have been written in C/C++ a few years ago are now popping up in Go (unix daemons, commandline tools, ...).
Go has succeeded in its niche (distributed systems). There are real jobs opportunities in Go, in the major tech hubs.
Funny thing is. Everything that is done in Go could be done in Java. Go is succeeding because lots of dev despise Java (related to the entreprisey & the usual culture of java companies).
As well as the fact that Go runs markedly faster and lighter (memory) than Java, and without needing to worry about JVM versions. We've been slowly migrating services and the statically compiled binaries are truly amazing for ensuring it will run. Not once have I encountered an 'it runs on my machine' situation.
I disagree. There are a lot of us who want a higher level systems language, but don't think that C++'s kitchen sink approach is a good design. Those people are flocking to Rust already, and more people are coming because it's interesting or cool.
Rust doesn't have to beat C++. If Rust steals 1/10th of C++'s marketshare, it will have a viable ecosystem.
Except that even if you write perfect code and have a compiler that supports all of the features... you code still won't be as safe as it is if rustc signs off on it.
This conversation happens in literally every single thread about Rust. Every single time someone implies that new features in 14/17 will somehow make Rust irrelevant, but it's simply not true. There are classes of problems which Rust can catch which a C++ compiler cannot. And I don't really care about "if all devs wrote perfect code" because we get a new CVE every 3 weeks from some C/C++ codebase that has brilliant people working on them.
Rust will have a niche regardless of the momentum of C++ as long as it's easier to learn to use than C++ for someone who's new to solving these kinds of problems. The question is whether that goal is in sight.
rust does things C++ simply cannot and will never do. that doesn't mean rust is strictly better. actually i believe C++ and rust should be best friends; there's only this small ABI issue - i hear smart people are working on it, though.
WOW... i mean PHP is nothing like C++. It is closer to some sort of dynamically typed C with classes. C++ is not just C with classes it is much much deeper language.
That being said, C with classes for web is not bad thing to be.