APLNEWS 2005年11月号

 

1. 9月号、10月号で紹介しましたAPLとEXCELとのInterfaceに関する、私の論文が最終的に"A Simple APL-Excel Interface"のタイトルでQuote Quad誌Volume34、Number3に掲載されることが決まりました。試作のプログラムを紹介しているわけですが、最新のCOMインターフェースを利用してAPLからExcelを直接制御します。データの計算処理にAPLの関数を使用することができますから、APLとExcel両者の長所を最大限に生かすことができます。APLとExcelとの連携については、2002年に作成して、すでに多くのAPLユーザーの方々にご利用いただいている弊社開発のEXCELがありますが、これはAPLとExcelのデータをDDE(Dynamic Data Exchange)により並行して動くAPLとExcel間でデータを相互利用する形ですが、APL環境でのデータ処理を前提としています。またIBMのAPL2製品に備わっている機能としてはAPLとC+のインターフェースを利用して、ExcelからAPLを起動させ、Excelの環境でAPLを使用する方法もありますが、その開発にはかなり高度なシステムの知識を必要とします。またこれはExcelからAPLで開発したあらかじめ決められた業務プログラムをバッチ処理的に動かすことを目的としていますから、対話式ユーザーに汎用的な機能を提供する仕組みではありません。これに比べて、今回のCOMによる手法の最も基本的な形は、Excelの環境でAPLの原始的な記号文字を利用する簡単な仕組みです。ユーザーはAPL環境の起動を意識しません。したがって、APL稼働環境および周辺機能に関する知識をまったく必要としませんから、APLにあまり深入りしたくない一般の方々が抵抗なく有効に活用できる道が開けると思います。当サイト12月号にはこのプログラムをダウンロード・リストに追加して、皆様方に評価していただける形になると思います。APLの記号文字は、交通標識やその他さまざまな場面でわれわれが日常利用している、視覚に訴えて瞬時に概念を伝達する非常に優れた手法を、プログラムの世界に持ち込んだもので、20世紀に作られた貴重な資産であると思います。記号文字に慣れ親しんだら、さらにAPLそのものに関心を持っていただける可能性もあるかと思います。弊社が今後力を入れる3本柱の一本と考えています。

 

2. 当WEBサイトから配布している"APL学習支援システム"は11月現在、かなり大幅な書き換えをしました。ぜひ最新のシステムをダウンロードして、ご利用なさってください。APLを経験したことのない方々には、キーボードの文字配列やAPLシフトなどをはじめとしてAPL固有の習慣、仕組みなどが有り、これらの事柄が初心者の方々にもより解かりやすくなるように、使用法に関する解説を強化しました。当初、講習会に出席することが困難な遠隔地の人々のことも考え、説明をビデオ・ファイルにして配布することを計画しましたが、いくつかの問題点に遭遇し、行き詰っています。問題点としては1.画面の動きを解像度の高いビデオ映像として別のパソコンでキャプチャーすると、ファイルが巨大になること、2.さまざまの方法を試みてみても、音声のボリュームがパソコンを通すと小さくなり聞きづらくなること、3.あらかじめ原稿を作り、スクリプトに従ってスムーズに録画、録音しようとしても、慣れないために失敗が多く、時間がかかりすぎること、などがあります。したがって、今回追加した解説文では、とりあえず実験的にハイパーリンクとして、一部を無音声で利用して見ました。このシステムは表面上APL言語の学習支援システムとしていますが、今後学生や一般社会人が、個人としてできるだけ少ない費用でプログラムを開発できる実用的なAPLの環境としての機能を強化していく予定です。学習支援システムで作られる関数や変数はAPL転送形式ファイル(=サフィックス.ATFが付されたファイル)として保存することができます。これらのファイル(=たとえば業務プログラム)は学習支援システムのもとでばかりでなく、われわれが開発した"MINI-PACKAGE"のもとであたかも独立した業務プログラム・パッケージとして機能させることができます。この場合これを商品化したりして、IBMに断りなく、自由に配布、流通させることも可能です。個人のAPLユーザーをサポートする弊社の3本柱の第2本目です。

 

3. IBMのWorkstation APL2 Version2におけるネームスペース概念の導入は、APLの長い歴史において、General Arrayに匹敵するほどの言語仕様上の大きな革新であると思います。ネームスペースとは、本来ワークスペースで用いる関数や変数をワークスペースにではなく、固有の名前で区別するネームスペース(=サフィックス.ANSが付されたファイル)に保存して利用することです。企業内の不特定多数の部署で、APLで書かれた業務プログラム、開発で用いられるツール関数やテーブル類で、ユーザーにみだりに変更を許してはならない、一元的に管理されるべきものなどに対して、この仕組みを有効に活用することができます。これらの関数や変数類はワークスペースでのプログラム実行時にAPLインタープリッターが複数のリンク先(=Name Scopeと呼ぶ)をおのずから判定した上で直接実行を管理し、ユーザーのワークスペースの資源を使用しません。また複数のユーザーが同時に利用することができます。一般ユーザーやプログラマーはこれらの名前に代表される機能を使用することができますが、変更を加えることはできません。また関数は開いて中身を悪意のある閲覧から保護することができます。ワークスペースをライブラリーに書き戻すときにはユーザー管理下のもの以外は、そのリンク情報だけしか保存されません。高い技術に裏打ちされたサポートを前提として、IBMのWorkstation APL2のフル機能を利用した、企業内での集団的利用がデータ分析と一般処理の品質を高め、少ないコストでAPLの可能性を最大限に伸ばすことのできる理想的な環境です。これが3本柱の3本目です。

 

4. おかげさまで、当WEBサイトへのアクセスが、増加しつつあります。利用の形態は詳しくはわかりませんが、東京大学、慶応大学、京都府立大学などの国内の大学関係者や欧米諸国の個人の研究者と思われる方からの散発的なアクセスも記録され始めました。今後はAPLに関する実用的な情報の発信源として、国内の企業、及び個人のアクセスの頻度を(ポピュラーなインターネットサイトからのリンクの利用なども含めて?)如何にして増やすか対策を考えて行きたいと思います。また海外からのアクセスに対応して、英文による内容のサマリーを追加していけたらと思います。学習支援システムやAPL−EXCELインターフェース・プログラムも欧米諸国での利用の可能性が期待できると思われますので、英文での解説書類も掲載していきたいと思います。皆様からのご意見をお待ちしています。

 

5. 今月からhttp://aplcons.com/aplに加えて、http://aplcons.com/でもアクセスできるようにしました。このほかどのようなWEBアップリケーションが同時に動いているかはAPLのプログラムで管理していますので、関係者以外にはわからないように保護しています。ちなみに本WEBサーバー・プログラムはAPL2標準のTCP/IPソケット・インターフェースとWindowsの機能だけを利用したもので、市販のソフトは一切使用していません。現在61行の生のAPL式からなるプログラムです。信じられないかも知れませんが、これの作成と維持には特別な費用はかかっていません。驚くべき言語の証です。