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は夢ではなく現実になった。それはひとつのステップを踏めたという事で、とても良かったと思っている。