I don't believe it ever was a C clone.
I remember it always presented as a C _successor_, like C++, but in a different direction.
Go (and some others, swift surely) cannot be used as a C replacement since they need a runtime.
Just like C does for calling into main(), doing floating point emulation if CPU not available, calling library initializers (common C extension), handling VLA allocations.
Just because it is tiny does not make it inexistent.
Then there is the whole POSIX, which is kind of runtime that wasn't made part of ISO C, but follows it everywhere.
It's not necessarily tiny but it's optional (besides main() ). Linux kernel, baremetal embedded does not use this.
Linux kernel surely used it during the time they had VLAs in, they are now mostly removed thanks to Google efforts reducing memory exploits on the Linux kernel.
One just links another implementation, just like printf() vs printk().
Re:D as a C Replacement
by GoblinSlayer on Wednesday July 03, 2019 @09:36AM
(#20344138)
libc.so.6 is about 2MB.
(Can it be a C replacement? Sure, but so can Rust/Swift/Go/etc)