九月二十日といえば
九月二十日といえば、徒然草の長月の二十日のころとか、ほっちゃんの’誕生日とかを連想しますが、今年はネットに 1954 年 9 月 20 日 FORTRAN の誕生日説が流れていて不思議に思いました。それで、少し調べてみました。
一例:
ON THIS DAY | In 1954, John Backus and his team at IBM ran the first FORTRAN program. FORTRAN stands for FORmula TRANslation and was the first high-level language and compiler developed. #OnThisDay pic.twitter.com/dFTSqhMSuC
— RS Components (@RSComponents) 2021年9月20日
そもそも FORTRAN コンパイラは(確か) 1956 年になってようやく完成し 1957 年に正式に出荷されているので、1954 年に最初のプログラムが動くのはおかしいような気がします。また、1954 年は FORTRAN の初期仕様を定めて発表した年であるので、何かの勘違いではないかと思えます。
1954-11-10 www.computerhistory.org
しかしながら情報の出どころを探すと computer history museum にたどり着きました。computer history museum は多くの初期 FORTRAN 資料を収集整理しているので、単なる誤りとも思えず、何らかの根拠があるのかもしれません。
但し同じ computer history museum に 1957 年 4 月 19 日が " First FORTRAN Program Runs" となっているページもあるので、なんとも混乱します。不思議の国のアリスの中の A very merry un-birthday を祝うきちがい帽子屋と三月ウサギとの邂逅のようです。
ネットを検索すると 2013 年に全く同じ疑問をもって調べた人の投稿が出てまいりました。
それに対するコメントに、以下のようなものがありました。
kps on Sept 21, 2013 [–]
I haven't found a reference to that date that's earlier than 4.4BSD's /usr/share/calendar, which includes
09/20 Harlan Herrick runs first FORTRAN program, 1954
In The History of FORTRAN I, II, III (from HOPL I and available at your CHM link), Backus writes:
The FORTRAN compiler (or “translator” as we called it then) was begun in early 1955, although a lot of work on various schemes which would be used in it had been done in 1954; e.g. Herrick had done a lot of trial programming to test out our language [....]
So that's consistent.
これを信ずるとすれば、1954 年 9 月 20 日 は Harlan Herrick 氏による何らかの初期のプロタイプの実行を指しているのかもしれません。
FORTRAN コンパイラの完成が遅れたのは、人間の書いたアセンブリコードに負けないバイナリ出力を出す最適化に時間がかかったためらしいので、最適化抜き・配列抜きなどのプロトタイプなら、早くできていてもおかしくないかもしれません。