>> >> >> Reference << << << <<<<<<Ref>>>>>>
Preface
Modified: 2026-03-19 || Author:ljf12825

能被记录下的历史它们同时满足了以下条件:影响大,有考证,有传承,时间久。犹如大浪淘沙,留下的都是幸运的.
但是还有一些可能不能同时满足上述所有条件的历史,比如可以跟家里的长辈或者晚辈交流一下,就是所谓的代沟——在当时几乎众所周知,但是时间长了就没人提了,知道的人不说,不知道的人无从得知
计算机科学作为一门发展历史不长,但演化周期极短的学科,这种代沟更多,我写这个系列的目的就是挖掘计算机历史的代沟
我是Z世代人,家用计算机已经普及的年代,算是数字原住民。但我对计算机科学的接触还是在上大学之后

  • 19世纪,Charles Babbage设计了差分机和分析机,Ada Lovelace为分析机编写算法
  • 1936年,Alan Turing提出图灵机,奠定了现代计算理论的基础,计算机科学基础理论开始形成
  • 1945年,世界上第一台计算机ENIAC诞生
  • 同年及后一年,John von Neumann提出现代计算机设计的核心思想
  • 1950s,MIT、普林斯顿、加州大学伯克利等高校开始建立计算机实验室
  • 1960s,计算机科学正式作为独立学科出现在大学课程中
  • 1970s,变成语言和操作系统成熟,计算机科学分支逐渐开始发展

计算机科学发展到今日,逐渐演变为两个极端:

  • close to silicon(computer)
  • close to carbon(human)

这中间隔了无数层封装和抽象
我们常常是从靠近人的这一段开始了解计算机科学的,这就导致想了解计算机科学,就必须揭开层层封装,理解层层抽象
很多人认为,我们是站在巨人的肩膀上的,我不完全否认这句话的对错,要看从哪个角度理解。就思想和理论来说,这是正确的;但就抽象层次和封装层次这一方面来说,我不认同
我常常遗憾于我没能亲眼见证计算机科学的发展

学习一个知识,并在大脑中形成自洽结构。如果把计算机科学的发展历史抽象成一条直线,在不同的点,以不同的角度切入这条直线,所形成的认知是不同的,比如,你只了解2010年及以后的计算机科学,那和从1950年开始学习的人的思维结构就有很大的差别。举个例子,2010年之后,商业游戏引擎蓬勃发展,不少人了解游戏开发的基石就是商业游戏引擎,但是商业引擎出现之前,游戏开发需要手动处理碰撞,资源管理,渲染管线等。而现代引擎把这些重要但困难的东西包裹的几乎不可见,让游戏开发从门槛极高的领域直接变成烂大街的东西,改变了就业市场和开发者的认知,我觉得这是弊大于利的。

开发者的认知,直接决定了它所写的东西的质量,计算机科学发展历史会对开发者产生巨大的启示

很多人认为,学习计算机科学的发展历史,对技术能力的提升没有直接帮助。这种看法并不完全错误——历史不会让你写出更多代码,也不会直接提高你的工程熟练度,但它会在更深层次上影响你:改变理解技术的方式。如果只是学习现成的技术,而不了解它是如何一步步演化而来的,你获得的只是结论,而不是推导过程。而开发者之间真正的差距,往往不在于“知道什么”,而在于如何理解这些东西为什么存在

所以,不仅要朝前看,更要向后看