VOL110 Javaの楽しみはこれからか 発行2001/6/25

Javaの実用化時代を迎えようとしている。「携帯にスクリプト言語を搭載しよう」という暴言を吐いたのは94年頃だっただろうか。インタプリタで動作するスクリプト言語の多様な応用について研究してきた西海岸の研究所生活の成果を実践していた技術者との出会いがそれを携帯への実装という展開への取り組みになった。

まだJava以前の時代にそうしたものを米国に対して提起したというのも時期尚早だったのに違いない。PHSの32kbpsのデータサービスを使い切って実験をしていた仲間との出会いが早すぎる時代の扉に手をかけてしまった理由でもあった。ソースコードを飛ばしていた当時の実装が中間コードになれば、凄いことが・・。

そうした思いに突き動かされて初芝電器の技術力を総動員してのプロジェクト推進という展開になった。エージェントを飛ばしあい受け入れあうという概念は、今のJavaと何も違いは無かったし実際問題スクリプト言語もスタック型の言語だった。コンパイルした中間コードを飛ばそうというのが合言葉だった。

赤外線の規格であるIrDAの標準化も離陸しそうな状況だったこともあり今の愛のサービスとノキアの電話機とIアプリも含めて実装しそうなトンでもない内容ではあった。中間コードの実装検討と上位層のアプリケーション設計などをマーケティング推進の中でカスタマーである米国キャリアと詰めていたのだが、頓挫してしまった。

一つはデジタル無線機のコストが顧客の要望価格に至らないこと。一つは年明けに発生した阪神大震災である。中核の技術者が被害地域にすんでいたことも有り仕事に大きな影を落としてしまった。初芝の既存技術の集大成ともいえるプロジェクトではあったがビジネスユニットである事業部の価格理由などから中断となった。

プロジェクトは中断したものの、一度意識を高めてしまったことからJavaの前身となるプロジェクトなどの情報やWAPなどの立ち上がりを見つけて情報交換しつつ自分達の取り組みが時期を得たものだと納得していった。インフラを起こし端末を開発してアプリケーション開発ツールまでも提供するという仕事は大仕事であった。

Javaのコードが提供されたときには、VMを実際にコンパイルしてみて速度やサイズの評価などをしたりしてもみた。まだ実際の端末に展開していくにはVMのコードサイズが大きすぎた時代でもあった。速度はPCの上でも不十分であったが、評価用の画面やUIの設計をしていくことへの適用を試みたりしていた。

単なるインタプリタとして捉えた場合にはBASICも同様の制限があったはずでVMとしての問題点については解決すべき共通項があった。バーコードリーダ端末を開発した際にSDKの開発も含めて行ったのだが、当時としてはC言語のクロスツールを自前で提供していた事が時期尚早すぎてBASICの提供を要望された。

BASICについては当時すでに色々な端末にマイクロソフトベースのものが実装されていた。CのSDKも自前で提供していたこともありBASICについては、更に色気を出して高速なインタプリタを提案して開発を行った。ハードウェアによるインタプリタである。中間コードの割り付けを工夫して機械語と共存させた。

無論、当時の8ビットマイコンの命令セットがbasicに適合するわけもなく、16ビット整数演算の命令範囲のみが機械語となり、文字列演算やら倍精度演算達は中間コードとなった。コンパイラとの併用で中間コードと機械語を混在させる形を取っていた。インタプリタという仕組みは機械語と中間コードの識別だった。

結局、中間コードは例外割込みの処理として組み込まれた。現在のJavaの実装でのハードウェアインタプリタと同様な概念である。この際にパテント申請はしたものの、事業部の本業と関係の無い特許に光があたることはないだろう。無線端末を開発している事業部で「プログラム実行方法」に関する特許は、蚊帳の外だ。

Javaの実装技術としてマイコンコアの命令セット切り替えで対応するコア技術が登場した。レジスタの割付の意味などをJava状態と従来状態とで切り分けた上で不足する命令群は、拡張命令として処理を実装されている。拡張命令の実装は割込み処理としてのインプリメンテーションに依存する。先の特許に抵触する。

とはいえ、転職した先では、こうした早期の基本特許に相当するものに光が当たらないほうが良いのかもしれない。いろいろな意味で特許について提出や申請を求められてきた結果が、有用な特許が埋もれてしまうのは皮肉なものであるが、大企業の実体としては、きっとそんなものなのだろう。灯台もとくらしという奴である。

マイコンコア技術の一角になるかも知れない技術ではあるが、インタプリタの歴史というホームページでも作ったほうがよいのだろう。Linuxの上で動作する、CPMエミュレータが雑誌に掲載されていた。そういえば、VAXのエミュレータをUNIX込みで作成したことも、もっと陽のあたるところに出すべきだろうか。

いずれにしてもJavaの楽しみはこれからだ。携帯コアに搭載されて登場するのは来年だろうが、開発環境やアプリケーションのスタイルなど色々な物が改革時期になってくるのだろう。エンジニアの面接を行いながら、彼らが活躍する時代の姿が少しずつはっきりと見えてきた今日この頃でもある。

コメントを残す

メールアドレスが公開されることはありません。