
Abstraction, Or, the Gift of Our Weak Brains - mossity
http://engineering.pivotal.io/post/abstraction-or-the-gift-of-our-weak-brains/
======
greenyoda
_" NASA computer scientists (perhaps some of the smartest, most exacting and
meticulous people assembled since the Manhattan Project) write code that is so
inscrutable that modern-day maintainers are forced to read the authors’ mail
to figure out what the hell the software was intended to do."_

The structure and quality of that code itself (e.g., its level of abstraction)
may not be the main obstacle for a new developer trying to understand it. The
real problem is the domain, i.e., the systems of the spacecraft that the code
is controlling. Detailed information about the domain is rarely documented in
the code itself, and if you haven't worked with a Voyager spacecraft before,
you'd need to dig up information about that hardware and its limitations for
the code to make any sense to you.

As a more mundane example, if you were writing an operating system, you
wouldn't document the complete specs of the hardware inside the operating
system code - you'd assume the hardware was documented in reference manuals
that were available to future operating system developers. But if you didn't
know anything about computer architecture and tried to understand the code for
a Linux device driver, you'd find the code "inscrutable", even if it was well-
written.

