上次翻旧科普读物的时候,就卡在计算机什么时候发明的这个问题上,书里写的年份和网上查到的资料对不上,来回翻了好几个网页,越看越乱。一开始以为就一个固定日期,查到后面才明白,不是某一天一个人直接把成品做出来,是好几台机器一前一后落地,大家认定的标准不一样,答案就跟着变。
最早看到的说法是1946年,那台叫ENIAC的机器,很多文章都直接把它当成第一台计算机。图片里满满一屋子电子管,体积大得吓人,占了整整一间大房子,通电的时候还会发热,时不时就有管子烧坏,得有人守在旁边不停更换零件。当时以为找到终点了,直到翻到另一篇文章,说在ENIAC之前,就已经有能执行程序的设备,只是没有对外公开,很长一段时间外界都不知道它的存在。
有人主张1945年那台。
那段时间一直在对比这些机器的差别,ENIAC最开始不能存储程序,每次要算新任务,都得手动重新接线、拨动开关,改一次设置就要花上好几个小时。而另一台机器,设计思路是可以把程序存进机器里面,不用反复改动硬件,这个设计思路,才是现代计算机最核心的地方。只是那台机器完成的时间更早,但是后期调试断断续续,对外公布的时间反而晚,很多普通资料不会提到它,只有偏专业一点的资料才会写进去。
还有更早的机械式计算装置,用齿轮和杠杆来做运算,没有电子元件,靠机械转动完成计算。它能做加减运算,但是速度很慢,没法处理复杂任务,不少人不把这类机械设备算作真正的计算机,只当成计算器。不同学者的划分尺度不一样,有的愿意把它算进计算机发展史,有的直接排除在外,分歧就是这么来的。这只是我的个人感受,不是标准答案,你查阅资料的时候可以自己权衡哪一种划分更能说服你。
之前还听同学说过,有些教材会把理论模型的提出时间当成起点。那个理论模型只是纸上的构想,没有实体机器,只证明了可以造出能完成任意计算的设备,没有硬件落地。如果按这个算,年份又要往前推几十年。只是构想终究不是实物,大多数面向大众的读物不会拿这个当作发明时间,只有学计算机理论的人才会去关注这个节点。
折腾好久才搞明白,争论的根源就在于判定条件。要是把第一台通用电子计算机当作标准,就选1946年;要是看重存储程序这个关键设计,就会提到更早完成调试的那台;要是机械装置也算在内,时间线还能继续往前拉。没有一个所有人都同意的硬性标准,不同领域的人,会根据自己研究的方向,挑选对应的时间节点来讲这段历史。
那天关掉网页之后,没有再继续纠结哪个年份才算唯一正确。本来很多技术发明都不是一瞬间凭空诞生,是前面一堆零散的想法、半成品慢慢堆起来,最后一台足够有代表性的机器出现,才被大众记住。