Grahamのプログラミング言語観・その4満足せる豚。最後に、ハッカーとしてのGrahamが見る言語の未来をまとめて、言語観についての話を終わりとしたい。Grahamのプログラミングへの考察はその多くが「こうあるべきだ」という姿を描いている。「こうなるだろう」という予測を述べたものは意外なほどに少なかった。Grahamのプログラミング言語観の最後として、少ない中からGrahamの予測するプログラミング言語の未来をまとめておく。Javaについて現在、Javaがエンタープライズ系のシステムで使われる主要言語の一つであることに異論がある人はいないだろう。日本でも確実に使用事例が増え、Javaプログラマの求人は絶えない。企業の新人研修でもJavaを学ばせるところが増加しており、まさにオブジェクト指向時代のエース格といった扱いである。GrahamのJavaへの印象は少し毛色が違う。Javaはたしかに普及はしている。言語としてのJavaにはこれ以上の進化の可能性は少ないというのがGrahamの見方だ。生物種と同様に、言語も枝分かれや行き止まりがそこらじゅうにある進化の系統樹を形成する。その一部は現在でも観て取れる。Cobolは、かつてあれだけ流行ったのに、知能ある子孫を残してはいないようだ。それは進化の行き止まり、ネアンデルタール言語なんだ。Javaも似たような運命をたどるのではないかと私は予測している。時々、「Javaが成功する言語にならないなんて言うのはどうかしてるよ。成功してるじゃないか」というようなメールを私に送って来る人がいる。Javaは成功していると言えるだろう。私がJavaは成功する言語にならないだろうと言うのは、もう少し限定した意味においてだ。Cobolがそうであったように、進化の袋小路に向かうだろうということだ。---"Javaは統制の取れた言語だ。(そうでもない部分もあるが。)安全にコントロールされた状態を目的としたシステム開発には非常に向いている。企業がこぞって使いこれだけの人気言語となったのだろう。その安全を手に入れるための代償として、制限というデメリットを生んでいる。Javaはルールを覚えれば、無難にプログラムがしやすい言語だ。そのルールがきっちりと固まっている。worldと表示するだけのプログラムをどれだけの行数で書けるかというものだが、Javaの場合は「おまじない」と通称される前手続きが他の言語に比べかなり多い。このルールがしっかりとしている点が、企業にとっては安心に繋がり、言語としては先行きの自由度の低さを生んでいる。細かい点での進歩は遂げるだろうけど、劇的なパラダイムシフトへ対応するような進化は期待できない、と言えば良いだろうか。いった意味でGrahamはJavaはCobol的だと言っているのだろう。これはJavaに先はないという意味ではない。Cobolのように現存するシステムを繋いでいくためにJavaの需要は尽きることがないだろう。その普及はこれまでのような爆発力はなくなり、もうしばらくすると新しく作られるシステムにはよりWebの開発に向いた言語が選択されるケースが増えてくるということだ。このJavaの未来図には実感としてかなり納得できる。あとはこの変化のスピードがどの程度かが問題だが、少なくとも日本においては意外とゆっくりであると思う。Language(PerlやPython、そしてRuby)の採用が増えていく。Languageが適しているからだ。Languageへシフトするのは、その後だ。彼らはスタンダードを踏襲する。前例として確立されるまでは、すでに確立されたスタンダードであるJavaによる開発を続けるだろう。Languageの開発が主流となり、(2)それが事例として認知され、(3)エンタープライズの現場でも採用され始める、という手順を考えると4〜5年かけての変化となりそうだ。Universe"辺りが今日の共通認識と思っていいと思う。(続く)このBlogのトップへ│前の記事│次の記事このページの上へ。