Sun、Javaモバイルデバイス展開をブレイ氏語る(2/2 ページ)

» 2007年05月08日 18時18分 公開
[渡邉利和,ITmedia]
前のページへ 1|2       

 PHPに関しては、同氏は「セキュリティと管理性(Maintanability)に難があり、企業内でのシステム開発に利用するのは推奨しない」とコメントしている。また、RubyおよびRuby on Rails(Rails)については高く評価しているようだ。特にRailsに関しては、「従来のJava EEのようなWebフレームワークとは大きく異なる。EEが柔軟性を重視しているのに対し、Railsは開発迅速性を重視しており、これを求める企業ユーザーも多い。管理性に関しても良好だ」とした。

 そして、「Railsが今後広く普及していくかどうかは、同様の狙いを持った新しいシステムがさまざま出現してきていることもあって確実なことは言えないが、少なくともRailsには他のシステムが学ぶべき点が多くある」という。

マルチコアプロセッサへの対応

 最後にコンカレンシー/並列化プログラミングについてだ。

 プロセッサはマルチコア化/マルチスレッド対応が急速に進行しており、SunのプロセッサであるUltraSPARC T1では、コアあたり3スレッド実行可能なコアを8個集積している。

 従来であれば、今年は低速だったソフトウェアが来年には高速に動作する……、と期待することができたが、今後はプロセッサが進化しても並列度が向上するだけで高速化には直接結びつかなくなるかもしれないという。

 同氏は、Javaはマルチ・スレッド化や並列化に対する優れたサポートを提供しているが、実際にはJava EEを利用する企業開発者の数はそれほど多くはない。並列化プログラミングは現時点では困難なものであり、多くの開発者がすぐに対応できるとは思えないという。もっとも、これに関しては「かつては、ほとんどのプログラマはオブジェクト指向を理解できないだろう、と言われていたので、将来にわたって正しい保証はないが、少なくとも現時点では並列化プログラミングが難しいものであるのは間違いないだろう」としている。特に、デバッグやテストの環境が貧弱な点が問題だという。

 最新のプロセッサの能力を活用するには「新しいアイデア、新しい方向性」が必要なのだが、それはまだ具体的には見えてきていない。ただし、面白い方向性も出てきているとして紹介されたのが、GoogleのMapReduceやHadoopといったライブラリであり、高負荷な大規模処理を数万といった規模の多数のプロセッサを利用して高速に処理することを支援する。

 また、Ericssonが電話交換機用に開発した関数型言語“Erlang”では多数のスレッドを効率的に高速処理でき、特にメッセージ・パッシングが高速だという。ただし、関数型言語はJavaやRubyといった言語に馴れた開発者の目には奇妙に見えるもので、こうした優れた機能をどうやってJavaなどに取り入れていくことができるのは今後の課題だという。

 これに関して同氏は、「段階的に変えていくのが正当だろうが、大きな痛みを覚悟して一気に大変革を起こしてしまい、痛みは大きいが痛む期間は短い、というアプローチもあり得るとは思う」と語っている。

 Javaは既に誕生から10年以上が経過しており、そろそろ枯れた存在になりつつあるという印象が強い。とはいえ、周囲を取り巻く環境の変化に対応してさまざまな変化の芽が出てきていることが分かる有意義な話となった。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ