コンピュータ業界の歴史は「おもちゃ」による勝利の積み重ね

(追記(2008-07-09): このエントリはタイトルにあるように「歴史ではおもちゃこそが勝ってきた」ことを再認識することが焦点であり、JavaRubyHSPは話の本質ではありません。誤解を避けるため、当初つけていたカテゴリ[java]は外しました。)


これはJava屋さんのホンネがよく出てる。

いっても良いですか?PerlとかRubyとかツールであって言語じゃないんです。Javaは言語にふく組まれています。PerlRubyは遊びお道具なんです。まあ、まじめにやれば、言語になるけど、エラー処理とか書きにくそうなんですね>Perl。PrelはC言語のにおいがします。RubyPascalのにおいがします。大体、変数宣言・型宣言しなくても変数がつかえるって、昔のBASICと同じじゃないですか?

http://d.hatena.ne.jp/oredoco/20080626/1214416910

(強調は筆者による)

これがJava屋さん(もちろん部分集合)のホンネだろうね。俺たちはホンモノを扱っているんだ、おもちゃで遊んでいる連中と一緒にするな、というホンネが。
ちょうど、RubyistHSPを下に見ているのと同じだな。どっちも、ろくに使ってもいないのにバカにしているという点でもよく似ている。


ただなぁ、コンピュータ業界の歴史を振り返ると、「おもちゃ」が勝利を重ねてきた歴史なんだよな。

  • たくさんの偉い人が集まって作ったMulticsはろくに使われなかったのに、某研究所の片隅に転がっていたマシンで作られたUNIXは大人気に。
  • そのUNIXがバカにしていたMS-DOSWindowsは、コンシューマ用OSで世界制覇を果たした。
  • 国防省キモ入りで委員会によって作られたAdaは国防省の案件ぐらいでしか使われず、個人が作ったPascalやCのほうがずっと広まった。
  • IBMが推進していたTokenLingは、Ethernetの安さに完全に敗北。
  • RISC派がバカにしていたCISCは、RISCが得意としていたサーバ分野も制覇。
  • Mac信者がバカにしていたx86は、今はMacのCPU。
  • SCSIがバカにしていたIDEは、改訂を重ねて今でも主力技術のひとつ。
  • BSD派がバカにしていたLinuxは、UNIX系OSとしては世界で最もよく使われているOSになった。
  • OracleがバカにしていたMySQLは、GoogleFacebookなど新興企業が軒並み採用。
  • みんながバカにしていたJavaScriptは、今や空前のブーム。
  • メインフレームはミニコンに、ミニコンはPCに、そして今やPCはケータイやDS-Liteに取ってかわられようとしている。


こういう歴史を顧みると、将来的には、

  • JavaがバカにしていたRubyPHPは、Webアプリ全盛時代には完全に主力言語の地位を占め、Javaはメンテナンスでしか見なくなった。
  • そのRubyがバカにしていたHSPは、「だれでもプログラミング」という時代に人気を博し、特に子供たちの間で人気が爆発した。

とかいう状況になってもおかしくないよね。ほんと未来のことなんて誰にもわかんない。

大型汎用機で採用されてる言語って、この3つの中ではJavaしかないと思うけどどうでしょうか?

http://d.hatena.ne.jp/oredoco/20080626/1214416910

基準がよくわからんな。メインフレームや旧AS/400のことを言っているなら、Javaですら主要言語じゃないと思うんだが。

銀行のシステムの重要な部分がPerlRubyでできてると知ったら、オレドコその銀行解約するわ。

http://d.hatena.ne.jp/oredoco/20080626/1214416910

システムの信頼性について言っているのかな? システムの信頼性は設計と運用で決まるものであって、言語で出すものじゃないよ。
データの信頼性について言っているのであれば、それは言語じゃなくてデータベースで保証するものだよな。データベースをちゃんと理解して作ってあれば、JavaでもRubyでもPHPでもあんまり関係ないと思うけど。
もちろんTuxedo使いたいからJavaを選ぶとかは多いにアリ。でもそれって、Javaが優れているから選ぶというよりは、使いたいミドルウェアがまずあって、そのあと従属的に使用言語が決まっているだけだよね。

Perl信者やRuby信者の扱いには気を使えないと。Javaは昔は信者がいっぱいいたけど、これだけ普及してしまったので、信者がいるかどうかも不明、Windowsの信者がいないのと同じ。大型汎用機の中身触ったのは少ししかないけどCOBOLJavaに移行しているのは間違いない(5年以上前からの事実)

http://d.hatena.ne.jp/oredoco/20080626/1214416910

信者はたくさんいるでしょ。特にJavaしか知らないようなのが。
それはいいとして、COBOLからの移行先として、Javaは妥当。C#じゃあないな。
C#だとMicrosoftの都合に振り回されるので、寿命が長いシステムほどC#はやめたほうがいい。

Javaの場合はVM上で動くので、大型汎用機としても扱いやすいと思う。

http://d.hatena.ne.jp/oredoco/20080626/1214416910

VMで動くことと汎用機とは関係ないな。PerlPythonVMで動くけど、それと汎用機とは何の関係もない。

宗教戦勝に巻き込まれるのは嫌だから、退散。素人がオープン系だけに目を向けるけど、大型汎用機の世界がIT(SI)世界の原点で、その技術がオープン系に落ちてくるだけ。

http://d.hatena.ne.jp/oredoco/20080626/1214416910

こんだけ書いといて、『退散』とかアホか?
それと、今は Google のように汎用機をまったく使わず、汎用機の技術も使わず、独自に新しい技術を生み出している企業やグループや個人がたくさんいるから、『大型汎用機の世界がIT(SI)世界の原点』なんてことを信じていたら、技術者としてはやっていけないんじゃないかな。