今日、2月25日は、2D-APT II が発表された日です (1959)。
…まぁ、普通は「2D-APT II って何?」ってなりますよね。
知名度の高いものではない。でも、コンピューターの歴史の中では、大きな一歩なのです。
APT は Automatically Programmed Tool の略。
翻訳すれば「自動プログラム装置」です。
ごく初期のプログラム言語、それもいわゆる「高級言語」でしたが、プログラム対象はコンピューターではありませんでした。
コンピューターの歴史では、当初から「計算する機械」の仕組みは深く検討されてきました。
その一方で、計算する装置さえでき上れば、その装置に計算手順を教えるのは…まぁ、何とかなるだろう、程度に考えられていました。
この見通しが甘いものである、と認識されたのは、ENIAC が作られたときです。
諸説ありますが、「最初のコンピューター」ですね。
実際、理論上はどんな計算にでも対応できるように作ったはずなのですが、それを実際に「計算させる」ための手順がわからないのです。
その時は、数学が得意な女性が 6人集められ、彼女たちが必死になって計算手順を編み出しました。
この経験から、次に作られるコンピューターでは、もう少しプログラムのしやすさが考慮されます。
時代が過ぎるにしたがってプログラムしやすさは増していき…
といっても、「アセンブリ言語」でプログラムを作れば、「アセンブラ」が自動的に機械語に翻訳してくれる、というレベルには達しました。
そのころにはまだ、サブルーチンとか、スタックという概念がないんですけどね。
アセンブラがあっても、今のアセンブラよりも使いづらく、プログラムを組むのは大変な苦労でした。
計算機を販売しても、そのプログラムが作れないのでは話になりません。
計算機は高性能なのだから、計算機が自分自身をプログラムすればいい、というアイディアが出されたりもしました。
これは「自動プログラム」と呼ばれ、果たしてそんなことが可能なのか、議論となります。
議論に終止符を打ったのは、IBM が発表した FORTRAN 言語でした。
アセンブラではなく、「人間にわかりやすい、数式と、英語に近い言語」で計算の手順を示すと、自動的にコンピューターが実行可能なコードを作り出してくれる、というものでした。
さて、今日の話題、APT は、FORTRAN と似たような初期の言語です。
ただし、FORTRAN が「コンピューターの実行コード」を作り出すのに対し、APT は「工作機械の制御コード」を作り出します。
ここでの「工作機械」は NCMM と呼ばれる装置で、MIT で作成されたものでした。
制御コードデータを紙テープにパンチし、読み込ませることで形状を作り出します。
しかし、この形状データが人間には扱いにくいのです。機械を制御するための、数値の列ですから。
APT が作り出すのは、この制御コードデータの紙テープでした。
しかし、これがあれば金属を加工し、設計通りの形状を作り出すことが可能でした。
つまり、現在の 3Dプリンタの元祖です。
ただし、現在の3Dプリンタを使用する際は、普通はディスプレイ上で3Dモデルをモデリングします。
プログラムではありません。
当時は、コンピューターに接続されているのは「テレタイプ」が普通で、ディスプレイ上で…という概念が存在しませんでした。
プログラムで形状を示すのは、そのためです。
ただ、大きな問題が一つあり、2次元の図形は数式で表現することが可能なのですが、3次元形状を数式で表現することが、非常に難しいのです。
2D-APT II というのはそのための「暫定的な名前」で、まだ2D形状しか扱えないことを意味します。
工作機械は3D形状の削りだしも可能なので、なんとか3D形状をプログラムする方法を模索している途中段階でした。
この後、APT の研究は「コンピューター上で設計図を描くと、それがそのまま機械で加工される」というものに変わっていきます。
実は、「ディスプレイを使って絵を描く」というプログラム…サザーランドのスケッチパッド自体が、この研究の一環として生まれています。
以降は、とにかく示された方法論を、少しでも扱いやすくしようとする改良の歴史です。
NCMM は、さらに扱いやすい CNC になり、先に書いたように設計図から直接、加工が行えるようになっていきます。
現在では、素材を工夫することで、机の上に乗るような小さな機械でも出力が可能です。
APT の話は、過去に詳細を書いていますので興味のある方はそちらもお読みください。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |