Comment by Parodper

16 days ago

Borland's PASCAL did it on the IBM PC.

And which modern C compiler fits into 64KB? Even TCC needs 100KB. But that's beside the point. No machine of the last 36 (I'll push my chances, 40) years needs to fit a compiler in 64KB.

> Borland's PASCAL did it on the IBM PC.

That's famously a single-pass compiler. Rust is famously unable to compile in a single pass.

It is not possible to make a borrow-checking language that compiles in a single pass.

> No machine of the last 36 (I'll push my chances, 40) years needs to fit a compiler in 64KB.

Exactly - that's why C is what it is: it wasn't a mistake, they were working under the constraints of the time. My original comment (that you appeared to disagree with) said specifically "Remember where C came from and why it was designed the way it was."

Let me ELI5 it for you: It was specifically designed to emit assembly in a single pass because of the constraints of the time.

WTF does "Hur Dur Rust Goodest!" comments mean in this context?

  • > That's famously a single-pass compiler. Rust is famously unable to compile in a single pass.

    I probably should have replied under the other comment. I was also referring to your

    > No, I didn't - I asked how sum types were supposed to work in an era of 64KB memory systems.

    But context got lost between replies.

    > that's why C is what it is

    C famously had a big redesign in 1990. The language of today isn't the same K&R printed.