4 ms·
Rust is not a C++ replacement, nor a C replacement. It targets its own niche (embedded, realtime, correctness-oriented). It's a totally different development cu
by LessDmesg 7y ago
Rust is not a C++ replacement, nor a C replacement. It targets its own niche (embedded, realtime, correctness-oriented). It's a totally different development culture. Zig, OTOH, is absolutely a C replacement.
- otabdeveloper2 7y ago> It targets its own niche (embedded, realtime, correctness-oriented). I don't know of anyone who actually uses Rust in that niche. Everyone who uses Rust is using it because of "C++ is hard, let's go shopping instead" syndrome. I.e., at this point it's a language for beginners to ease themselves into programming without training wheels and eventually graduate to real big boy programming languages.
- smolder 7y agoThis is a strange sentiment. I think 99/100 people who know rust would not categorize it as "for beginners"
- otabdeveloper2 7y agoIt's pretty much irrelevant what people feel emotionally about Rust. The real-world fact is that Rust is, as of March 2020 at least, an entry-level systems programming language. It's used as a stepping stone by former PHP/Python/Go programmers, who are very intimidated by C++, to get into performance-oriented coding. Nobody actually writing embedded or sensitive code (airplanes, nuclear power stations, etc.) is doing it in Rust.
- dystroy 7y agoThis makes zero sense and it's not about emotion. The language is young and you don't certify a software solution every two days or don't rewrite your nuclear power station code every day. Very experienced programmers switched to Rust because it makes it possible to build large scale industrial programs both efficient and reliable. They won't switch to C++ just because they think they're good enough to live dangerously. (btw I work on plant control and yes I write parts in Rust)
- otabdeveloper2 7y ago> Very experienced programmers switched to Rust because it makes it possible to build large scale industrial programs both efficient and reliable. This never happens in the real world; not unless the 'very experienced' bit is experience only in languages like PHP or Python.
- nicoburns 7y agoIt's true that a lot of PHP/Python/Go programmers look to Rust rather than C++ when getting into performance-oriented code. But it's not really a stepping stone, because you never have to leave. It's true that not a lot of people are using Rust for embedded software. That's a much harder nut to crack because so many of the toolchains are proprietary (and embedded support in Rust is still missing quite a few things).
- otabdeveloper2 7y ago> ...because you never have to leave. You kind of do if you ever want to work on anything other than pet personal one-man projects.
- nicoburns 7y agoNot for technical reasons though. Also: I've used Rust at work. In fact, I learnt Rust because I was processing a lot of data at work, and needed a fast language to do so in a reasonable amount of time.
- jfkebwjsbx 7y agoRust does not target correctness-oriented code at all. Neither do standard C or C++, for that matter, but there are derivatives of C that can (and are) used for it.
- bregma 7y agoMy day job is maintaining the toolchains for a popular safety-certified realtime embedded operating system. I have never once been asked to provide a Rust toolchain. Fortran, yes. Ada, yes. Python and Go, yes. By and large it's just C (and more and more C++). Rust seems to be mostly something "full stack developers" and "back end developers" embrace for server-side toys and hobby projects.
- nicoburns 7y agoPython, on a realtime embedded operating system? Rust isn't really there for embedded development yet. It's great for low-level code on full-blown processors/OSs though
- bregma 7y agoPython: customers ask, I deliver. Top-end embedded processors have GPUs and hypervisors these days and run AI algorithms to, say, detect lane changes and do parallel-parking maneuvers. These days AI means code written in Python and Fortran.