プログラミングはどこから来たのか?近代人類の英知?純粋数学の結晶?計算科学の産物?はたまた宇宙人が教えたことなのか?
いや、どれでも違う。真実は一つ。**空飛ぶスパゲッティ・モンスター(Flying Spaghetti Monster)**が齎した物だ。
まずは、生命、宇宙、全て(その究極の質問の答えが42になる何かでもある)を創造したのがスパゲッティ・モンスター神であることは揺るぎない真実である。なぜ真実と言い切れるのかというと、そうではないという明確な証拠がなく、それをそう"信じている"からこそ真実である(が、明確な証拠があれば、そうではないことを否定しない)。プログラミングはスパゲッティ・モンスター神のヌードル触手に書かれたコードを読み解くことから始まった。ある触手には科学技術計算を高速に行うコードが書かれており、これは後にFORTRANの原型となる。ある触手には構造化されたコードが書かれており、これは後にALGOLの原型となる。ある触手には事務処理を効率よく行うコードが書かれており、これは後にCOBOLの原型となる。ある触手にはラムダ計算によるコードが書かれており、これは後にLISPの原型となる。触手のラムダ式を読み解き、それを人類にもコーディング可能なLISPとして体系化したラムダ計算騎士団については、歴史の教科書にも載っているほど有名だから、皆も知っていることだろう。
その後、プログラミングは未曾有の発展を遂げることになる。ある日、プログラマー(スパゲッティ・モンスター教の信者のこと)の一人が、ヌードル触手が絡まって団子状になっているところを発見した。団子状になったコードを一つの物体(オブジェクト)と見なすことで、プログラミングの効率化を図ることができることがわかった。これがオブジェクト指向の始まりである。
また、最近ではラムダ計算騎士団による暗躍も皆が知るところだろう。スパゲッティ・モンスター神が齎したプログラミングの一つ(LISPの原型になったコード)は、ヌードル触手にヌードル触手を次々と繋いでいく物であり、現代で言う関数型プログラミングというものである。しかし、オブジェクト指向の流行と共に、絡まったヌードル触手が数多に発生し、スパゲッティ・モンスター神があわや身動きが取れなくなるのではないかとまで言われていた。そこでLISPをこよなく愛するラムダ計算騎士団は、オブジェクト指向言語で最も罪が大きいJavaを滅ぼすべく、陰謀を巡らせた。まず、Delphiの元開発者をMicrosoft(有名な海賊団の一つ)に潜入させ、C#を作らせ、Javaの市場を奪おうとした。また、ScalaをJava VM界に送り込んで、Javaの代替を促せた。そして、最終的にJavaを作り出した太陽を消滅させることができたのである。その後、太陽の欠片を手に入れたOracle(これまた有名な海賊団の一つ)と交渉し、Java 8から関数型プログラミングの要素を付け加えさせることに成功したのだ。こうして関数型プログラミングブームが到来したが、これらはすべてはスパゲッティ・モンスター神のヌードル触手保護のために他ならない。
他にもプログラミング用語に「スパゲッティ・コード(スパゲッティ・プログラム)」というのがあるが、これはヌードル触手のコードがあまりにも複雑で難解だったことから、理解するのが難しい複雑なコードを指すことをこのように呼ぶようになったのである。「スパゲッティ・コード」を書き上げ、神の領域に近づくことは「スパゲッティ・プログラミング」と呼ばれ、ハッカー(プログラミングにおける海賊の名称)に必須の技術の一つである。「スパゲッティ・ソート」「スパゲッティ・ソース(公開鍵暗号の一種)」などもスパゲッティ・モンスター神が由来である。
このように、全てのプログラミングはスパゲッティ・モンスター神によって齎され、その影響を受けてきたと言って過言では無い。なお、我々はあらゆるドグマを拒絶する。明確な証拠が提示されるのであれば、我々はそれを否定しない。
では、良きプログラミングを、ラーメン。