タビュレーティングマシン
タビュレーティングマシン（Tabulating machine）は日本では一般にパンチカードシステムと呼ばれていたもので、会計などの作表を補助する機械群。タビュレータ (tabulator) とも。ハーマン・ホレリスが発明し、1890年の米国国勢調査のデータ処理で初めて使用された。その後コンピュータが普及するまでデータ処理に広く使われた。
「スーパーコンピューティング」という言葉は1931年、紙がIBMがコロンビア大学に納入した大型特製タビュレータを指して使ったのが最初である。
1880年の国勢調査は集計に7年を費やし、結果が出たときには既に時代遅れの数値と言わざるを得なかった。1880年から1890年にかけての移民などを原因とするアメリカ合衆国の急速な人口増加により、1890年の国勢調査は約13年かかると予測された。アメリカ合衆国憲法は国勢調査の数値を元に州ごとの課税配分と連邦議会の州ごとの定数を決定することを要求していたため、もっと素早く集計する方法が必要とされた。
この目的のため、1880年代末ごろ、パンチカードはホレリスにより発明された。発想の元は直接には、鉄道の切符において、車掌が切符に穴を開ける位置によって情報を付与していた（例えば、目的地、旅客の年齢など）ところからである。同様のものは機械制御用として以前から存在しており（例えば、オートマタ、ピアノロール、ジャカード織機など）たとえばピアノロールは「楽曲のデータ」を、ジャカード織機のそれは「布の柄のデータ」を記録しているものと見ることもできるが、それをデータ処理に利用したのがホレリスの発明と言える。ホレリスは紙が絶縁体として機能し、穴の開いたところだけ電気を通すことができると気づいた。当初紙テープを試してみたが、最終的にパンチカードに到達した（当初はホレリスカードと呼ばれていた）。
ホレリスは丸い穴を12行24桁の格子状に開けるパンチカードを採用した。彼の機械は継電器（とソレノイド）を使って機械式カウンタをインクリメントする。バネ付きの針金がカード読み取り機の上部に並んでいる。カードは水銀のプール群の上にセットされ、各プールはカード上の各穴の位置にある。針金をカードに押し付けると、穴のある位置では針金が水銀のプールに浸り、電気回路が形成される。その結果がカウンター（計数器）に送られ、ベルを鳴らしてカードが読み取られたことを操作者に知らせるのである。
タビュレータには40個のカウンタがあり、それぞれ100個の目盛りがついたダイヤルでカウントを示す。ダイヤルには2本の針があり、1本はカウントアップするたびに動き、もう一本は前者が一周するごとにカウントアップする。そのため、カウンタは最大10,000までカウント可能である。カウンタにはパンチカードの特定の穴を対応させることができ、継電器による一種の論理回路を使って一連の穴の組み合わせをカウントさせることもできる。
例えば、既婚の女性をカウントするなどである。またカード格納部が複数あって、読み取った情報に従って一箇所のカード格納部の蓋が開き、そこに読み取ったカードが落とし込まれるようになっていた。
ホレリスの技法（カードとタビュレーティングマシンとキーパンチ機）は1890年の国勢調査で採用された。カードには、年齢、住居種別、性別などの情報がコード化されて格納される。事務員は集められた情報をカード上にパンチすることができた。1890年の国勢調査は予定より数カ月早く18ヶ月で完了し、その期間内に二重チェックも行われた。予算より遥かに少ない金額で済んだ。
この技術が会計や在庫管理に利用できることは明らかだった。ホレリスは1896年、タビュレーティング・マシン社 (Tabulating Machine Company, TMC) を立ち上げた。同年、Hollerith Integrating Tabulator を発売。これは単に穴を数えるだけでなく、数値を穴の列で符号化し、それを累算していくことができる機械である。パンチカードの読み取りは従来と同じ水銀を使ったものだった。1900年に発売した Hollerith Automatic Feed Tabulator は自動カードフィード機構を備え、1900年の国勢調査に採用された。しかし1901年、国勢調査局の長官ロバート・ポーターは大統領が代わることに伴って局を去り、イギリスへ帰国することとなった。ちなみにポーターはイギリスでブリティッシュ・タビュレーティング・マシン社を設立。これが後のICT（さらに後にはICL）となった。国勢調査局の新長官とホレリスの関係はうまくいかず、国勢調査局はジェームズ・パワーズという技術者を雇ってタビュレーティングマシンの改良を行わせた。パワーズはタビュレーティングマシンに印刷機能をつける改良を行い、自身も会社を立ち上げた。
プラグボードは1906年の Type 1 で導入された。1911年、ホレリスの会社を含む4社が合併しコンピューティング・タビュレーティング・レコーディング・コーポレーション (, CTR) となった。1920年代には印字機能つきのタビュレータ、プラグボードを着脱可能なタビュレータが登場。1924年、CTRはインターナショナル・ビジネス・マシンズ (IBM) と改称。IBMはタビュレーティングマシンの改良を進めていった。
1950年代に電子式コンピュータが製品化されてからもタビュレーティングマシンは広く使われ続けた。なお、パワーズの会社は事務用品会社ランド・カーデックス社に買収され、同社は後にレミントンランドとなった（その後、スペリー→ユニシス）。
タビュレーティングマシンの用途の多くは、IBM 1401 などのコンピュータに置き換えられていった。とRPGというプログラミング言語は、そのような移行のために開発された。タビュレータの制御パネル（プラグボード）はマシンサイクルに基づいているので、FARGOとRPGはマシンサイクルの記法をエミュレートしており、プログラミング教材はプラグボードと言語のコーディングシートの関係を示していた。
電子計算機の発明以前、データ処理はタビュレーティングマシンの進化したパンチカードシステム（Punch Card System、PCS）と呼ばれる電気機械式機器で行われるようになった。和製英語だという主張もあるようだが、英語圏での使用例もある。英語圏ではユニットレコード装置（Unit Record Equipment）、電気会計機（Electric Accounting Machine、EAM）などとも呼ぶ。
ユニットレコードとは、19世紀末から20世紀初頭にかけて使われた、1つの文書上のオブジェクトや処理に関する全情報の記録を指した言葉である。例えば、図書館の索引カードはユニットレコードの一例である。ユニットレコード用の机も製造されており、パンチカードなどで記録されたユニットレコードを格納しておく机を と呼んだ。当時（1888年）の書籍には「我々は鉄道用のあらゆる車両や機関車についての記録をパンチカードまたは他のユニットレコードの形で保持しており、それらは Car Accountant's Office または他の手段で作成された」という記述も見られる。ここから、パンチカードはユニットレコードの一種だが、ユニットレコードの方が幅広い意味を持つことがわかる。Markus Krajewski はこのユニットレコードの概念を発展させた人物を書誌学者のコンラート・ゲスナーだとしている。
20世紀後半にコンピュータが担った役割を20世紀前半ではPCSが産業界や政府関連で果たしたのである。データ処理はパンチカードのデッキ（束）を入力として様々な機器を連結してなされた。機器間のカードデッキのフロー（流れ）は大きな紙に標準化されたシンボルを使って記述され、そのような図を今ではフローチャートと呼ぶ。各機器はパンチカードを高速に処理するための機械式フィーダーを備えており、毎分百枚から2千枚のカードを送り込み、電気的センサーか光センサーで穴の位置を調べる。多くの機器の動作は着脱可能なプラグボードを使って指定できる。初期の機器は電気機械式のカウンターと継電器を使って構築されていた。電子部品は1940年代後半から導入され始めた。
PCSの最大の供給業者はIBMである。以下では主にIBMのPCSについて解説する。
基本データ単位は80桁のパンチカードである。各桁は一つの数字、文字、特殊記号などを表している。データ値は隣接する複数の桁による「フィールド」から構成される。例えば、社員番号5桁、時給レート3桁、ある週の実働時間2桁、部門番号3桁、プロジェクト課金コード6桁というふうに並んでいる。
元のデータはキーパンチと呼ばれる機械を使って人手で入力された。キーパンチにはタイプライター状のキーボードと未入力のカードと入力済みカードが置かれるホッパーで構成される。後にはカードにパンチした内容がカード上端に印字されるようになった（IBM 026 など）。場合によってはパンチされたカードは次の「検孔機 verifier」と呼ばれるキーパンチによく似た機械に送られる。検孔機の操作者はキーパンチと同じ内容を入力し、検孔機内部でそれがパンチ済みの内容と合っているかチェックする。問題なければ、カードの右端に小さなポッチがパンチされる。
PCSの主要な機能のひとつはパンチされたデータに従ってパンチカードのデッキを適切な順にソートすることである。同じデッキでも処理手順によって異なったソートをすることがある。IBM 80シリーズのようなソータは、ひとつの入力デッキを指定された桁の内容に従って13個の出力デッキに振り分ける。なお、13番目のデッキ格納場所は指定された桁に情報がパンチされていないカードやリジェクトされたカードのためのものである。ソートアルゴリズムとしては基数ソートやバケットソート、あるいはそれらの組み合わせが使われた。
データ処理業務は毎日バッチ形式で一括処理するのが一般的であった。一日の業務でパンチされたカードをソートしてからマスターデッキにマージし、その後作表処理が行われる。
リポートや集計は会計機やタビュレーティングマシンで行われる（例えば IBM 407）。ソートされたデッキを供給すると、タビュレーティングマシンが各カードの内容をそれぞれ一行で印字する。指定されたフィールドの値が内蔵のカウンターに加算され、特殊なパンチ穴のあるマスターカードを検出するとカウンターの値を合計値として印字する。
後にプラグボードによるプログラムが可能となり、ひとつのカードのふたつのフィールドの値を入力として乗算なども行えるようになった。また、その計算結果を同じカードの所定のフィールドにパンチして記録することもできるようになった。後の集団穿孔機（IBM 519 など）はこれら全ての操作を実行することができた。
IBM 046 Tape-to-Card Punch と IBM 047 Tape-to-Card Printing Punch（印字機能の有無以外には違いはない）は、さん孔テープから読み取ってパンチカードに穴を開けることでデータを複写する。IBM 063 Card-Controlled Tape Punch は逆にパンチカードを読み取ってそのデータをさん孔テープに穴を開けることで複写する。基本的に、タビュレーティングマシンはパンチカードを1枚ずつ読み込み、一部（フィールド）を（必要なら並べ替えた上で）連続帳票に印字し、パンチカード上の1つ以上の数値をカウンタ（アキュムレータ）に加算する。初期の機種ではアキュムレータによってダイヤルがセットされるので、最終的に人間がダイヤルから総計を読み取っていた。後の機種では総計を直接印字可能になった。特定位置に穴のあるカードをマスターカードと呼び、通常とは扱いが異なる。例えば、顧客マスターカードをその顧客の購入商品のカード群をソートしたものに付け加える。これを送り状を作るためにタビュレーティングマシンに読み込ませると、送付先住所と顧客番号がマスターカードから読み込まれて印字され、個々の購入商品と価格が印字される。次の顧客マスターカードを検出すると、アキュムレータにある総額を印字し、ページ送りする。
ソーター以外のPCSはプラグボード制御盤を使ってプログラム可能であった。パネルにはグループ化された穴の配列がある。これらの穴を導線でつなぐことでプログラムする。カードのフィールドに相当する穴と何らかの制御（集計、四則演算など）に対応する穴をつなぐことで処理が行われる。一般にある処理を行うための配線済みプラグボードを複数用意して、業務ごとにプラグボードを入れ替えて使う。
ワイヤは長さごとに色が決まっていて、たくさんのワイヤが集積することでプログラミングが困難になるのを防いでいた。またワイヤには一時的なものと永続的なものがあり、永続的なものは特殊な工具を使わないと取り外せないようになっていて、デバッグ完了後はそのような配線を使うのが一般的であった。
なお、プラグボードの配線を「プログラミング」と呼ぶのは後世の呼称であり、当時は "functional wiring" などと呼んでいた。
1948年、IBM 604 が発表された。この機械はカード・プログラムド・カリキュレータ（Card Programmed Calculator、CPC）と呼ばれ、真空管を使った計算機構を備えていた。これは10年間で5600台を販売するベストセラーとなった。これを代替する目的で開発されたコンピュータが IBM 650 である。
初期のコンピュータプログラムは入力および保管にパンチカードを使用した。企業や大学にはキーパンチ機が並んだ部屋があり、プログラマはそのような部屋で作業した。IBM 407 会計機を使ってパンチカードの内容を印字し、プログラムのデバッグに活用することもあった。IBM 519 を使ってプログラムのカードデッキのバックアップを作ることもあった。519 は73～80桁の位置に連続番号を打つのにも使われた。これはFORTRANやCOBOLがその桁位置を使っていないことから、それらのプログラムデッキに活用された。順番に並んでいたデッキを落とすなどしてバラバラにしてしまった場合には IBM 80シリーズのソーターを使った。より簡単な方法としては、カードデッキの上端の側面にペンなどで何かを書いておくと正しく並んでいることが確認できた。
IBM 1401 のような初期の商用コンピュータはパンチカードを入出力として、より複雑な結果を得られるようになっていた。しかし、多くの場合記憶媒体としては磁気テープが使われ、磁気テープへのデータ入力手段としてパンチカードが使われるようになっていった。
作業手順が変わることに抵抗を示す組織は多く、コンピュータが登場してからもPCSが使われることは多かった。料金集計、マイクロフィルムアパーチャーカード（パンチカードの一部にマイクロフィルムを埋め込んだカード）、投票システムなど、PCSは21世紀になっても使われている。
System/3 は IBM のミッドレンジコンピュータの先祖とも言うべき機種だが、PCSを完全に置き換える目的で開発された。
歴史:
ホレリスとホレリスの初期のマシン:
パンチカードの用途:
マシン: