I always had the idea in mind to one day code something in
#C for the
#C64. There's
#cc65 offering a decent compiler. I always ended up with using
#assembler again. That's because on that platform, it is the only way to have "full control": The OS only offers a machine code ABI (jump to routines, pass stuff in registers) and misses lots of things, so you need to program the hardware directly. Of course, I still use an assembler instead of hacking the bytes of the machine code directly.
Any Unix and similar OS comes with a C compiler, and even other systems offer a C API, so for a "modern" environment, that's the natural language to use for that "full control". And remember, C is your "portable assembler". 😏
In a nutshell, if you take "from scratch" literally, it would mean to somehow hack bytes into the machine's memory. That doesn't make much sense. I understand it as "use a simple programming language and avoid these huge frameworks and similar doing
deep magical stuff for you".
CC:
@modev@snac.bsd.cafe