要約
- Andrew D. BoothとKathleen H. V. Brittenが1947年にまとめた『Coding for A.R.C.』は、数理的な計画と20ビット命令の間に略号による作業面を置いた。アセンブリ言語史の早い重要例だが、単独の発明者や「最初のアセンブラ」を無条件に確定する史料ではない。
- 記号を有効な演算コード、番地、順序へ変換できれば、機械形式への適合は確かめられる。しかし、アルゴリズムの選択、入力の妥当性、条件判断、出力の信頼性は別に検証しなければならない。
20ビットの中に残るハードウェア
ARCの命令は20ビットだった。1〜8ビットが記憶位置、9〜15ビットが順序、16〜20ビットが演算を表す。ひとつの数字を別の欄へ置けば、機械は意図を推測せず、別の場所を読み、別の動作を行う。
BoothとBrittenは、この厳しさを隠す代わりに工程を分けた。まず問題を数式として整理し、制御の流れを概略コードにし、記憶域を割り当て、最後に詳細な命令列を作る。短い記号と数値の演算コードを結ぶ表が、その間を支えた。
この順序によって、人は番地を数える前に方法を検討できる。分岐や反復を図で追い、必要な記憶を洗い出し、その後で機械の形式へ固定する。略号はビットを消したのではない。考える段階と詰め込む段階を分離した。
報告書の序文には、ARCのコードを計画中の電子計算機と同一にした、とある。ARC向けに符号化した問題を移せるようにし、リレー機で得た経験を次の設計へ返すためだった。これは共通の構成を意図した二台の間の互換性であり、どの機械にも通用する可搬性ではない。
一人の「最初」では説明できない
原文の署名はAndrew D. BoothとKathleen H. V. Brittenである。KathleenがBooth姓になる前の文書だからだ。彼女の功績を正当に扱うことと、共同署名を単独著作へ書き換えることは同じではない。
方法にも明記された系譜がある。両者はHerman GoldstineとJohn von Neumannの計画・符号化手法を参照した。IASの報告は、プログラムを静的な語の置換ではなく、分岐し、同じ場所へ戻り、状態を変化させる動的な制御として捉えている。流れ図は説明用の飾りではなく、詳細な命令を決める前の思考装置だった。
ARCの製作現場も共同作業だった。Birkbeckの大学史は、1946年12月の写真に写るKathleen Britten、Xenia Sweeting、Andrew Boothを名指ししている。Andrewは後年の聞き取りで、Kathleenが別の女性とともに一連の機械のほぼ全配線を担ったと回想した。回想は完全な作業台帳ではないが、技術史から見えなくなりやすい労働を示している。
Kathleen Boothが1958年に著した自動デジタル計算機のプログラミング書は、関与が長期に続いたことを裏づける。評価に必要なのは誇張した称号ではなく、具体的な著述と実務の連続性である。
記号方式と動作するアセンブラ
「アセンブリ言語」という言葉は、覚えやすい記号、体系的な符号化手順、そして記号を機械語へ自動変換するプログラムを一括りにしがちだ。歴史上、それらは同時に完成したわけではない。
1947年の報告書は、早い時期の略号体系と、数学的な記述から詳細コードまで至る方法を示す。一方、CambridgeのEDSAC資料では、文字が5ビットの演算コードを直接表し、David Wheelerの1949年Initial OrdersはComputer History Museumによって配線式アセンブラの節目と位置づけられている。
片方を否定してもう片方を「最初」にする必要はない。人が読む記号、記号と数値を結ぶ規約、プログラムを読み込む初期命令、自動変換という別々の層を見れば、プログラミング環境が積み重ねで成立したことが分かる。
変換成功が証明する範囲
記号列をエラーなく機械形式へ移せたなら、演算が定義され、番地が欄に収まり、語が所定の場所へ置けることは確認できる。手作業で長い命令列を準備していた時代には大きな価値があった。
しかし、形式が正しくても目的は誤りうる。比較命令が逆の条件を実装することも、反復計算が不適切なモデル上で安定することもある。入力が指定番地に正確に置かれても、古い、偏っている、測定条件が違うという問題は残る。
現代のコンパイラや配備基盤も同じ境界を持つ。ビルド成功は、定められた変換と検査が終わったという証拠だ。アクセス方針の妥当性、依存関係の安全性、データの代表性までを一括して証明するものではない。
責任の鎖を切らないことが重要だ。人が方法と仮定を選び、記号が手続きを表し、変換が実行形式へ対応づけ、機械が観測可能な結果を返す。そして人は、その結果が最初の問いに応えたかを改めて判断する。
抽象化は権限の配置でもある
機械への標準的な入口を保守する者は、何を有効な命令とみなすかに影響する。ARCの表では、利用できる演算、番地幅、制御移動、記憶の使い方が公開されていた。便利な記号の背後に、設計上の選択が見えていた。
管理可能な抽象化は、変換対象と対象外を明示し、生成物を調べる道を残す。逆に、変換成功を広い正当性の証明として売る仕組みは、入口の所有者へ過大な権限を集める。
Kathleen Boothの貢献は、争いのない「最初」という称号より、この可視的な境界に残っている。人に読める表現を作り、機械との対応を厳密に保ち、受理された命令を正しい判断と取り違えない。その三点は、現在の自動化にもそのまま通用する。
出典
- Andrew D. Booth、Kathleen H. V. Britten『Coding for A.R.C.』
- Institute for Advanced Study所蔵記録
- Herman Goldstine、John von Neumann『Planning and Coding of Problems for an Electronic Computing Instrument』
- Birkbeck『50 Years of Computing』
- Computer History Museum、Andrew Boothオーラルヒストリー
- University of Cambridge、EDSAC Initial Orders and Squares Program
- University of Cambridge、EDSAC命令コード解説
- MacTutor、AndrewとKathleen Boothの著作
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
