最後にお話を伺ったのはCL Programming for the AS/400という本の著者でもあるグレッグ・ヴィール氏です。ヴィール氏は、「ここだけの話ですが、S/34やS/36用のOCL言語の方が、CLよりはるかにクールな組み込み機能を備えています。しかし、CLには真の実力があるのです。特にCLプログラムやCLプロシージャをコンパイルしてILEプログラムにバインドできる点などがそうです。」と書いてくれました。また同氏は、メッセージ処理関数やシンプルで強力な例外処理機能も「一種の」クールな機能であると述べています。
1988年にOS/400のR1の一部としてコマンド・プロンプタが機能強化されました。AS/400の「ミッション文」がS/36とS/38の両方の利点を取り入れる際に、S/36ユーザーがオペレータ制御言語(OCL:
Operator Control Language)文用の条件プロンプトを使っていたため、CLプロンプタも機能強化されて階層プロンプトと条件プロンプトの両方を提供するようになりました。階層プロンプトを使用することにより、あまり頻繁には使用されないパラメータやコマンド・インタフェースの高度なユーザーしか使用しないパラメータを、CLコマンドの設計者が分離することができました。このようなめったに使用されないパラメータは、プロンプタを使用している人がそれを見るためにファンクション・キー(この場合F10)を押さない限り、表示させないようにすることができました。
条件プロンプトを使用することにより、コマンドの設計者は実行しようとしている特定の関数に適用できるパラメータだけを表示することで、プロンプタのユーザーをガイドすることができました。コマンド定義中で新しいPMTCTL(Prompt
Control)文を使用すると、コマンドの設計者はパラメータが表示される場合と表示されない場合を定義することができました。
コマンド・プロンプトに対する大幅な機能強化の最後は、リリースV5R1のグラフィック・ユーザー・インタフェース(GUI)コマンド・プロンプタで、5250ワークステーション・セッションの画面上でしかコマンド・プロンプトを行えないという制限を取り除きました。最初のGUI
CLコマンド・プロンプタはiSeries Access for Windows製品のiSeries Navigatorの一部として開発されました。二番目のGUIプロンプタはiSeries
NavigatorプロンプタのJavaコードの大半を再利用し、iSeries Access for Web製品の一部として出荷されました。iSeries
Access for Webはブラウザ・ベースのユーザー・インタフェースを採用しているため、プロンプタもHTML形式で提供されています。JavaやXMLといった最新のプログラミング・テクノロジの一部がCLのような古くからあるテクノロジに対するコマンド・プロンプト・サポートの実装に使用されているのは興味深いことですが、これについてはまた別の機会に述べましょう。
5250のプロンプタ・セッションのカーソル・センシティブ機能にできるだけ近い機能とするため、GUIのコマンド・ヘルプ・ウィンドウはカーソル位置にあるパラメータのヘルプがヘルプ・ウィンドウの一番上部に表示されるようになっています。IBMはV5R3でGUI
CLプロンプタ用のオンライン・ヘルプ・ウィンドウをさらに機能拡張し、iSeries Information Centerに同梱されているのと同じフォーマットのコマンド・ヘルプHTML文書を動的に生成し、生成された文書をヘルプ・ウィンドウ中に表示しながら、もちろんカーソル・センシティブなヘルプを提供しています。
ガイ・ヴィグ氏は、IBMシステム・グループのシニア・ソフトウェア・エンジニアで、1978年にIBMに入社以来、ミネソタ州ロチェスター市、オンタリオ州トロント市のIBMの事業所に勤務し、S/38、AS/400、iSeries用のオペレーティング・システムやコンパイラのさまざまな部分を開発してきました。1992年以降はAS/400およびiSeriesのソフトウェア設計コントロール・グループ(DCG)のメンバーとなっています。DCGのメンバー、そして後にリーダーとして、同氏は新しいCLコマンドやソフトウェア、変更になったCLコマンドやソフトウェアのリリース間の互換性維持を任務としています。V5R1ではiSeries
NavigatorとiSeries Access for Webの2つのGUIのCLコマンド・プロンプタ機能の追加を取り仕切りました。同氏は「CLアーキテクト」としてiSeries上でのCL言語の活性化に取り組んでいます。