「最初のコンピュータとは何か?」という問いにどのように答えるのかは、コンピュータをどのようなマシンと定義するのかという問題でもある。「コンピュータと呼ばれているもの」をどのように定義するのかに関しては様々な議論がある。
ここではそうした定義をいくつか紹介しておくことにしよう。
プログラム内蔵(stored program)方式とは何であるかという概念的規定それ自体も歴史的に捉える必要があるが、ここではとりあえず星野力(1995)『誰がどうやってコンピュータを創ったのか? 』p.35における「プログラムは、それが実行されるときには、計算機械の内部にあるメモリ中に記憶され、計算と同じ速度で取り出されなくてはならない」という規定のように考えておくことにしたい。
そこでは、エッカートとモークリーによって1945年9月に書かれたEDVACのプログレスレポート、バークスによる証言(Burks et al.,1988) 、1970年代のスペーリ・ランド対ハネウェルのENIAC訴訟のときに弁護士によって発掘された文書「文書磁気ディスクに関する覚書」などを根拠とする、エッカートが1944年1月にはプログラム内蔵方式に気づいていたという説、および、それに対するゴールドスタインの批判、および、エッカートとモークリによるゴールドスタインの議論に対する反論などが紹介されている。
なおこの論争に関して星野氏自身は、「エッカートらは磁気ディスクや遅延線というハードウェアを考案したことは、直ちにプログラム可変内蔵というアーキテクチャも考案したことである、といったような認識をどこかにもっているように思える。これに対して後世では(当時でもフォン・ノイマンは)、プログラム可変内蔵方式の本質は論理的なレベルにおけるアーキテクチャと、そのチューリングマシンとしての万能性にある、と理解していることである。これが正しいとすれば、フォン・ノイマンの業績は、プログラム可変内蔵方式を論理的に明確にし発展させたということであろう。」(p.109)というように主張している。
また横山保(1995)『コンピュータの歴史』中央経済社は「ENIACの大きな欠点の一つは、プログラムの作成がプラグ、ソケットによるワイヤリング(wiring)方式であることであった。一つのプログラムをつくるのに、数人の人によって数日を要し、数百のワイヤーの結合を行わなければならなかった。この欠点を解決し、完全なフレキシシビリティをもたせるようにしたのがプログラム内蔵式(stored program)の考えである。この考えは主に、ジョン・フォン・ノイマン(John von Neumann,1903-1957)によるものである。」(p.84)とする一方で、Burks, A.W.,Godstein, H.H., von Neumann, J. (1946) “Preliminary Discussion of the Logical Design of an Electronic Computing Instrument”を典拠として「1944年、ゴールドスタインはノイマンにENIAC計画を説明している。そして両者はプログラム内蔵式の考えを発表している」(p.85)としている。
https://www.cs.princeton.edu/courses/archive/fall09/cos375/Burks.pdf
Metropolis and J. Worlton,(1972) “Trilogy of Errors in the History of Computing,” First USA-Japan Computer Conference Proceedings, pp.683-691
Metropolis,et al.(Ed.1980)History of Computing in the Twentieth Century,Academic Press
Burks,Alice R., Burks,Arthur W.(1988) The Fisrt Electronic Computer, The Atanasoff Story, The University of Michigan Press[邦訳:大座畑、重光監訳『誰がコンピュータを発明したか』工業調査会,1998]
プログラム内蔵方式の意義は多くの人々が理解していたが、コストなどの問題から実装は遅れた。
イギリスのSSME(Small-Scale Experimental Machine)とする説
同論文のアブストラクトでNapperは、”This paper provides a brief history of the four related computers that were designed and built in Manchester from 1948 to 1951, and a summary specification of their architecture. Each machine has a strong claim to be a “first” in the history of stored-program computers, specifically allelectronic computers with an electronic store.”としながらも、SSEMが内蔵プログラム方式で駆動した最初のマシンであるとしている。(“The SSEM (June 1948) was the first such machine to work, thus realizing and proving the von Neumann ideal.”,p.365)
Burton, Christopher P. “Rebuilding the First Manchester Computer” in Rojas,R., Hashage, U. eds. (2000) The First Computers History and Architectures, pp.379-386
同論文のアブストラクトでBurtonは次のように1948年6月21日に内蔵プログラムを初めて動かした書いている。
“The University of Manchester Small-Scale Experimental Machine, the “Baby,” first ran a stored program on June 21, 1948, thus claiming to be the first operational general-purpose computer. ”
「このSSEMの性能はまったくたいしたものではなかったが、ちゃんとメモリ上に置いたプログラムが作動し、いわゆるフォン・ノイマン型の紛れもなくプログラム記憶方式のコンピュータである。EDSACを最初のプログラム記憶方式のコンピュータとする文献は多いが、これは間違いである。EDSACは最初に実用になったコンピュータではあるが、Babyのほうが約1年早くプログラム記憶方式のコンピュータとして動いた。」(p.126)
なお大駒誠一氏は、Okoma, Seiichi(2000) “The First Japanese Computers and Their Software Simulators” in Rojas,R., Hashage, U. eds. (2000) The First Computers History and Architectures, p.421で富士フィルムのFUJICが1956年3月に日本で製造された最初のプログラム内蔵方式コンピュータであるとしている。
“The FUJIC, a monumental computer, was completed in March 1956. It was the first stored-program computer
made in Japan.”
SSMEに関する上記のような評価にも関わらず、SSMEすなわちSmall-Scale Experimental Machineはその名称を直訳すると「小規模実験機」となることからもわかるように、コンピュータ製品とは位置づけがたいものである。実際、大駒氏自身も上記のように述べる一方で、同じ箇所で、SSEMの記憶容量はわずか32語(1語は32ビット)に過ぎず、実行可能な命令もったの7種類であったことから、「コンピュータというよりはむしろ、ウィリアムズ・キルバーン管(一種のブラウン管)がメモリとして使えるかどうかの、動作テスト機械であった」(p.123)としている。
イギリスのEDSACとする説
なお星野力氏は、「本書ではコンピュータを、実行時にプログラムを書き換え可能なもの(プログラム可変内蔵)と定義するので、ENIACはコンピュータとはいえない。」としながらも、星野氏はまた「〈可変〉を取り除いて単に〈プログラム内蔵〉とすれば、一九四八年の改造されたENIACが最初であろう。」(p.81)「後の一九四八年、一入力対一〇〇出力のマトリックススイッチを命令デコーダ(解読器)とするような改造が行われ、メトロポリスは(フォン・ノイマン夫人のクララの助けによって)この機能により、世界最初のモンテカルロ法を計算している。/このことからENIAACは十分にプログラム固定内蔵方式といえる。」(p.90)、「ENIACの革新的意味は何だろうか?それは電子式で(〈で〉は、かつ、の意味)、デジタル方式で、プログラム内蔵型で、実用規模の科学計算汎用である計算機械として、世界最初のものである。」(pp.96-97)としている。
イギリスのManchester Mark Iとする説
Rojas,R., Hashage, U. eds. (2000) The First Computers History and Architectures, p.xii
同書の序文では、Napper, R.B.E. “The Manchester Mark 1 Computers1″と、Burton, Christopher P. “Rebuilding the First Manchester Computer”の論文を紹介した説明文の中で、Manchester Mark Iが世界最初のプログラム内蔵方式コンピュータである、としている。
“Brian Napper and Chris Burton analyze the architecture and reconstruction of the Manchester Mark I, the world’s first stored-program computer.”