“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

40.Java その1

インターネットは、文字と画像の組み合わせで、ハイパーリンクと呼ばれる、クリックすると別のページにジャンプする方式でクモの巣(Web)のように広がる世界だった。
でも、一方的に発信されるだけだし、どのページも同じようなデザインばかりだった。
そんな中、サン社が提唱した言語「Java」が登場した。
動きがなかったインターネットのページの中で、Javaのマスコットキャラである「Duke」が手を振ったのだ。
f:id:CORO3:20200518224557j:plain

Javaは、今はC言語と並んで普及した言語。
特徴として、Javaは、仮想マシンJVM上で動作する言語であること。
そしてこの仮想マシンは、MacintoshWindowsUNIX用に提供されており、Macで開発したJavaのプログラムは、Windowsでも動かすことができる。
マルチプラットホームを実現したのだった。
これは画期的だった。そもそもパソコンメーカーが違えば、同じ言語でもそのまま動くことはほぼなかった。
BASICはその最たるもので、C言語はBASICより少しマシ。それでもそのまま動くのは、教科書に載っているようなサンプルプログラムぐらい。
Javaだと基本的に何も変更なしでそのまま動くのだ。

そしてJavaには、ガベージ・コレクションと呼ばれるメモリ管理の仕組みがあった。
C言語では苦労していたメモリの確保と解放。特に解放忘れによる暴走に悩まされるのだが、これが必要なくなる。
要らなくなったと判断したら、メモリを自動的に解放してくれる。

こう書くといいことずくめに聞こえるが、いかんせん当初は動作が遅かった…。
BASICのようにインタープリター(翻訳しながら実行する)に近く、JVMが実行できる中間コードを実行している。
現在では、高速に実行できる仕組みができているので、そんなに遅いと感じることはないのだが、C言語に比べると劣っていた。

それでも、Javaの登場でインターネットにインタラクティブな要素が加わることになった。
さらにそれがWebサービスのバックエンド、ケータイアプリや、組み込み機器などで使われることになるとは、想像できなかったなぁ。