In one sense, Assembly does have a runtime, provided by the kernel's system call interface, not to mention all the magic that the loader has to do to make libraries work.
Even the kernel has a runtime, in a less strict sense, provided by the BIOS and whatever CPU interrupts support it.
The only thing that a program can do without any "runtime" at all is warm up your desk.
>The only language that does not have a runtime is called Assembly. And even in the case of CISC processors there might be microcode playing the role of a runtime. Why don't people learn about compiler design nowadays?!
Because the C kind of runtime isn't what people regularly mean with the word "runtime" -- much less cpu microcode.
It depends if you mean one of those Forth CPUs there were common in the 80's or the more standard Forth environment, both of which have nontheless runtimes.
Because in the end, you will be using a set of words besides the basic stack manipulation ones, those words are the runtime.
And even in the case of CISC processors there might be microcode playing the role of a runtime.
Why don't people learn about compiler design nowadays?!