GO BACK

初心者のためのJava教室 その1

「Javaの基礎知識」



■「Java」とはどんな言語か?

 Java。なんと読むか知ってますか? 本当ならば「ジャワ」ですが、この言語の読み方は「ジャバ」と読みます。なんでもコーヒーの「Java」から命名されたようです。

 そもそも「Java」とは何か?−−ここから話を始めましょう。Javaというのは、米国のSun Microsystems社が開発したプログラミング言語(環境)です。最近では、HyperCardを始めとしてOracle Media ObjectsやSuperCardなど、誰もが簡単にソフトを作れるツールがいろいろ登場してきましたが、このJavaは、こうしたオーサリングツールとは違います。いわゆる昔ながらに、プログラムをずらずらと書いて、「コンパイル!」という操作でプログラムを作成し、それを動かす、という、正直いってとても古くさい形の言語です。

 では、なぜJavaは注目されているのか。−−それは、言語の表面的なものではなく、中身がとても画期的だからです。では、Javaがどんな言語なのか、簡単にまとめてみましょう。

1.Javaは自分自身の中に「コンピュータ」をもっている。

これが一番の特徴です。Javaは「バーチャルマシン」という考え方をもっています。Java自身の中に仮想のコンピュータを用意し、これをプログラミングするのです。なぜそんなことをするかというと、そうすることにより異なる機種間の違いがなくなるからです。

 MacでもWindowsでもUNIXでも、Javaはそれぞれのマシン固有の機能を一切使わず、バーチャルマシンに用意された機能だけでプログラムを書きます。そして、Mac用のJavaならば、そのバーチャルマシンの機能をMacの機能に置き換えて動くようにしてある、というわけです。だからJavaで作ったプログラムは、(そのマシンにJavaがインストールしてあれば)どんな機種、どんなOSでも全く関係なしに動くのです。

2.Javaはコンパイラだけどインタープリタである。

プログラミング言語というのは、人間がコンピュータを制御するために作ったものですから、そのままではコンピュータには理解できません。そこで、書かれたプログラムをコンピュータが理解できる形に変換してやらないといけません。これには2つの方式があります。「インタープリタ」と「コンパイラ」です。

 インタープリタというのは、プログラムを実行する際に1行ずつリアルタイムにコンピュータの理解できる命令に変換して動くタイプのものです。これは、実行したときに一つずつ翻訳してますから、いつでもプログラムを修正したりできるという長所があります。しかし、その場で翻訳しながら動きますから速度はかなり遅いのです。

 コンパイラは、書いたプログラムを一気にコンピュータのわかる命令の塊に変換してしまいます。ですから、あとはそうして作ったプログラムを動かせば、高速にプログラムを実行できるのです。しかし、全部まとめて変換してしまいますから、変換した後はプログラムの中身は見えなくなってしまいますし、修正することもできなくなります。

 Javaは、一応コンパイラです。書いたプログラムをコンパイラで翻訳し、それを動かします。けれど、コンパイルするのは、そのコンピュータがわかる命令にではなく、Javaのもつバーチャルマシンがわかる形に翻訳してあるのです。したがって、それを実行するときには、バーチャルマシンの命令を実際のマシン(MacやWindows)に翻訳するソフトがないといけません。つまり、コンパイラなんだけど、コンパイルしてでき上がったものはインタープリタを使わないと動かない、という面妖な構造になっています。ただし、速度はかなり速く、通常のコンパイラ言語で作ったものとそれほど違わない感覚で使えるでしょう。

3.Javaはインターネット対応である。

これが、Javaが注目されている一番の理由でしょう。Javaは、いわゆるアプリケーションだけでなく、「アプレット」と呼ばれるものも作成することができます。このアプレットというのは、ホームページに組み込めるプログラムなのです。現在のネットスケープ2.0以降では、このJavaの機能がサポートされており、Javaのアプレットを組み込めば、ホームページ上でさまざまなソフトが動いてしまうのです。

4.パソコン以外でも動く。

最近、最も注目されているのは「iアプリ」でしょう。これから新たに出てくる他社の携帯でもJavaは採用されるようですし、シャープのザウルスとかPalmでも採用の方向で進んでいます。携帯端末関係は、Java一色になりそうな予感です。ここまでくると、「取りあえずJavaを覚えておけば潰しがきくかも」という気になりますね。(ただし携帯端末のJavaは、ここで説明する普通のJavaとは違うので、別途勉強しないとダメですよ)

 またJavaはアプリケーションに必要な機能をネットワークの他の場所にもつことができます。つまり、インターフェイス部分だけが自宅にあり、そこから会社のサーバーにある巨大なプログラムに接続する、といったことが簡単(でもないけど(笑))にできるのです。更に最近では、サーバサイドでJavaに対応するものも増えていますし、携帯端末でも活用されてますし、とにかく今や家電通信関係は「犬も歩けばJavaに当たる」という状況ですね。

 要約すれば、「OSがどうこうということを全く考えず、全てのコンピュータで同じものが同じように動く」「インターネットで使うことができる」という2つの特徴により、Javaは注目されている、というわけです。


■「JDK」とは何か?

 ではJavaをやってみよう!−−と思っても、Javaはどこで売っているのかわからない、という人もいるでしょうね。Javaの開発ソフトは確かにいくつか市販されてもいますが、実はタダで配られているのですよ。

 それは、Sun Microsystems社がリリースしている「Java Developer's Kit」というJavaの開発ツールです。ちょっとわかりにくいんですが、一般に「JDK」と呼んでいるのは、「Java2 Standard Edition(J2SE)」というエディションの開発環境です。Javaは、サーバ向けとか携帯端末向けとかエディションがいくつかあるんです。J2SEは「パソコン向けJava」と考えて下さい。――これはインターネットの、

http://www.java.sun.com/

(日本語は、http://jdc.sun.co.jp/

というURLにその案内があります。これが、Javaの本家のホームページです。Windows・UNIX用のそれぞれがアップロードされています。Javaをやろうと思ったら、まずここからJDKをダウンロードしてください。

 ただし、現在出ているJDk 1.3というバージョンはかなり巨大なものですからインターネットでのダウンロードはイヤだ、という人もいるでしょう。こういう人は、書籍から入手しましょう。最近はJava関係の入門書もけっこう出ています。そして、CD-ROMでJDKをつけているものも多いのです。電話代を考えると、こちらのほうが安上がりかもしれません。現在、「Java World」という月刊誌が出ていて、これの付属CD-ROMにたいていは最新のJDKが入っていますから、これを試しに一冊買ってみるのが一番簡単な入手法ですね。

 なお、Mac OSを使っている場合、Sun MicrosystemsにはMac用のJDKはありません。Mac OS 8以降であれば、標準でMRJというJava環境がインストールされているはずです。アップルのサイトから、このMRJの開発環境であるMRJ SDKというのをダウンロードして使って下さい。またMac OS XではJavaの最新バージョンがインストールされていますので、今JavaをやるならMac OS Xをインストールしてしまいましょう。

 現在、WindowsとUNIX版はJDK 1.3というバージョンがリリースされています。よく巷で「Java2」という言葉を聞きますが、これはJDK 1.2以降のものを示すもので、現在はJDK 1.3 = Java2と考えて間違いありません。

 このJDKは、発表から現在まで、2度の大きな改良が行なわれています。最初は1.0.2というバージョンで出たのですが、その後、1.1というバージョンでまず大幅な改良が行なわれました。そして1.2というので更に大きく変わりました。あまりに変化が大きく、ほとんど新しいものといっていいぐらいに変わったので、1.2のことを「Java2」と呼ぶようになったのです。

 よくなることは歓迎すべきですが、これら2度の改良により、Javaは巨大化し、複雑怪奇なものになってしまったきらいがあります。正直いって、プログラミングにほとんど経験のない人がやってみようとしても、いきなりどど〜っとわけのわからぬ命令やら専門用語やらの洪水に襲われ、何がなんだかわからない状態に陥ってしまうように思います。それで、今まではこの入門講座でも1.0.2ベースを基本にしてあったんですが、なにしろ本当にがらりと変わってしまった部分があるので、他でJava2の本とかを読むと古い知識と新しい知識がごっちゃになってしまうみたいです。――というわけで、今後はJava2を標準としてリライトしていきます。

 さて、このJDKは、以下のようなものから構成されています。

「Java Compiler」−−Javaのコンパイラです。Windowsでは「javac.exe」という名前になっています。作成したプログラムをコンパイルするのに使います。

「Java Runner」−−Javaのインタープリタです。Windowsでは「java.exe」という 名前です。コンパイルしてできたプログラムは、このインタープリタを使って動かします。

「Applet Viewer」−−これはJavaで作ったアプレットを動かすためのソフトです。Windowsは「AppletViewer.exe」です。アプレットは通常ネットスケープを使ってホームページ上で見るためのものですが、これを使えばアプレットをその場で動かすことができます。

 この他にも、サンプルやプログラムなどいろいろとついてきますが、それらはとりあえず必要はありません。この3つのものだけ、しっかり覚えておいて下さい。

 JDKを入手してインストールしたら、すぐに使えるわけではありません。Windowsユーザーは、以下の点をチェックする必要があります。


●Windowsの場合●

Javaのプログラムがある場所のパスを設定しておく必要があります。AUTOEXEC.BATをテキストエディタで開き、そこにパスを書き加えます。

 もしルート上(C:がハードディスクとする)にJavaのフォルダをおいてあるなら、「PATH …」という命令を探してください。そして、その次を改行し、「PATH %PATH%;C:\JAVA\BIN」と書き加えてください。これで使えるようになります。


 Javaは、いわゆる統合環境ではありません。WindowsのVisual Basicや、MacのREALbasicのように、プログラムを書く専用エディタやデバッガがあって、作成したものがそのまま動く−−という環境ではないのです。ではどうやってプログラムを作成するかというと、こんな感じです。

1.まず、ワープロやエディタを使ってプログラムを書き、テキストファイルで保存する。JDKには専用エディタは付いていないので、自分のもってるワープロなどで書いて下さい。

2.コンパイラでコンパイルする。このとき間違いがあるとエラーが起きるので、またワープロやエディタでプログラムを書き換えて保存し、再びコンパイルをする。

3.コンパイルが成功すると、ファイルが作成される。

4.できあがったファイルをインタープリタで開くと、Javaで作ったプログラムが動く。

 なんで面倒なんだ!と思った人、あなたは正しい(笑)。JDKは、このように本当に原始的なものです。市販されているJava開発用ツールはこれよりずいぶんとよいものですが、ここでは誰もが手に入れられるJDKで話を進めていきます。

 ただし! 現在は無償でけっこう便利なJava開発ツールが配付されていますから、基礎がわかったらこうしたものを入手して使ってみるのもいいと思います。お勧めはボーランドというところの「JBuilder」です。これは現在、ver. 4になっており、いくつかのエディションが出ています。その中の一番下のものである「Foundation版」というものは、ボーランドのホームページから無料でダウンロードして使えます。



GO NEXT


GO HOME