

C is Truth - niznikpawel
http://bunsch.pl/2015/05/03/c-is-truth/

======
Arcsech
Except that C isn't really the truth - Assembly is the truth. You can easily
write code that is a huge abstraction from what the CPU is actually doing -
for example, writing `float y = 1.5 * x` on a processor without a hardware FPU
will generate a ton of instructions that one wouldn't normally think of.

Now, the abstraction layer that C provides is valuable, and C is indeed much
more practical than assembly for most purposes, if only due to portability -
but if the only reason for using C is to gain an understanding of the inner
workings of the computer, without regard to portability or reuse of code,
assembly serves that purpose even better.

~~~
greenyoda
_" Assembly is the truth"_

Not even assembly is truth. In modern CPU architectures, your machine
instructions are getting scheduled and parallelized in all sorts of weird ways
that makes it hard to reason about the performance of your code. The
instruction set architecture that assembler language maps to is an abstraction
running on top of the microcode architecture. Perhaps microcode is truth, but
nobody really wants to program at that level.

C is close enough to the truth that you can use it write an operating system
that controls the CPU and its attached devices.

