Loading...

JAVAのカバー

Original

2001年4月

このエッセイは、Java がなぜ疑わしいのかという理由について、他のプログラマー数人との会話から生まれました。これは Java の批判ではありません。これはハッカーのレーダーに関するケース スタディです。

時間が経つにつれて、ハッカーは良い(そして悪い)テクノロジーを見抜く嗅覚を養います。Java が私にとって疑わしいと感じた理由を書き留めてみるのは興味深いかもしれないと思いました。

これを読んだ人の中には、これまで誰も書いたことのないことについて書こうという興味深い試みだと考える人もいます。一方で、私が理解していないことについて書いていると思われて問題になるだろうと言う人もいます。ですから、これが役に立つかもしれないので、ここで私が書いているのは Java (使ったことがない) ではなく、ハッカーのレーダー (よく考えてきた) についてであるということを明確にしておきます。

「表紙で本を見分けることはできない」という格言は、本がシンプルな厚紙の表紙で販売され、購入者が自分の好みに合わせて製本していた時代に由来しています。当時は、表紙で本を見分けることはできませんでした。しかし、出版はそれ以来進歩しており、現在の出版社は表紙で本を見分けられるように努力しています。

私は本屋で多くの時間を過ごしており、今では出版社が本について私に伝えようとしていることのすべてを、そしておそらくそれ以上のことを理解できるようになったと感じています。本屋で過ごしていない時間はほとんどコンピューターの前で過ごしており、テクノロジーを見た目で判断することもある程度学んだように感じています。単に運が良かっただけかもしれませんが、私は実際にひどいものであることが判明したいくつかのテクノロジーから身を守りました。

今のところ、Java は私にとっては嫌なものです。Java プログラムを書いたことはなく、Java に関する参考書をざっと読んだ程度ですが、Java はそれほど成功する言語ではないだろうという予感がします。私の考えが間違っているかもしれません。テクノロジーについて予測するのは危険な仕事です。しかし、タイム カプセルのようなものとして、私が Java の見た目を気に入らない理由を述べておきます。

  1. Perl は、非常に熱心に宣伝されてきました。本当の標準は、宣伝する必要はありません。C や Unix、HTML を宣伝する必要は誰もありませんでした。本当の標準は、ほとんどの人がそれについて耳にする頃にはすでに確立されている傾向があります。ハッカーのレーダー画面では、Perl は Java と同じくらい、あるいはそれ以上に大きくなっています。それは、Perl 自体のメリットの強さによるものです。

  2. 目標は低い。オリジナルの Java ホワイト ペーパーで、Gosling は Java は C に慣れたプログラマーにとって難しすぎないように設計されていると明確に述べています。Java は C++ のもう 1 つ、つまり C に、より高度な言語から取り入れたいくつかのアイデアを加えたものとして設計されました。シットコムやジャンク フードやパッケージ ツアーのクリエイターのように、Java のデザイナーは、自分たちほど賢くない人たちのために意識的に製品を設計していました。歴史的に、他の人が使うために設計された言語は良くありませんでした。Cobol、PL/I、Pascal、Ada、C++ などです。良い言語は、その開発者のために設計された言語です。C、Perl、Smalltalk、Lisp などです。

  3. そこには隠された目的があります。かつて誰かが、人々が本を書きたいからではなく、言いたいことがあるから本を書いたら、世界はもっと良い場所になるだろうと言いました。同様に、私たちが Java についてよく耳にするのは、それがプログラミング言語について何かを語っているからではありません。私たちが Java について耳にするのは、Sun が Microsoft を弱体化させる計画の一部だからです。

  4. 誰もそれを愛していません。C、Perl、Python、Smalltalk、Lisp のプログラマーは自分の言語を愛しています。Java を愛しているという人を私は聞いたことがありません。

  5. 人々はそれを使わざるを得ません。私が知っている Java を使用している人の多くは、そうしなければならないと感じているために使用しています。資金を得るためにそうしなければならないと感じたか、顧客が望むと思ったか、経営陣からそうするように言われたかのいずれかです。彼らは賢い人々です。テクノロジーが優れていたら、自発的に使用していたでしょう。

  6. 料理人が多すぎます。最高のプログラミング言語は、小さなグループによって開発されてきました。Java は委員会によって運営されているようです。Java が優れた言語であることが判明すれば、歴史上初めて、委員会が優れた言語を設計したことになります。

  7. 官僚的です。Java について私が知っていることのほんの一部からすると、物事を行うためのプロトコルがたくさんあるようです。本当に優れた言語はそうではありません。やりたいことをやらせて、邪魔をさせません。

  8. これは偽の流行です。Sun は、Java が Perl や Python のような草の根のオープンソース言語の取り組みであると偽っています。これはたまたま巨大企業によって管理されているだけです。したがって、この言語は、大企業から出てくる他の言語と同様に、味気ない不格好なものになる可能性があります。

  9. これは大規模な組織向けに設計されています。大規模な組織はハッカーとは異なる目的を持っています。彼らが求めているのは、凡庸なプログラマーの大規模なチームでの使用に適している (と思われる) 言語、つまり、U-Haul トラックの速度リミッターのように、愚か者が大きな損害を与えないようにする機能を備えた言語です。ハッカーは、自分たちを見下すような言語を好みません。ハッカーが求めているのは、権力だけです。歴史的に、大規模な組織向けに設計された言語 (PL/I、Ada) は負け、ハッカー言語 (C、Perl) は勝ちました。その理由は、今日の 10 代のハッカーが明日の CTO になるからです。

  10. 間違った人たちが Java を好みます。私が最も尊敬するプログラマーたちは、総じて Java に魅了されていません。Java が好きなのは誰でしょうか。言語の違いはわからないが、メディアで Java についてよく耳にするのは知っているスーツ姿の人、C++ よりも優れた言語があることに驚いている大企業のプログラマー、そして、仕事につながるものなら何でも好きになる (これはテストに出るのでしょうか?) 準備ができている、プラグ アンド チャグの大学生。これらの人々の意見は、風が吹くたびに変わります。

  11. 親会社は窮地に立たされている。Sun のビジネス モデルは 2 つの面で弱体化している。デスクトップ マシンで使用されているのと同じタイプの安価な Intel プロセッサは、現在ではサーバーに十分な速度を備えている。また、FreeBSD は少なくとも Solaris と同等に優れたサーバー用 OS のようだ。Sun の宣伝では、産業用アプリケーションには Sun サーバーが必要であると示唆している。これが本当なら、Yahoo が真っ先に Sun を購入することになるだろう。しかし、私がそこで働いていたとき、サーバーはすべて FreeBSD が稼働する Intel ボックスだった。これは Sun の将来にとって悪い前兆である。Sun が問題に直面すれば、Java も巻き込まれる可能性がある。

  12. 国防総省は Java を好んでいます。国防総省は開発者に Java の使用を奨励しています。これは私にとって最も非難すべき兆候のように思えます。国防総省は国防という素晴らしい仕事をしていますが (費用はかかりますが)、計画や手順やプロトコルが大好きです。彼らの文化はハッカー文化とは正反対で、ソフトウェアに関する問題では間違った判断をする傾向があります。国防総省がプログラミング言語を本当に好んだ最後の例は Ada でした。

念のため言っておきますが、これは Java の批評ではなく、その表紙の批評です。私は Java を好きになったり嫌いになったりするほど Java をよく知りません。これは、私が Java を熱心に学びたくない理由を説明しただけです。

ある言語でプログラムを書いてみないうちにそれを無視するのは軽率に思えるかもしれません。しかし、これはすべてのプログラマーがしなければならないことです。世の中にはあまりにも多くの技術があり、すべてを学ぶことはできません。外見から判断して、どれが時間の価値があるかを判断することを学ばなければなりません。私も同様に、Cobol、Ada、Visual Basic、IBM AS400、VRML、ISO 9000、SET プロトコル、VMS、Novell Netware、CORBA などを軽率に無視してきました。それらは単に何かがおかしいと感じたからです。

Java の場合、私が間違っている可能性があります。ある大企業が別の大企業を弱体化させるために推進し、委員会によって「主流」の聴衆向けに設計され、大いに宣伝され、国防総省に愛された言語が、それにもかかわらず、私がプログラミングしたいと思う、クリーンで美しく、強力な言語である可能性があります。その可能性はありますが、非常に低いようです。