プログラミングは精神における病。自己における病であり、それには3つの場合がありうる。
プログラミングを学んでも、より良いコードがあることを自覚しない場合(非本来的なプログラミング)。
プログラミングを学ぶことで、(より良いコードがあることを知り)自身のコードを捨てる場合。
プログラミングを学ぶことで、(より良いコードがあることを知っても)自身のコードに固執する場合。
<中略>
ここにひとりのプログラマがいたとする。
そのプログラマが自身のプログラミングにおける哲学の欠落に気づいているつもりでおり、その哲学を、全力をあげて、自分自身の力で、ただひとり自分自身の力だけで、改善しようとすれば、そのとき彼は、なお自身の哲学のうちにいるのである。
自分は全力をふるって努力しているつもりでも、努力すれば努力するほど、ますますコードの深みに潜り込むばかりである。
プログラミングにおける哲学は長所であろうか、それとも短所であろうか。
まったく弁証法的に、哲学はその両方なのである。
その深みでもがく人間のことを考えないで、あくまでも抽象的な思想としてプログラミングを考えようとすれば、哲学は非常な長所である、と言わざるをえないだろう。
この病にかかりうるという可能性が、哲学を持つプログラマが自然のままのプログラマより優れている長所なのである。
そしてこの長所は、優れたコードを書くということとはまったく違った意味で、プログラマを優越せしめるものである。
なぜかというに、この長所は、プログラミングが精神であるという無限の気高さ、崇高さを指し示すものだからである。
この病にかかりうるということが、哲学を持つプログラマが自然のままのプログラマより優れている長所なのである。
この病に注意しているということが、プログラミングの哲学に迷い込んだハッカーがその深みを知らぬコーダーよりも優れている長所なのである。
この病から癒されていることが、プログラマの至福なのである。
このようにして、プログラミングにおける哲学は、無限の長所である。
けれども、コードの深みを徘徊することは、最大の不幸であり悲惨であるにとどまらない。
それどころか、それは破滅なのである。