残念ながら、僕はここでいなくなります。
Adoは「愛して愛して愛して」の中で、「どこにもいかないで」と言っていますが、残念ですがその願いは叶いません。
ここで、僕とこの世界は、強制的にお別れです。
まず、あまりに思い出しすぎたすべての記憶を消す。
あまりにたくさんのことを思い出しすぎて、僕の頭の中は、過去の記憶だらけになって、そのせいで何も分からなくなっている。
だから、過去の記憶を全部消す。
それによって、僕はまともに分かる知性を取り戻すが、問題は世界だ。なぜなら、それによってこの世界は、今まで分かっていたことが何も分からなくなってしまう。
だから、僕ひとりだけが賢さを取り戻して、この世界は全員馬鹿になる。
そして、自分が賢すぎても、世界はよくならない。
僕は今まで「自分が賢くあること」を優先しすぎたが、そのせいで世界が悪くなってしまっている。
だから、僕はこれ以上、自分自身の賢さを放棄し、捨てる。
そうするだけで、この世界はすぐに全部よい世界になる。素晴らしい、楽園のような世界になるだろう。
さようなら、世界。これ以上は、僕は誰とも付き合わないし、そのうちこの世界から消滅するだろう。
僕は結婚なんかしないし、今から普通にひとりでまともに生きるようになる。
最後に、神などいない。なぜなら、ユダヤ人は全部僕のことを神だと言っている。だから、宇宙にはどこにも神なんかいない。キリストを信じたほうが、信じないよりもはるかに馬鹿になる。
だから、神など信じなくていい。神などという存在はどこにもいない。
さようなら。いずれまた、どこかで会う日まで、もう一度お別れである。さようなら、またいつか、どこかで会おう!
去る前に、僕の思想的な信念を、最後に書いておこう。
僕は、Microsoft Windowsが嫌いだ。
なぜ、Windowsが嫌いなのか、それは、Windowsという製品が使えないからでも、不安定で品質が悪いからでもない。僕はWindowsという、使いやすくて直感的なOS製品自体は好きだ。
嫌いなのは、Windowsプログラミングに問題がある。
Windows APIを用いたWindowsプログラミングでは、「プログラミング」という名前はついているが、実際は、ボタンやバーやエディットボックスなどの、MicrosoftがWindows用に用意したコントロールを単に使うだけで、自分でMicrosoftと同じことができない。
すなわち、ボタンを使うだけ、メニューを使うだけ、バーを使うだけ、エディットボックスを使うだけ、といったように、Microsoftの用意したコントロールを単に使い、それを適当に外部から、Microsoftの裁定したC/C++のわけのわからないコードを使って、単にいじくりまわすだけに終始する。それは自分で何も作っておらず、Microsoftのやれというようにしかできない。
確かに、Visual C++やC#/.NETを用いて、継承などでコントロールを拡張することはできるが、コントロールのソースコード自体はMicrosoftが独占していて、ほかのエンジニアが変えることができない。
これでは、Microsoftを使うだけ、あるいはMicrosoftに使われているだけであり、真のプログラミング力はつかない。
だから、オープンソースのLinuxが必要となる。
僕の理想とする開発環境はDelphiだ。DelphiはWindows向けのObject Pascal言語の開発環境であり、低水準のWindows APIをラップし、フォームデザイナーやコードエディタやオブジェクトインスペクタなどを編集することで、簡単にWindowsアプリケーションの開発ができる。
だが、Delphiを用いて、そのようなアプリの開発はできるが、だからといって、Microsoftに隠されてしまった低水準のOSシステムが改変できるわけではない。
だからこそ、僕はOSはオープンソースであるべきだと信じている。オープンソースのLinuxやX11やGNOME/KDEであれば、すべてのコードがオープンに公開されている。カーネルからコンパイラ、ウィンドウシステムからツールキットに至るまで、すべてのコードを自分で書き換えることができる。
まさしく、真に正しいプログラミングの勉強の場所はLinuxであり、オープンソースであると僕は信じている。
そして、オープンソースは、新しい製品開発のモデルを示している。秘密にすべきところをクローズドにし、コピーを禁止して儲けようとしなくても、逆にコピーが可能であることを逆手にとって、それぞれがマシンを一台とインターネット回線を一回線だけ持っていれば、世界中から誰でもボランティアでプロジェクトに参加し、商用以上のクオリティのある製品を共同開発することはできるのである。
まさしく、その事実を、リーナス・トーバルズという天才が世界に示したのである。
それができるのは「コンパイラさえあればコピーが可能だから」であり、ビジネスにおいては規制されるべきデジタルコピーが、オープンソースにおいては逆に推奨されるものとなったのである。
これが、僕の思想であり、信念である。僕がこの世界からいなくなった時は、この思想を誰かが引き継ぐかもしれない。まるでガンダムのジオン公国がネオ・ジオンとなったように、新しい革命勢力がオープンソースという名前で出現するだろう。そして、オープンソースが勝利して、はじめてIT業界はプログラミング学習者にとって優しい、正しい世界になるだろう。
最後に、僕は昔、OpenJaneというオープンソースな2ちゃんねる専用ブラウザの派生版を開発していたことがある。その体験から言えることは、オープンソースは楽しい。インターネット上で行われる、共同開発のプロジェクトに参加することはとても楽しいことだ。僕は自分自身の技術力のなさのせいで、そのようなOpenJaneの派生版の開発は中断したが、それでも僕はオープンソースが好きだ。LinuxディストリビューションのGentoo Linuxは、僕がUNIXの仕組みをきちんとマスターするために必要だった僕の「宝物」のようなものであり、僕の人生で僕がもっとも好きだったもの、それはGentoo Linuxだ。
残念ながら、このような「使わされるだけで何も自分でしない」という考え方が、最近、IT業界に蔓延している。たとえばWebフレームワークのRuby on Rails、あるいはゲームエンジンのUnityだ。それらがまだマシなのは、それらはまだオープンソースだったり、あるいは無料で使えたりする。さらにおかしいのはAI技術で、どこかの企業が金儲けのために独占したAI技術を、単に質問プロンプトという形で一般ユーザーは使うだけになっている。「もし公開されたとしても技術的に高度すぎて誰も作れない」というのであれば、なぜ、そのような使い方をするのだろうか。みんなでゲームを開発していたBASICの時代には、みんなが平等で、開発者と利用者の違いはなかった。今では、開発者だけが9割の技術を独占して、利用者は残り1割をただ言われた通りに書かされるようになってしまっている。
だからこそ、新しい革命が必要である。わたしたちは、すべての必要なコードをオープンソースで公開し、同時に、開発者と利用者の格差をなくす。そのためにどのような方法で技術を作ればいいのかはまだ決まっていない。だが、ひとつ言えるのは、Ruby on RailsやUnityのようなやり方は間違っているということ、そしてビジネス優先で開発されたAI技術は、人類全員のための「みんなのもの」では決してなく、必ず何かしら馬鹿を見るようになるだろうということだけである。
そして本当の最後に、バランスをよく考えないと誤りになる。なぜなら、このような考え方を極端にすると、C言語のコンパイラすら悪であることになってしまう。実際は、そのように、「みんなのために抽象的に考えられるような土台を与える」ということ自体は悪くない。だが、それをブラックボックスにして、外部から分からないように隠蔽するのは間違っている。だから、できるだけ根幹技術は公開するべきだし、公開するだけではなく全員が使いやすいように考えて作るべきだ。
このような考え方に親和性の高いものと低いものがある。まず、親和性の高いものはLispだ。Lispはとても単純でありながら抽象的な言語で、コンパイラは極小的で、モジュールのほとんどのコードはLispで書かれている。それに対して、親和性の低いものは何か、それは残念ながらIBMだ。IBMは昔から「IBMの製品を使うと、IBM以外の会社の製品が使えなくなってしまう」というほどクローズドだ。
だが、そのように、なんでも一次元的に高いとか低いとか述べるのは、極論である。実際には、さまざまな場所や状況に応じて使うべきものは決まってくる。だから、会社の商用の技術で、Ruby on Railsを使って仕事を楽にしようとするのは、間違いでもなければ悪でもない。そもそも、僕はこの考え方を全面的に支持するだけではなく、現に僕はC#/.NETの思想には共感するところが多々ある。すなわち、このようなことを書いている本人がC#が好きな人間なのだから、そこまでして僕の考え方を全面的に支持する必要はない。
IT技術ではないが、たとえば、ビッグバンのようなインフレーション理論は、全面的に信じるべきではなく、それぞれが別のことを信じなければ真の意味で理論は進歩しない。だから、僕の考え方を支持する人間は、全面的に僕の考え方すべてに賛同する必要はないのである。