fortran66のブログ

fortran について書きます。

【メモ帳】Backus の質疑応答から

1978年 "The History of Fortran I, II, and III" 講演の質疑応答より

この質疑応答が中々いい所を突いていて面白いのです。

J.A.N. Lee. Transcript of question and answer session: "The History of Fortran I, II, and III". www.softwarepreservation.org

I-N を整数型にした理由

fortran66.hatenablog.com

Destination = Source という代入の向き

今のコンピュータ言語のほとんどは、右辺から左辺への代入になっていますが、FORTRAN の影響によるものだと思います。なぜその順序に決定したか、バッカスが答えています。

COBOL で有名なグレース・ホッパーの同時期の言語では左辺から右辺への代入になっていたようです。

f:id:fortran66:20190820013008p:plain
代入について

アセンブラでは、ソース → デスティネーション と デスティネーション ← ソース の記法の両方があって未だ統一されていません。昔は 80 系と 68 系で逆になっているという話だったと思うですが、80 系が支配的になった後でも統一が成りませんでした。だから、右辺から左辺への代入の向きは自明ではないと思うのです。

FORMAT が実行時にインタープリタ方式で処理される理由

FORTRAN は(書式付きの)I/O が遅いと昔から腐されてきましたが、その理由として FORMAT が実行時にインタープリタ方式で解釈されていることが考えられます。実際 FORTRAN66 以降では、実行時の動的 FORMAT 書き換えが可能です。

コンパイル時に確定させていいはずなのに、なぜ実行時に解釈するのかを、バッカスは担当者に答えさせていまます。理由は、そうするつもりだったけど手が回らなかったためのようです。

f:id:fortran66:20190820014348p:plain
なぜ FORMAT がインタープリタ処理

内部ファイルで、文字列と数値の相互変換をするとき柔軟に行けるんですが、書式付きI/Oでフォーマットを使うので他言語とくらべてどうしても遅くなってしまいます。

f:id:fortran66:20190824022523p:plain
メチルメタフィジー