2015.11
Ada Lovelace 関連の思い出
-
ACMの2015.10.29のメールニュースで,Ada Lovelace (1815–1852)の生誕200年祭の記事あり.
http://membernet.acm.org/archives.cfm?fo=2015-10-oct/oct-29-2015.html
-
■ 昔話1:1990年代
-
拙著「ソフトウェア危機とプログラミングパラダイム」(1992年)の5.4節「データ抽象化技法」の5.4.3項「Adaの例」および,拙著「ソフトウェア工学
−オープンシステムとパラダイムシフト−」(1997年)の7.5.2項「Adaの例」で,彼女を紹介している.(昔話2の引用部分の下線部)
http://www.1968start.com/M/keigaku/index.html
http://www.1968start.com/M/keigaku/sp05.pdf
http://www.1968start.com/M/book.html
-
1999年にロンドンの科学博物館を訪問した時に,C. Babbageの「世界初のコンピュータ」のコーナーがあり,そのとき購入した本:Charles Babbage and His Calculating Engines(4.95ポンド)の中のComputer Pioneer の章に彼女の写真あり:
-
本の表紙: Ada:
-
購入した本:
-
■ 昔話2:1970年代後半〜1980年代前半
-
上記の拙著で,米国国防総省の言語Adaに言及した部分を以下に示すが,1970年代後半から,
言語仕様とプログラミング環境に関する案(***man)が何度も公開され,その都度,内容をレビューした懐かしい思い出がある.
下記の拙文(1)の参考文献[12]はAda言語仕様(STEELMAN,
1978),
下記の拙文(2)の参考文献[ 9]はAda開発環境(STONEMAN, 1980)である,
(1)段階的詳細化、デ-タ抽象化を支援する言語SPLのコンパイル技法、情報処理学会論文誌、21, 3, 223-229 (May 1980)
(2)A language-adaptive programming environment
based on a program analyzer and a structure editor,
Proc.
The 9th World Computer Congress IFIP'83, 621-626 (Sep. 1983)
-
(拙著から抜粋)
Adaは、米国国防総省(DoD : Department of
Defence)が米国の組み込み型コンピュータシステム(embedded computer system)に代表される制御用リアルタイムシステムのための高水準プログラミング言語として開発したものである。1970年代中頃、国防費の中でコンピュータ関連の費用が急増しはじめており、とりわけソフトウェア費用の伸びが大きく、そのままでは国防費の大半がソフトウェアに費やされてしまうという危機感があった。当時、陸軍、海軍、空軍は、それぞれ独自のプログラミング言語を使用していたため、相互の流用性がなく、しかも多種多様な機種が導入され、異なる機種毎に類似のソフトウェアを新規に開発していた。そこで、DoDは、1975年に、保守性、移行性に優れた機種独立の高水準言語の開発に着手し、1983年にANSI規格、1991年には日本でもJIS規格となった。
-
余談になるが、Adaという名前は、英国の詩人Byronの娘のAugusta Adaの名前に由来している。彼女は、計算手順の自動化をもたらしたC.
Babbageの協力者で、女性プログラマの元祖ともいわれる。
-
Adaは、委員会でまず要求仕様を作ることからはじめたため、具備すべき機能が膨大となり、複雑で大きな言語仕様になってしまったが、その反面、1970年代の主要なプログラミング技法を取り入れたものになっている。1955年のFortranに始まったプログラミング言語の量的高級化が1965年のPL/Iに集約されたように、1970年頃に始まった質的高級化がAdaに集約されたと見ることができる。Adaの主な特徴は以下のようなものである。
-
(1) データ抽象化技法を含むパッケージ機能
(2) ランデブと呼ばれるタスク間通信機構を備えた並列処理機能
(3) 割込み処理を容易に記述できる例外処理機能
(4) 移行性と性能の両立のための機種依存部記述機能
-
ここでは、第1の特徴であるデータ抽象化機構について、汎用体パッケージを用いたスタックの例で説明する。
-
以上