3 ms·
> Go is the result of C programmers designing a new programming language, and Rust is the result of C++ programmers designing a new programming language”. This
by MaxBarraclough 6y ago
> Go is the result of C programmers designing a new programming language, and Rust is the result of C++ programmers designing a new programming language”. This isn’t just a metaphor - Go was designed by plan9 alumni
That may be true, but Go has a garbage-collector, and Rust does not. Garbage-collection strikes me as being against the principles of both C and C++, but especially C.
Drew makes some solid points about the merits of C, even despite its considerable downsides, but I have to agree with others here that rewriting in Rust is rarely what people are advocating. Writing new systems in Rust, is usually the point.
Mandatory link to the Spolsky article, Things You Should Never Do, on why you probably shouldn't throw out working code. [0]
> Rust will eventually fail to the “jack of all trades, master of none” problem that C++ has.
Ok, but C++ has been incredibly successful, and it outcompetes C in many domains, just about everything but kernel programming and embedded programming. C++ isn't completely out of the running even there. Versatility is a feature.
Also, Drew (the SourceHut guy, if anyone missed it) has a good sense for minimalist web design. There's no fat on that page. A refreshing change.
[0] https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com/2000/04/06/things-you-should-...
- deleted 6y ago[deleted]
- erik_seaberg 6y ago> why you probably shouldn't throw out working code. Linux crashes, Windows bluescreens, Emacs crashes, GCC crashes. Do we have any C that works? I hear good things about seL4 but that was mostly using C as a compilation target from Haskell.
- Gibbon1 6y agoOffhand thought is there are two ways to skin the cat vs safety. Go and Rust put hard limits on what will compile and especially rust run a whole bunch of checks to enforce book keeping. In C if you are doing things right you run those checks as a separate process. And you only do it once you are done with a dev cycle, not every time you compile the program.