While it is likely that rewrites frequently don't make sense, I can think of several cases where rewrites made sense. Rewriting the C compiler from (B? BCPL? I forget) to C made sense to me; rewriting Unix from assembly to C did as well. I spent a summer with the V6 fortran compiler, all PDP-11 assembly, including the bug that occurred when a single comment was more than 32767 bytes; that needed rewriting, though it was a fun piece of code. Probably, rewriting the Go compiler in Go was a good move.
We got a net gain in u-root when we rewrote many Unix commands in Go: removal of old nonsense (The C version of hdparm supports standards that were killed by ANSI decades ago), lots of unit tests, the large number of tools that help improve code, and the ability to use the Go AST package to do the source-to-source transformation that lets us pack almost 200 commands in a few MiB in flash; that's now deployed on tens of millions of machines in data centers, and would have been very hard to do in C. So, I'll admit you are probably right in many cases, but exceptions exist. Sometimes rewriting makes sense. On Tue, Sep 1, 2026 at 5:16 PM Noam Preil <[email protected]> wrote: > > Tldr: no. It's a better c++, not a better C, and rewrites never make sense. > Zig is good if you want to manage complicated projects in a better way; plan9 > is good for when you want your code to be simple. > 9fans / 9fans / see discussions + participants + delivery options Permalink ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Td859d3c6cefc922f-M793fd727d16d5900f3f6b5e8 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
