If programming is turtles all the way down, C is the bottom turtle, standing on the solid ground of Von Neumann architecture.
The point is, C is utterly pervasive. Everything that we think is different from C is made from C.
If programming is turtles all the way down, C is the bottom turtle, standing on the solid ground of Von Neumann architecture.
The point is, C is utterly pervasive. Everything that we think is different from C is made from C.
Plenty of languages have self-hosting compilers or interpreters available, which are neither written in C nor written in something written in C.
https://en.m.wikipedia.org/wiki/Bootstrapping_(compilers)#Li...
I'm also pretty sure that some are written in C++, whose implementations are usually also written in C++, and which (while closely related to C) is not C.
> And of course, whatever you play with, it's running on an operating system written in C.
That's obviously not the case if what you are playing with is an OS written in not-C. It's actually not entirely true in plenty of cases, because operating systems that use C range from almost-entirely C (with some assembly) to C-among-other-things (e.g., z/OS and it's mix of PL/X, HLASM, and C/C++.)
> If programming is turtles all the way down, C is the bottom turtle
I’m pretty sure the bottom turtle is native machine code and/or processor microcode.
If you wanted to build Go from source, what would you build first? What version(s)?
Edit: the documentation is outstanding - https://golang.org/doc/install/source#go14