SSブログ

Adaらくらく受かるからだ(月刊ASCII1984年5月号5)特集 [月刊アスキー廃棄(スクラップ)]

特集の2番目はAda。小樽商科大学の戸島煕先生(当時)が執筆されていた。読み返すとスクラップしておきたくなった。

ASCII1984(05)c30Ada_W520.jpg
タイトルの「Adaらくらく受かるからだ」はローマ字に直すと「ADARAKURAKUUKARUKARADA」で回文である。

Adaの命名の由来についてはスクラップしておくべきだ。
ASCII1984(05)c31Ada図1図2.jpg
ASCII1984(05)c31図Ada_Augasta_W520.jpg
一部抜粋
 S「説明と言っても受け売りにすぎませんが,Adaは,Ada Augusta,Countess of Lovelace,つまり,ラブレス伯爵夫人エイダ・オーガスタのことです。エイダは英国の有名な詩人バイロンとアンナ・イザベラ・ミルバンクとの間に生まれました。バイロンとミルバンクは1815年1月2日に結婚し、エイダは同年12月10日に生まれております。ところが情熱の詩人バイロンと詩人,数学者,哲学者であったアンナとの結婚生活はかなり異常であったらしく,アンナはエイダを生んでからほどなくバイロンと離婚しております」
 U「異常とはどういうことですか?」
 T「Uさんはすぐそういうことを気にしますね」
 U「さっきの仕返しですか?」
 S「腹ちがいの姉が同居していて、バイロンとはバイロンがアンナと結婚する以前から関係があったようです」
 U「なる程.アンナはいや気がさしてバイロンと別れたわけですか」
 T「すると,エイダはどうなったのですか?」
 S「アンナの実家で育てられることになりました.エイダは長ずるにおよび,母ゆずりで数学に非常な才能を見せたといわれます.エイダに数学を教えたのは例のド・モルガンの法則で有名なオーガスタス・ド・モルガンでした」
 T「M君,ド・モルガンの法則を知っていますか?」
 M「ええ,論理学の時間に習いました.“かつ”で結んだ命題全体の否定は、ひとつひとつの命題を否定したものを“または"で結んだ命題にひとしく,“または"で結んだ命題全体の否定は,ひとつひとつの命題を否定したものを“かつ"で結んだ命題にひとしいというものです.つまり,『Prolog講義』(本誌,1984年2月号掲載)の記号を使用すると図1のようになります」
 T「“かつ”を積集合を作ること,“または"を和集合を作ること,否定を補集合を作ることと読みかえますと,集合論におけるド・モルガンの法則が図2のようにえられます」
 S「ド・モルガンはロンドン大学の数学教授をしていました.さて,エイダは1835年7月にウィリアム・キングと結婚しています.このウィリアムがのちにラブレス伯爵となるわけです」
 T「図3におそらく伯爵夫人になってからのエイダの肖像画と思われるものを掲げておきます。なかなか美人でもあったようですね」
 S「このほかにも知られている肖像画がありまして,それは正面切って描かれております.そのためか図3とはすこし印象が違いますが,知的な美人という感じが伝わってきます.ところで,以上は19世紀の話ですが,ここで突然計算機が飛び出してきます.それはチャールズ・バベジ(1791-1871)の階差機関と解析機関です」EU「バベジもだいぶ変わっていて一生独身であったようです」
 T「Uさんの好みの話ですね.しかし,エイダと親しくなったわけですから,それほどバベジも変っていたとは思えませんよ」
 U「美人の伯爵夫人となるとまた話は別です」
 S「まあ,まあ,あまり話の腰を折らないでください.バベジは1822年に階差機関の構想を立て,1835年には解析機関の構想を立てています.これらはいずれも関数表を作るための計算機です.ことに後者は式の値の計算も可能な全自動計算機で,今日のプログラム制御式計算機の原型をなしているといっても過言ではありません.これはミルという演算部,ストアという演算結果貯蔵部,コントローリング・メカニズムという実行過程制御部の3部分からなっており,50桁1000字を記憶できるようになっておりました。特筆すべきは、オペレーション・カードとヴァリアブル・カードという2組のパンチ・カードがこの計算機を制御するようになっていたことです.これは当時,織物の模様織りに使っていたジ|ャカード・カードからヒントを得たものだといわれています.
 バベジは1828年から1835年まで英国のケンブリッジ大学の数学教授でした.晩年にはイギリス政府の援助をうけて解析機関を実際に作ろうとしましたが,遂に完成しませんでした.これはバベジが数学者で技術的知識が乏しかったことと,当時の工作技術の水準が低くバベジの構想に技術が及ばなかったことなどが原因です.しかし今日の観点からすると,構想だけとはいえバベジの着想は驚異以外の何物でもありません.
 ところで,1840年にバベジはイタリアのトリノで解析機関について講義をしました.それを士官学校の先生をしていたメナブレアが講義録にまとめて,1842年にスイスのジュネーブから出ていた雑誌にフランス語で発表しました.これをエイダが英語に翻訳したのです」
 U「それがエイダとバベジの出会いのきっ|かけになるわけですか?」
 S「そうです.そのことを聞いたバベジはエイダに解析機関の利用法,つまり,ソフトウェアについて注をつけるように勧めたのです。もちろん,エイダはそのことを承諾し,2人は注につける例題を選ぶことになりましたが,最終的にはエイダが例題をきめ計算法までも検討したといわれております.エイダの注のついた翻訳論文は1843年にTaylor'sScientificMemoirsに発表されました。時にバベジ51才,エイダ28才でありました.これで天才バベジ,才媛エイダ出会いの一幕の全巻のおわりであります」
 T「Sさんの名調子でしたが,こんなわけでエイダは世界最初のプログラマではないかといわれております。もっとも,解析機関が実際にあってそれを使用したわけでありませんので,今日の意味でプログラマといえるかどうかはわかりませんが,解析機関というハードウェアの仕様があり,それに即して例題の計算法を考えたのですから,やはりプログラマという呼び方がもっともエイダに対して|ふさわしいと思います。このような次第でプログラミング言語のAdaは世界最初のプログラマであるラブレス伯爵夫人の名前からとられたのです。
36年後に読んでもなかなか面白い。さすが、戸島煕先生である。

続いて「Ada制定のいきさつ」だが、こういう内輪話のようなものは面白い。
一部抜粋
 Ada制定の立役者は米国国防総省(theDepartmentofDefense)です。以下,国防総省は頭文字をとってDoDと言うことにします。DoDは1974年に委員会を発足させて、組み込み型計算機システムの新言語の制定に乗り出しました.ここで組み込み型計算機と言っているのは,大は兵器システム,通信システム,指揮系統システム,シミュレータなどの制御システムに組み込まれている計算機からはじまって,小はマイクロコンピュータに至るまでDoDが使うすべての計算機を指します。従来,DoDで使われていたプログラミング言語は各システムによって千差万別で,そのためDoDはそれらの言語の開発と保守のために莫大な予算を計上してきました。プログラミング言語が統一されると,こうした開発と保守のために要する手間が一挙に軽減されることになりますから、大幅な費用の削減が可能となります.DoDの狙いは明らかにこうした合理化にあります。
 そして,DoDは国防総省指令で,新規防衛システムの開発はDoDが承認した高水準プログラミング言語で記述すべきであるとしたのです.そして暫定的にFORTRAN,COBOLをはじめとする7つのプログラミング言語を承認言語として指定しました。新言語に関しては軍・学会・民間に対して広く意見調査が行われて,その結果が要求仕様書にまとめられております.要求仕様書は何度か改訂が行われましたので,それを区別するために要求仕様書には古いものから順に次のような面白い副題がつけられています.
 STRAWMAN
 WOODMAN
 TINMAN
 IRONMAN
 STEELMAN
 これらのうち最後のSTEELMANは1978年6月に改訂されました.これらに従って既存言語のいくつかが詳細に検討されましたが,結局要求仕様書をみたす既存言語は存在しないことが確認されました。そこで,1977年7月のIRONMANの仕様による予備設計が次の4つの機関に競争委託されることになりました。このあたりは費用がいくらかさんでも結局よいものが作られればよいという,アメリカ流のやり方だと思います.
 CIIハネウェル・ブル社
 インターメトリックス社
 ソフテック社
 SRIインターナショナル社
 これらの各社の設計書は機関名をかくすために表紙の色により、GREENREDYELLOWBLUEという名称で区別されました。今日では上に述べた会社がその順で各名称に対応していたことが周知となっております」
 T「つまり,CIIハネウェル・ブル社がGREEN,インターメトリックス社がREDというわけですね?」
 U「そうです.さて,この4つの仕様書が次の6人によって審査されたのです.
 デビッド A. フィッシャー
 デビッド グリース
 ブライアン R. カーニハン
 ジョン レイノルド
 フィリップ R. ウェザオール
 ウイリアム A. ウルフ
いずれも計算機のソフトウェアに関しては経験豊かな錚錚たるメンバーです。計算機を専門にしている人でこの6人のうちの1人も知らない人がいるとすれば,その人は“もぐり”といってもよいでしょう.K君,君は何人知っていますか?」
 K「僕は“もぐり”のようです」
 U「M君は?」
 M「コンパイラの本のグリースとソフトウエア・ツールの本のカーニハンの2人しか知りません」
 U「結構です。両方とも日本語に訳されていますからね.読みましたか?」
 M「ソフトウェア・ツールの方をすこしばかり......」
 U「ところでこれらの6人がくだした結論はこうでした。すなわち,GREENは続けBLUEは中止しREDとYELLOWはどちらかを続けよ、というものです.そして最終的には新言語の第1候補がGREEN,第2候補がREDと決りました。それと共にIRONMANの不備も改められてSTEELMANとなり,その仕様に基づいて約1年間作業を続けた結果、1979年5月にGREENが正式に採用されることになって,すでに話題となったAdaという名前がつけられたのです.このようにAdaの言語設計はCIIハネウェル・ブル社によってなされました。その責任者はJ.D.イシビアでしたが,彼は現在はアルシス社におります。まあ、こんなところですね」
 T「どうもありがとうございました.UさんはAdaに関心がないと言いながらなかなかよくご存知のようです。私から少し補足しておきましょう.公表されたAdaの仕様に対しては,世界の15ヵ国から900件にも達する批判や提言がよせられたと報告されております.この15ヵ国の中には日本もふくまれています.これらを反映した形でAdaの大規模な改訂が行われ,1980年7月に“Ada基準文法書”が公表されました.その後もAdaに関しては各種の意見の集約が引き続いて行われ,その結果がAdaの2回目の改定となり,1982年7月にAdaの米国規格草案が公表されました。そして,1983年2月にこれがAdaの米国規格として認定されております.
 このように,Ada成立の背景に多くの批判と提言があるのがきわめて大きな特徴です.それはAda制定の主体が巨大な影響力を持つDoDという機関であることと,DoDの委員会のワーキング・グループや言語の設計グループが,実際に各方面に協力要請をしたことなどが原因と考えられます.こうして,Adaはコンピュータ・サイエンティストが総力を結集した80年代の最新言語という外観を呈しております。くりかえしになりますが,この“総力結集”ということもDoDだからこそ実現したのだと思います」
36年前は良いアプリを作るには良いプログラム言語が必要だということで研究が進んでいた。プログラミングは科学であった。これもハードウェアが貧弱だったからソフトウェアでカバーしなければならなかったためだった。今はハードウェアが凄いことになっているのでお気楽な言語、簡単な言語で済むような時代になった。いわばAdaのような美人ではなく、地元アイドル程度で良くなったということ。

記事ではAdaとPascalの比較からTurbo Pascal と Pasca/MT+の比較が出てきた。

ASCII1984(05)c34Ada4_Pascal表_W520.jpg

私は16ビットのTurbo Pascalから使ったが8ビット版があったとは36年後の今知った。PascalはP code コンパイラなので遅いというイメージがあってマシン語にコンパイルする16ビット版Turbo Pascalが出るまでは歯牙にもかけなかった。Z80のマシン語ならコンパイラより高速なコードをアセンブリ言語で書くことができたから。
36年後は約1000倍のクロックで動くマルチコアの64ビットCPUを使ってプログラミングしているのでもはやプログラミング言語は、自分が使いやすいものを使うのが吉。36年前はCPUの進歩を熱望していたのに今は食傷気味になるとは、なんという時代になったのか。


nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。