5 ms·
I think you are correct in regards to the people who are currently using C/C++. They already have done the hard work to make it usable for their systems. But ne
by memracom 9y ago
I think you are correct in regards to the people who are currently using C/C++. They already have done the hard work to make it usable for their systems. But newer developers will look at the complexity of C/C++ development and choose anything but.
Maybe it is like politics, rather than attacking your opponents you should offer something that they do not. Then you will build your own constituency and gain influence. It will take a long time, but if you keep on providing benefits to users, then attrition might take you to the top. When someone attacks your camp, ignore them. You do not need a better way to attack them, you just need to stick to the knitting and make your offer provide benefits to users. External forces will likely decide whether or not you overwhelm your opponents.
- AstralStorm 9y agoThe problem with this approach is that you would really have to offer something groundbreaking to displace C and C++ while also matching portability (only matched by Java variants) and performance (often unmatched). The about only languages that could compete right now are extended Ada for high assurance environments and Fortran variants for HPC. They are old but not dead and quite usable if you have the dollars to buy proprietary or invest time. Microcontrollers and constrained environments are another critical niche for C and C++, especially given proprietary compilers. Rust does not go far enough in safety to displace Ada (or Spark variant) while not offering improved performance and comparable portability with all the pains of a new language. It also does not do build once deploy everywhere stuff Java and JS attempt. Rust is neither here nor there. A good effort but not a solution.
- smt88 9y ago> you would really have to offer something groundbreaking to displace C and C++ while also matching portability If you offer something groundbreaking, you don't need to match portability. Many people will be willing to make the tradeoff. > Microcontrollers and constrained environments are another critical niche for C and C++ Why do you assume Rust can't be used for these niches? I understand the potential issues with old environments, but what about modern/future ones? > It also does not do build once deploy everywhere stuff Java and JS attempt. Rust compiles to JS today. It will eventually compile to WebAssembly.
- steveklabnik 9y ago(It compiles to WebAssembly today too)
- AstralStorm 9y agoInteresting, but is there any advantage there over more dedicated languages? If not, then again, Rust has no clear selling point. It really has to be better at something. Matching is not good enough. It definitely is not easier to use nor embed. (To compete with the likes of Python, Ruby or Clojure.)
- steveklabnik 9y agoWhat is a "more dedicated language" in this respect? Your options are C, C++, or Rust. Same usual comparisons apply, I don't think wasm is particularly different enough of a situation to have any special advantages.
- AstralStorm 9y agoNot in the world. The options depend on a use case. For a website C++ and rust would be far down on the list. For a web server, even, there is a plenty of competition. Similarly for an embedded scripting language or rapid prototyping.
- smt88 9y agoI'd argue that safety is vital for web software, so Rust is a candidate for "the best language" for web servers. The same is true for security libraries. Or how about the original purpose of Rust, to rewrite a rendering engine? That's an incredibly widely used platform. There's an OS being written in Rust that a lot of people are really excited about. There are very few languages other than C/C++ that are actually viable for rewriting an OS and would, in and of themselves, prevent entire classes of bugs.
- steveklabnik 9y ago