| 
当初から,大多数のPCの上で使えるようにするするため,
.NET framework を使う,という作戦を立てていた。さらに,初学者が使うプログラミング言語としては, C/C++ でも
C# でもいいようにする予定であった。 デバッガエンジン部分には CLR(Common Language Runtime) のデバッガ用
API を利用するのも作戦の一部であった。
C#
の処理系は, CLR
の上で動作するオブジェクトコードを生成する。 C/C++ の処理系には, CLR
の上で動作するオブジェクトコードを生成する managed C/C++ と, CLR の外で動作するネイティブコードを生成する
unmanaged C/C++ とがある。デバッガ API は, unmanaged C/C++ からだけ使うことができる。応募時には,
C# で生成した CLR コードに対してこの API でデバッグ情報にアクセスできることが確認してあった。
プロジェクト開始後,
managed C/C++ で生成した CLR コードに対してこの API でアクセスして得られるものからデバッグ情報を復元する方法が公開されていないことが判明した。マイクロソフト社に問い合わせたが,公開しないとの回答しか得られなかった。やむを得ず,初学者に使ってもらうプログラミング言語を
C# に限定することなってしまった。やむを得ないことではあったが,残念なことであった。
統合開発環境のユーザインタフェースは,初学者でも知っている「メモ帳」や「
Internet Explorer 」などのユーザインタフェースをベースにした分かりやすいデザインを採用したものにしてある。また,可視化は,ユーザの開発したソフトウェアの中から可視化可能なデータ構造を自動的に見つけ出して行うようにしてあるので,システム定義済みのデータ構造の場合,ユーザは何もする必要がない。加えて,専用のクラスライブラリを利用すれば,単純なデータ構造だけでなく複雑なデータ構造に対しても可視化が行われるようにしてある。
ふんだんにサンプルプログラムを用意した教科書が組み込んである。利用者は,教科書を読みながら,すぐにサンプルプログラムを動かしてデータの動きを追いかけ,プログラムの動きを追いかけて理解を深めることが可能になる。
開発したシステム「双葉」は,
Web を通じて公開してあり,すでに多くの利用者を得るに至っている。

|