計算機の歴史
したがって、部品の精度に口うるさくても仕方のない面もあった。結果として中断したプロジェクトへのイギリス政府の出資中止が決まった。ジョージ・ゴードン・バイロンの娘エイダ・ラブレスは Federico Luigi, Conte Menabrea の著した "Sketch of the Analytical Engine" を英訳し、大量の注釈を付記している。これが世界初のプログラミングについての出版物とされている。
階差機関の初期の限定的設計のものを再現する計画が1991年、サイエンス・ミュージアムで実施された。いくつかの瑣末な修正を施し、バベッジの設計通りに動くことが確認され、時代を遥かに先行していたバベッジの設計が正しかったことが証明された。部品製作にはコンピュータ制御の工作機械を使ったが、当時の職人のレベルに合わせて誤差を生じるようにしている。
ダブリン出身の会計士 Percy Ludgate はバベッジの業績を知らなかったが、独自にプログラム可能なコンピュータを設計し、1909年に出版した著作にそれを記している。
以下は計算に使うこともできる(実際、おこなわれている)が、主としてデータ処理をおこなう機械、タビュレーティングマシンの話である。
1880年代末、アメリカのハーマン・ホレリスは機械で読み取り可能な形で媒体にデータを記録する方法を発明した。それまで、機械が読み取り可能な形で媒体に記録されるのは制御情報であって(ピアノロールやジャカード織機)、データではなかった。
プログラム内蔵式として設計された最初のコンピュータはEDVACだが、実際に最初に稼働したのはEDVACではない。エッカートとモークリーがプロジェクトを離れ、製作が停滞したためである。最初のノイマン型(プログラム内蔵式)コンピュータは1948年のマンチェスター大学の通称 "Baby"、正式名 Small-Scale Experimental Machine である。同大学のフレデリック・C・ウィリアムスとトム・キルバーンが開発を指揮した。これはウィリアムスが発明したウィリアムス管の実用性を評価するために開発された試験機だった。その成功を受けて1949年、実用的なコンピュータ Manchester Mark I を開発。ウィリアムス管と磁気ドラムメモリを使い、インデックスレジスタという概念を初めて導入している。「世界初のプログラム内蔵式デジタルコンピュータ」の他の候補としては、ケンブリッジ大学で設計・開発されたEDSACがある。マンチェスターの"Baby"の一年以内に稼働開始しているが、実際に問題を解くプログラムを実行可能なレベルだった。EDSACはEDVACの計画に触発されて始まったもので、EDVACもEDSACもENIACが稼働開始する以前から計画が始まっている。
1936年、コンラート・ツーゼはドイツで単独でZシリーズという一連の計算機の製作を開始した。記憶装置と(当初は限定的な)プログラム能力を備えた計算機である。完全機械式で二進法を採用した Z1 は1938年に完成したが、部品の精度が悪く継続的に動作することはなかった。
1941年、Z3 が完成。電話機用のリレーを使い安定的に動作した。Z3 は世界初のプログラム制御式の汎用デジタルコンピュータである。多くの点で現代のコンピュータと似ており、様々な点で革新的だった。例えば、浮動小数点数を採用している。実装が複雑になる十進法(バベッジの解析機関は十進法だった)ではなく単純な二進法を採用したため、ツーゼの計算機は当時の技術レベルでの製作が容易になり信頼性も高かった。
Z3 ではさん孔フィルムの形でプログラムを供給した。条件分岐命令がなかったが、1990年代になってZ3がチューリングマシンと等価だったことが証明された(記憶容量が有限だという差異は除く)。