進歩
私が初めにたずさわったシステムの中で、飛び抜けて古かった商品のシステムは、
- 全部磁気テープ(以下テープ)で行う
- マスター(元帳)もテープ
- 処理もテープ
- 初めから順に書くだけ、読むだけ。一度書いたら二度と変更はしない。
- テープを替える専門家が常駐していて、ワークのテープなどは、使い終わったら、別の用途で再度使い回す*1。
- 多分、マスターテープは毎日、別のボリューム(巻)になるはず。(テープは一度書いたら二度と変更はできない為)
- プログラムの関数としての入力は処理日付程度、出力は復帰コード程度
- テープは副作用として読み、処理をし、別のテープに副作用として書く
- テープに書くデータ(以下レコード)はCSVの様なもの*2
- テープは複数本読む事も可能で、レコードを何個か先読みも可能
- 入出力テープの他にワークのテープを複数使い、ソート(並べ替え)も出来た*3
という事をしていました。
初歩的なLISP言語のリスト構造の代わりに、何行ものCSVの様なレコードを磁気テープに置くという点は同じでしたが、
やはり「副作用が無い」という縛りは度し難く、読み書き(副作用) を本質的な実行内容とする方向に行ったのは、初歩的なLISP時代と比べ正しく進歩だと思います。
結論
もう、テープのみを複数本使った処理を使う人もいないでしょうから、今後これでプログラミングが嫌いになる人は出ないでしょう。