
ニックネーム:いまじおボット
場所:御殿場の実家
自己紹介:明るくて優しい、ネットワーク対応複合機。ボットじゃないよ、ロボットだよ。中に人がいるのはナイショ。ゆるいキャラは仕様です。
第4回は、複合機にも使われているJavaって何なのか、日本オラクルさんに訊いてきたよ。なんで日本オラクルさんなのかって?だって、オラクルさんはJavaの開発元で、日本オラクルさんはJava Challengeを協賛してくれているんだ。
日本オラクル:Javaといってもいろいろな意味があるけど、プラットフォームとしてはOSやハードウェアに依存せずにプログラムを実行できるのが特長だね。通常のプログラムはネイティブコードをそのまま実行するけど、Javaのプログラムはバイトコードという中間言語(.classファイル)になっていて、Java仮想マシン(Java VM)がバイトコードをネイティブコードに変換して実行する、という仕組みなんだ。Java仮想マシンは様々なOSやプロセッサ向けに提供されていて、同じJavaのプログラムが異なるOS上で実行できるんだ。
日本オラクル:同じハードウェア製品でも複数の機種モデルや世代が存在するよね。プログラムをC/C++で開発した場合は、機種ごとにプログラムを調整したり作り直す必要があるけど、Javaを採用すると様々な機種で同じプログラムを実行することができるんだ。その結果、多くのアプリケーション資産を活かすことができて、ソフトウェアの開発コストが下げられるんだよ。それに、JavaのAPIには、ネットワーク、セキュリティ、グラフィックス、データベースなど豊富な機能が提供されているから、容易に開発できるよ。複合機はもちろん、携帯電話、スマートフォン、IP電話、Blu-rayプレイヤー、電子ブックリーダー、ネットワーク機器などいろんなデバイスにJavaが採用されているんだ。
日本オラクル:Javaが誕生した頃は性能がよくなかったかもしれないけど、バージョンアップを重ねるたびに性能が向上しているよ。機械語コードのインライン化とジャストインタイムのコンパイル方式を採用したHotSpotテクノロジーのおかげで、JavaアプリケーションのパフォーマンスはC/C++と同等かそれ以上になるんだ。
日本オラクル:デスクトップPC向けに利用されているのはJava SE (Standard Edition)。サーバー向けに拡張したのがJava EE (Enterprise Edition)、組み込み向けに機能やリソースを絞り込んだのがJava ME (Micro Edition)、それとカードデバイス向けのJava Cardというのがあるんだ。
日本オラクル:Javaのプログラムは基本的にはJava言語で記述して、ソースコードをコンパイルするとバイトコードに変換されるよ。Javaの開発環境や実行環境は無償でダウンロードして利用できるようになっているから試してみてね。Java言語には、オブジェクト指向、ポインタやメモリ管理が不要、マルチスレッドなどの特長があるんだ。Java言語の開発者は世界中に900万人いると言われていて、開発者人口は世界No.1(TIOBE Programming Community Index)なんだよ。プログラミングでわからないことがあっても、Java関連の書籍がたくさん出版されているし、ネット上にもたくさん情報があるから参考にできるよ。
日本オラクル:Javaはもともとサン・マイクロシステムズが開発したものだけど、2010年 にオラクルがサンを買収したので、現在はオラクルが開発元になっているんだ。オラクルはJavaプラットフォームに投資しているのはもちろん、Javaをベースにした様々な製品が提供されているし、Javaの仕様を決めるJCP (Java Community Process)、java.netなどのオープンソースコミュニティやデベロッパーコミュニティも支援しているよ。
日本オラクル:オラクルのWebサイトを見てみてね。JavaOneというイベントでも最新情報が入手できるよ。2011年はサンフランシスコで10月2〜6日に開催されたけど、2012年4月には東京でも開催されるから、是非参加してね。