libro
www.tuyano.com
初心者のためのJava SEプログラミング入門

Javaの基礎知識 (1/3)

作成:2010-01-14 10:16
更新:2011-10-11 12:13

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

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

 そもそも「Java」とは何か? ここから話を始めましょう。Javaというのは、米国のSun Microsystems社が開発したプログラミング言語(環境)です。最近では、JavaScriptやPHP、Rubyといった「テキストファイルでスクリプトを書けば動く」という言語が台頭してきましたが、この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は、いわゆるアプリケーションだけでなく、「アプレット」と呼ばれるものも作成することができます。

 また、多くの人の目には触れませんが、ネットワークの向こう側で動く「サーバー」のプログラム作成にもJavaは広く使われています。Javaの「動作環境を選ばず柔軟にプログラムを作れる」という特徴がサーバーサイド開発に適していたのでしょう。

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

誰もがぱっと頭に思い浮かべるのは携帯の「iアプリ」でしょう。最近話題になっているGoogleの「android」もJavaで動いています。ハードウェアにしばられることなく、仮想マシンさえ用意すれば動くJavaは、携帯端末のような「さまざまなハードが混在する」世界に適しているのです。

 このようなJavaの特徴から、パソコンだけでなく、サーバーや携帯電話など幅広い分野でJavaは使われるようになりました。プログラミングを始めたいというなら「とりあえずJavaでもやっておけばなんとかなるだろう」という感じになっているのは確かでしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのJava SEプログラミング入門」に戻る