Java Expert+gihyo.jp Presents Sun Microsystems, Inc.スペシャルインタビュー集

Javaの父,James Gosling 特別インタビュー どうやってJavaが生まれたのか,そして,今後はどうなるのか

この記事を読むのに必要な時間:およそ 2 分

Javaの12年

「12年すべてを振り返るのはとても難しいです。皆さんもご存知のようにJavaの歴史はカラフルで,たくさんの出来事がありましたから。全部話したら何時間かかってしまうかわかりません(笑)。

そこで,いくつかのトピックごとにお話ししましょう」。

なぜJavaを作ろうと思ったか?

Javaの父,James Gosling氏

画像

「Javaの開発動機,それは開発者の人生をシンプルにしたいことでした。シンプルにするというのは,単に簡単にデモが作れるとかではなく,業界水準に耐えられる品質で,かつ開発を簡単にしたい,ということです。

開発するにあたっては,C/C++,Lispなどさまざまな言語を取り込んでいます。そして,機能面だけではなく,開発者のマインドを大切に考えました。それまで他の言語で開発していた方たちが,違和感なく,そのままJavaの開発をできるようにしたかったからです。すなわち言語間の開発文化を重要な要素としていたのです。

こうしたコンセプトを元に,Sunのプロジェクトの1つとしてJavaは生まれました。最初は3,4人ぐらいでスタートして,その後20人ぐらいまで増えて軌道に乗りました。

また,Javaの開発にあたって,Gosling EmacsやTECOなどコンセプトやアーキテクチャ的には異なるものでも,そのときの開発経験は大変役に立ちました」。

Javaのバージョンアップ

「その後,Javaはバージョンアップごとに大きな変化をしています。大きく分けると1.1~1.3まではパフォーマンス,信頼性,APIの拡張を意識したアップデートが行われました。1.4ではエンタープライズでの用途を意識し,1.5以降はJava自体を拡張していく動きで進んでいます。

そして,1.5→現Java 6において最も大きなトピックとなったのがオープンソース化です。Javaの開発自体はオープンソースのコミュニティと同じように,開発者同士がコミュニケーションし行われていました。そして,6になり,ライセンス面で完全にオープンソース化されたのです。これによって,今まで以上に開発者への窓口が広がりました。

開発姿勢については引き続きコミュニティと連携を取りながら行っていきます」。

Java VMのこれまで

「続いて,Javaを2つのアーキテクチャに分けてお話ししましょう。まず,Java VMについてです。

Java VMは,ハードウェアの進歩から非常に大きな影響を受けています。開発当時と比べて,メモリ領域が拡大されているだけではなく,プロセッサのアーキテクチャが進化しているからです。中でも現在はマルチスレッドマルチプロセッサガベッジコレクションに関する開発が集中しています。最近のデバイスは,ハードウェアのメモリ領域が大きくなってきているため,大型のスケールに対応する必要があり,かつ,携帯電話のような小型デバイスを制御することが求められます。

こうした状況の変化,ニーズに応えるべく,Java VMそのものが変化し,状況に応じてOSと同じような働きをするところまで進化しました。

また,Sunから見た場合,現在開発しているNiagaraやNiagara 2のようなマルチコアプロセッサ上でのパフォーマンスは,Javaとの親和性を意識して開発されています」。

言語としてのJava

「続いて,Java言語,シンタックス(構文)に関してお話ししましょう。

先ほども話したとおり,開発当初たくさんの言語を参考にしました。ただ,開発時は今ほどWebは一般的ではなく,インターネットそのものが普及していなかったのですが,私たちはネットワークがJavaにとって重要な鍵を握ると考え,ネットワークを意識した言語として開発しました。それがスローガンにもなっているWrite Once, Run Anywhereです。今ではスマートカードと携帯電話がつながったり,自宅のPCから銀行のシステムへアクセスするといったことがJavaのプログラムで実現することからもおわかりいただけると思います。

そして,高機能化する一方で複雑化していることも事実です。これらはすべてコミュニティとの対話から発展してきている結果でもあります。これからもJava言語の進化,機能追加はコミュニティとの対話が基本となって行われていくでしょう。

Javaは開発者とともに成長する言語です」。

コメント

コメントの記入