Self-host your compiler, you cowards! Several times this year, I've read about new systems programming languages, usually created with robotic help. That's great! New languages expand how we think abo
from zak@blog.goodanser.com to programming@programming.dev on 07 Jul 13:24
https://blog.goodanser.com/fediverse/post/0edc0039-20f7-4ce9-8309-988d24eea41b

Self-host your compiler, you cowards!

Several times this year, I've read about new systems programming languages, usually created with robotic help. That's great! New languages expand how we think about programming. I've noticed their compilers are almost always written in Rust.

Rust is a fine systems programming language in its own right, but a systems programming language, the kind of language meant for writing things like compilers, ought to be used for its own compiler before it's used for any other serious work.

I'm kidding about the cowards part of course. I'm sure all language designers are brave and kind, even if some look like serial killers.

@programming

@programming@programming.dev


#programming #languagedesign #rust #compilers

#compilers #languagedesign #programming #rust

threaded - newest

ryokimball@infosec.pub on 07 Jul 14:03 next collapse

Bootstrapping.

Similarly, you should be able to build the OS on the OS, which is why Android is still not a viable operating system compute-wise.

Quetzalcutlass@lemmy.world on 07 Jul 14:38 collapse

Google recommends at least 64 gigabytes of RAM for building modern versions of Android (though apparently you can get away with 16 gigs with heavy use of memory compression). Has any Android device ever even come close to having that amount?

ryokimball@infosec.pub on 07 Jul 15:01 collapse

I’ve seen some with 24, more commonly 12 or 16 though. Plus I’ve been several versions of Android running on PC

HaraldvonBlauzahn@feddit.org on 07 Jul 17:36 collapse

That’s actually a disadvantage of Rust: Because the Rust compiler is written in Rust, it is hard to bootstrap on new platforms. Which is for a systems language used to build kernel device drivers a serious limitation, and also makes it harder to tackle Thompon’s “Trusting Trust” problem.

Better to compile the new language to C first, which compiles and runs even on a smart lightbulb.

This does work well. It is how C++ was created, and even some Lisp implementations go this way.