Electronics Pick-up by Akira Fukuda

日本で2番目に(?)半導体技術に詳しいライターのブログ

当ブログではアフィリエイト広告を利用しています

人類社会は文明が始まってから経験したことのない「ストレス」に日々さらされている(no.001 序章あるいは1980年代半ばの計算機利用)

科学文明を享受している人類は、これまで経験のなかった「ストレス」に毎日のようにさらされている。そう思う。
そのストレスはスマートフォンの普及によって文明社会の隅々まで拡散し、怒りの沸点を下げてしまった(個人的な感想です)。

このストレスは、コンピュータ・プログラミングを経験したことのある人間には、すぐ分かる類のストレスだ。
筆者は工学部で学内の大型計算機(富士通のFACOM-180)をFORTRANのプログラムで卒業研究のために利用していた。
ここでそれまで経験したことのない課題に直面し、緊張とストレスに悩まされた。

FACOM M-180II-コンピュータ博物館

それは「誤りが1箇所でもあると、プログラムは動かない」という現実だ。
プログラム(コード)は1行が1枚の「パンチカード」で具現化される。
パンチカードは学内の「パンチ室」(俗称で実名は不明)に数多くおかれたパンチャーで作る。
パンチャーは、PCのキーボードとほぼ同じで、違うのはキーを叩くとパンチカードに穴が開く(鑽孔)という点だろう。
FORTRANのコードをキーボードで入力すると、コードに対応した穴の羅列がパンチカードに穿たれる。

例えば100行のプログラムであれば、100枚のパンチカードが必要となる。パンチカードは脆弱で、力を加えるとすぐに折り目がつく。
100枚ともなるとかなり重く、素手で扱うとカードがよれ、簡単に折り目が入ってしまう。
折り目がついたパンチカードは、計算機の読み取り器(パンチカードリーダー)で読めず、リーダーがしばしば止まる(「ジャムる」、と呼んでいた)。

そこで段ボール箱にパンチカードの束を入れて、折り目や汚れなどから保護するのがふつうだった。
1本のプログラムで100枚のパンチカードは珍しくなかった。重い。
でも計算機を利用する学生はみんな、このクソ重いパンチカードの束を抱えていた。そして同じ苦労をしていた。自分だけでないことが、ささやかな慰めだったともいえる。

その札束のようなパンチカード束を、段ボール箱から取り出してリーダーに雪崩のように流し込み、読ませる。「ダダダダダ」という独特の読み込み音が響く。
読み込みが終わったパンチカードをリーダーから優しく(折れないように)取り出し、再び段ボール箱に詰める。

読み込ませが完了すると、人間のやることは待つこと、だけになる。機械式のドットプリンターが印刷した紙を吐き出すのをひたすら待つ。
計算機システムがプログラムをコンパイルし、読めないコードや規則違反などがあると「エラー」として紙を吐き出す。
最も頻繁に目にしたのが「SYNTAX ERROR(シンタックスエラー)」だったと記憶する。パンチしたコードのどこか(1枚あるいは複数枚)に誤りがあったのだ。
引数の()で後ろのカッコをパンチし忘れたというミスは珍しくない。

とにかく厄介なのは、印刷紙を受け取るまで、コンパイルエラーが発生したのか、実行時エラーが発生したのか(これは意外となかった)、
プログラム実行による結果が出力されたのか、が分からないことだ。

印刷を待っている間の気分というのは甚だしくよろしくない。印刷された紙を見たときの気分は、さらによろしくない、ことが多い。たいがいはエラー終了していたからだ。
また「SYNTAX ERROR」・・・(泣)。
コンパイラから見て「完全無欠」のコード以外は、全部エラーになってしまう。

入力を誤ったカードは捨てるほかない。このためパンチ室には棄てられたカードが散乱していた。
黄色のパンチカードが散乱している様子は、銀杏並木の落葉のように見えた。


それでも「慣れ」とは恐ろしい。
パンチカードによるプログラミングに慣れてくると、だんだんとカードが「読める」ようになってくる。
高頻度で使うコードは、穴の位置を勝手に覚えるからだ。
また、同じコードが複数あるときはカードを重ねることで、穴の位置が間違っているカードを検出できる。穴が間違っていると光が通らないからだ。
重ねたカード(同一のコード)をパンチ室の窓と平行にして光を入れ、光がすべて通れば正しいカードだけということになる。

(続きます)