Blog | Shared | Projects | Info
My final thesis for my first University degree was about automated software testing and how it can be implemented at a company. While doing my literature review I stumbled across this beautiful Zen-like explanation why software will always contain bugs.

Thus spake the master: "Any program, no matter how small, contains bugs."

The novice did not believe the master's words. "What if the program were so small that it performed a single function?" he asked.

"Such a program would have no meaning," said the master, "but if such a one existed, the operating system would fail eventually, producing a bug."

But the novice was not satisfied. "What if the operating system did not fail?" he asked.

"There is no operating system that does not fail," said the master, "but if such a one existed, the hardware would fail eventually, producing a bug."

The novice was still not satisfied. "What if the hardware did not fail?" he asked.

The master gave a great sigh. "There is no hardware that does not fail," he said, "but if such a one existed, the user would want the program to do something different, and this too is a bug."

A program without bugs would be an absurdity, a nonesuch. If there were a program without any bugs then the world would cease to exist.

- Geoffrey James, The Zen of Programming
(back)