Software as Lossless Compression

If a program is a compressed form of the program’s output, then you might consider that there’s no margin for error in a compressed file: The uncompressed data has lots of redundancy in some cases, but change a bit of the compressed version and decompression won’t go well.

A program to produce an image of the Mandelbrot set can be just a few lines of code but produce an infinitely complex image. A few pixels here and there won’t damage the image much, but a few bytes changed here and there in the program will make it produce garbage or crash.

Reverse engineering a Mandelbrot set program would force one to discover the Mandelbrot set all over and would be extremely difficult, perhaps impossible, if the underlying mathematics weren’t known already.

In this analogy software development is the act of reverse engineering an imaginary program to produce an as-yet imaginary, sometimes vaguely visualized output.