野狐消暇録

所感を記す

わたしとJava

Javaを始めたのは、それが知る範囲で、新しいプログラミング言語だったからだ。その頃仕事がなくて、何か技術を身に付ける必要があった。Javaは当時Sun Microsystemsという会社のもので、Sunが行っていた試験を受け、Javaの資格を取った。試験勉強を通して、ジェネリクスを知った。ジェネリクスというと、安い医薬品を思い浮かべる人が多そうだが、ここでは医薬品ではなく、Javaの持つ機能のひとつだ。

 

<ジェネリクスの説明>

プログラミングでは、データを移動したり、複製したり、順序正しく並べたりする。データというのは例えば名簿だ。人の名前、年齢、住所、性別、メールアドレス、そういう情報をたくさん集めて、上手に整理し、利用できるようにする。そのとき、プログラミング言語内部では、それぞれのデータを整理するために、様々な工夫を行っている。ジェネリクスはそのひとつだ。

例えば、年齢だ。名簿に含まれる人物の年齢を扱うとする。プログラム上では、年齢は数値である。この年齢というデータを使って、計算を行う。例として、年齢ごとの人数を知りたいとしよう。

そうすると、以下のようなデータ構造を作る事が考えられる。データ構造とは、データに与える規則性の事である。

 

年齢 | 人数

1歳 | 45人

2歳 | 61人

3歳 | 26人

...

 

年齢と人数を組にして、扱うのである。

Javaには、こうしたデータ構造を扱う仕組みが用意されている。だが、その仕組みには欠陥があった。年齢の欄に誤って他のデータ、例えばメールアドレスを入れる事ができてしまうのだ。

 

年齢 | 人数

1歳 | 45人

nogitsune@mail.co.jp | 61人

3歳 | 26人

...

 

この誤りは、コンピュータを実行してみて、初めて発覚する。プログラムを組んでいるときには、不注意によって、間違ったデータを入れてしまっても、プログラマが自分で気付かない限り分からない。コンピュータは教えてくれないのである。

ジェネリクスはこの誤りを、プログラマに教えてくれる。

そのデータの種類をコンピュータが把握していて、目的と異なる種類のデータを使おうとすると、その場でエラーを通知してくれる。エラーというのは、コンピュータが正しく動かないという事で、その事を教えてくれるのである。

 

この仕組みは、Java 5.0で初めて導入された。Java 5.0の前のバージョンであるJava 1.4では使えない。今、仕事でJava 1.4を使っている。今度バージョンをJava 6.0に上げる事になった。これでジェネリクスを使えるようになった。

 

Javaを知ったのはかなり前であるが、ずっとJavaばかり書くようになったのは最近だ。何かを思い立ってから、それが現実になるまでには、随分と時間がかかる。現実になった頃には、あまり魅力を感じなくなっている事もあるが、それは当たり前で、その頃には、次の現実、次の夢を人は持つからだ。

Javaは夢ではなく現実になった。それはひとつのステップを踏めたという事で、とても良かったと思っている。