C++作者によるC++否定声明、その元になったC作者によるC否定声明(もちろんネタ)

 1999年にネット上に現れた、C++の作者、ビャーネ・ストロヴストルップのインタビュー記事と称するものがある。まあネット上の怪文書の類といっていいかと思う。
Bjarne Stroustrup インタビュー (?)


 ようするに、C++という言語は、ただいたずらに難しく、プログラマを混乱させ、ソフトウェアを鈍重に巨大化させるものであり、ストロヴストルップはそれを狙って設計したというもの。なぜそんなことをしたかといえば、プログラミングが簡単になった結果、プログラマの給料は下がってしまったから、誰も使えない難しい言語を作ったのだという話。もちろんこれはストロヴストルップ本人のインタビューではありえなくて、誰かのネタであるのだが、実際C++はちゃんと学習しようとすると嫌になる複雑さを持っているので、C++に挫折し続けている僕のような人間には「全く納得だ」と思えてしまうところがたちが悪いのだ。

 この文章が出た時、かなり僕的にウケたのだが、あとからこれがさらに昔のネタをおそらく参考にしているのではないかと気づいた。それはコンピューター業界の伝説的な文章「本物のプログラマPascalを使わない」のおそらく追加された部分にある「作者が認めた UNIX と C のウワサ」だ。
The Real Programmer Stories
これは短いので直接引用しよう。

作者が認めた UNIX と C のウワサ
 そのアナウンスがあったとき、コンピュータ産業は凍りついた。ケン・トンプソン、デニス・リッチー、そしてブライアン・カーニハンが Unix オペレーティングシステムプログラミング言語C を作ったのは、エイプリルフールの手の込んだ悪ふざけで、どうしたことか20年も続いてしまった、と認めたのだ。最近の UnixWorld ソフトウェア開発フォーラムで、トンプソンは以下のことがらを明らかにした:

 ``1969年、AT&T は GE/ハネウェル/AT&T 共同の Multics プロジェクトを打ち切ったところだった。ブライアンと私はちょうど、スイスのチューリヒ工科大学の Nichlaus Wirth 教授が作成した Pascal の 早期リリースに向けて、仕事を始めたところだった。私たちはそのエレガントなまでのシンプルさと能力に感銘を受けた。デニスはちょうど、トールキンの有名な 'Lord of the Rings (指輪物語)' の爆笑モノ政治風刺パロディー 'Bored of the Rings (指輪は飽きた)'を読み終えたところだった。そこで私たちは、Multics 環境と Pascal のパロディーという悪ふざけを考えることにした。デニスと私はオペレーティングシステムを担当した。私たちはまず Multics を見て、それから新しいシステムは普通のユーザのフラストレーションができるだけ溜るように、できるだけ複雑怪奇な代物になるようデザインした。これに Multics をもじって Unix という名前をつけ、きわどいけども遠回しにパロディーだとわかるようにもしておいた。それから、デニスとブライアンは Pascal を本当にひねったものを作り、'A' という名前をつけた。他の連中が'A'をもとにして本気でプログラムを書き始めてしまったので、私たちはあわててもっと複雑怪奇な機能を追加していって、B から BCPL、そしてついに C へと進化させた。下に示す文がきっちりコンパイルできるのを確認すると、私たちは進化を止めた:

for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
 こんな文法を許容してしまうような言語を、まさか現代のプログラマが使うだろうとは、私たちは思っていなかったんだ! 私たちはただ、このシステムをソ連に売れば、連中のコンピュータサイエンスは少なくとも20年ほど退化するだろうなぁ、とか考えてたんだ。AT&T その他の米国企業が本気で Unix と C を使いはじめたときは、驚いたのなんの! この1960年代の技術のパロディーを使って、ほんのちょっとでもまともなプログラムを書こうと思ったら20年の経験がいるんだから。だけど、私たちは Unix と C プログラマの不屈の精神を思い知ることになった (ふつうそんなことはしないが)。ブライアンとデニスと私は、ここ数年来どんな場合でも、ずっと Apple Macintosh 上の Pascal で仕事してきたし、この私たちがずっと昔やったバカなイタズラが、混沌と混乱と、じつに無作法なプログラミングを生んだ責任を痛感してたんだ。''

 AT&Tマイクロソフト、ヒューレット-パッカード、GTE、NCR、DECなど、主要な Unix ベンダーとその顧客は、現在のところコメントを控えている。ボーランドインターナショナルは Turbo Pascal、Turbo C、Turbo C++ など著名な製品を擁する Pascal と C 開発環境の最大ベンダーだが、この件については数年前から疑惑を持っており、今後は Pascal 製品の増強をさらに進める一方で、Cの開発は行なわない方針だと語った。IBMのスポークスマンは大笑いを止めることができず、RS-6000 の運命に関する緊急招集会議のニュースは聞くことができなかった。ただ、'VM は本当に、もうすぐ、出る'とだけ伝えた。Pascal や Modula 2、Oberon など構造化言語の生みの親である、チューリヒ工科大学の Wirth 教授は、ただ ``P. T. バーナムは正しかった''とだけ答えた。

 関連する最新情報:信頼できる情報筋(ふだんは)によると、上記と同様の告白が、今度はウィリアム・ゲイツ氏の口からMS-DOSとウィンドウズオペレーティングシステムについて行なわれる模様だ。IBM スポークスマンは仮想マシン (VM) 関連製品は内輪の冗談が誤って外部に洩れたものだという噂を否定している。

この文章の日付は1991年。1999年のC++否定インタビューと構造が似ている。これらが関係しているという証拠はないが、おそらくはC++否定インタビューの作者は、「作者が認めた UNIX と C のウワサ」を読んでいて、そのC++版を書き上げたのではないかと思う。