2024-09-08Updated on 2024-09-21

Blockers

Epistemological obstacle was the term used by Gaston Bachelard in The Formation of the Scientific Mind to describe false ideas that impede our progress in learning about the world. He was specifically referring to ideas — most often metaphors — that persisted in science for extended periods through history.


The famous computer scientist Edsger W. Dijkstra highlighted the (dead) metaphor of the programming "bug" in his On the cruelty of really teaching computing science:

We could, for instance, begin with cleaning up our language by no longer calling a bug a bug but by calling it an error. It is much more honest because it squarely puts the blame where it belongs, viz. with the programmer who made the error. The animistic metaphor of the bug that maliciously sneaked in while the programmer was not looking is intellectually dishonest as it disguises that the error is the programmer's own creation. The nice thing of this simple change of vocabulary is that it has such a profound effect: while, before, a program with only one bug used to be "almost correct", afterwards a program with an error is just "wrong" (because in error).

While the bug metaphor seems harmless, Dijkstra argues that it shapes the practitioner's worldview in a pathological way. Bugs are entities that spontaneously appear and when they do we must initiate a process of debugging. The introduction of errors becomes naturalised and accepted, a fundamental part of one's workflow. It is an epistemological obstacle.

Bachelard and Dijkstra are iconoclasts. They do not wish to replace metaphors with other, better metaphors, but rather to destroy metaphors entirely as obscuring forces. Instead of invoking the image of a bug — Dijkstra suggests — we should just aim for correctness when writing programs.


The bug metaphor could be considered a generator of inverse problems. It allows for the multiplication of effects with unknown causes. To solve the problem we have to begin each time the difficult process of approaching the unknown. A great deal of a programmer's time is devoted to finding and eliminating bugs of unknown origin.


I am unsure how far the notion of the epistemological obstacle extends.

Of course there are the mundane procedural blockers of the corporate variety. Someone can't complete a task because another person didn't complete their own task. A chain of dependencies.

Then there are the emotional blockers that prevent us from creating art or expressing ourselves.

While metaphors can obscure the truth they are often a pragmatic device, turning us towards different possibilities, including new sources of truth. This is certainly the case in art but also the exploratory phase of science.

References

Backlinks

Other notes citing this page: