最近のこうしろうの日課は,野村のバーチャル株式投資倶楽部である。バーチャルで100万円分の株券を購入し,毎日値動きをチェックしている。「子供がバーチャルで株式なんて…」という意見があるかもしれないが(私も一瞬そう感じた),学校で教えてくれないお金の勉強をしていると思うとそれも良いと感じられる。父はお金のことについては,あまり教えられることはないから,せっせと自分で勉強してくれ。

 しかし,考えてみると株の銘柄を選ぶこととプログラミング言語を選択する行為は似ている。ソフトウエア開発者は時代のニーズに合わせて,次に勉強するプログラム言語を選択していかなくてはならない。Windowsでの主な流れはBasic系のVisual Basicや,C/C++などのC言語系,最近マイクロソフトからリリースされたC/C++の標準にしばられないC#という言語も注目株である。Javaも適用範囲を広め,UNIX系OSで支持者の多いPerlも,Windowsに進出してきた。また,Pascal系のDelphiも捨てがたい。さすがにアセンブラやフォートランをこれから勉強しようという人は少ないだろうが,事務処理を得意とするCOBOL系もなかなかしぶとい。

 どうせ勉強するのなら,これからブレイクする言語にしたい。利用者が多ければ,インターネット等から得られる情報も多く,機能拡張のために使えるサードパーティ製の部品も増える。趣味のプログラマなら,あえて人の行かない道を進むという選択も面白いだろうが,職業としてプログラムを作成する場合,勝ち馬に乗りたいと思うのは当然のことである。

 Javaのようにバンと出て,しばらく沈み,急浮上という展開もある。Javaの「Write Once, Run Anywhere(一度書けば,どこでも動く)」という思想は当初から評価されていたが,ターゲットマシンで実行用に翻訳する時間が嫌がられ「一時のブームか」などと言われたこともあった。ハードウエアの高速化によって,現在はあっちもこっちもJava,Java(ジャバ,ジャバ)という状況になっている。 

 インサイダー情報は,主にその言語の信奉者からもたらせられるので,どれも良い話ばかり。将来を見極めてプログラム言語を選択することはなかなか難しい。

 ところで(と唐突に話は変わり),近頃また,MindStormsが注目されているようだ。『子供の科学』5月号に「めざせ,ロボカップジュニア世界大会」という記事が載っていた。赤外線センサーを装着したLEGO MINDSTORMSのロボットが赤外線を発するボールを追い掛け回すロボサッカーやダンスをするロボットが紹介されていた。20世紀がコンピュータの世紀だとすると,21世紀はロボットの時代だ(と思っているのは私だけか)。

 技術評論社が発行している『XML Press』 Vol.8の表紙にはMindStormsで作ったロボットの写真が載っていた。Java Press,Web + DB Pressを発行している技術評論社でXML Pressって一体何を扱うのかと思っていたのであるが,いっぺんで好きになってしまった。「UMLロボット開発 for MINDSTORMS」という特集が掲載されている。バックナンバーを見るとVol.4でも,「UMLとJavaによるオブジェクト指向ロボット開発」という特集を組んでいる。相当ロボット好きなようだ。

 XML,UMLというこの日記では,見慣れない文字が2つ出てきたので簡単に説明しておく。XMLはExtensible Markup Language言語の略で,メタ言語である。メタ言語とは言語を作るための言語。ホームページを作成するにはHTML(Hypertext Markup Language)に用意されているタグを使うがXMLでは自分でタグを定義することができる。データの構造化やデータ内容と定義,見せ方(スタイル)の分離が可能なので,HTMLに取って代るものとして,またインターネットを利用したデータ交換用にと注目されている(以前,Microsoft Access2002でXMLを扱うことができるという記事を日経ソフトウエアに書きました。よろしければバックナンバーをどうぞ!)。

 UMLは(と上段に構えて説明できるほどの知識は筆者にはありませんが),Unified Modeling Languageの略でオブジェクト指向分析/設計における統一モデリング言語のこと。言語といってもプログラム言語とは違い表記法,つまり表記の仕方のことである。『バラバラだった表記の仕方を統一したモデルの表記法』と日本語にしてみると「だから,なんじゃい」という感じがするものである。

 具体的にはユースケース図(「ユースケ図って,サンタマリアかい」などと間違っても人前で突っ込みを入れないように)やクラス図を記述し,システムを設計していく。

 この記事をちらりと読んだ私とこうしろうは,ほくそえんだ。「こんどはこれだ。」

 ということで現在,Java,UMLによるMindStromsプログラミングの勉強中です。乞うご期待!いえ,勉強中なのはこうしろうじゃなくて私です。こうしろうは中間テストの勉強中。いずれにしても乞うご期待!