前言 请循其本:计算机的历程

我们都以为计算机很聪明,但其实计算机其实是很笨的机器,它只会最简单、最直白的操作。

(这一部分本来应该放在序里,但是大部分人并不会读序,所以就把它放到前言了。其实前言也没人看。)

一般的教科书都会在开始的部分简述本学科的发展历程,我本人是从来不看的(bushi。其实了解一门学科的发展历程对于理解这门学科有很大帮助,因为最原始、最简陋的东西最好理解。

计算机之所以叫计算机,是因为它可以计算。好吧我承认我在说废话,但是这就是计算机的本质:一台可以(自动)执行(数学和逻辑)计算的机器,所以计算机真的很简单,只不过在这个过程中有多层抽象,才让人觉得高深。

机械时代

算盘和制表

人类自古以来就有计算数据的需求,当社会规模很庞大时,心算变得很困难,于是人类发明了各种各样的计算设备,公认最早的计算设备是算盘,我们以最简单的算盘举例,每一列代表不同位(个十百千),每一列的珠子数量代表每一位的数字大小,比如这个算盘代表43,加上19后,个位变成2,向十位进一;十位变成4+1+1=6,也就是62。

还有一种辅助计算的东西叫做计算表:这是一张乘法表,用来给不会乘法的人查表运算,后来有人制作了三角函数表,对数表等,但都还是要人来进行运算过程。

机械计算器

帕斯卡发明了一种利用齿轮转动进行加法和减法的机械计算器,类似跳绳的计数器,本位的齿轮旋转到9之后如果再加1,个位就会变成0,同时带动高位转动一位。乘法是多次加法,除法是多次减法,后来莱布尼茨改进了计算器,使之能够运算乘除,称为步进计算器。

差分机(注释,差分(difference)又名差分函数或差分运算,差分的结果反映了离散量之间的一种变化)

如果你熟悉数学,那么就知道泰勒展开可以用多项式来计算函数的近似值,1882年,Babbage依据这个原理制作出了差分机(注释:的雏形,完整的差分机最终没有做出来),他在制作差分机的时候构想了一个更复杂的机器:分析机。分析机是通用计算机,不仅可以储存数据,还可以储存程序(也就是说它不需要更改硬件齿轮的连接方式就能在不同的功能之间切换),甚至还可以对给定的数据自动执行一系列操作。Lovelace为假想的分析机写了程序,她说“未来会诞生一门全新的、强大的、专门为分析所用的语言。”因此她被认为是世界上第一个程序员

打孔卡制表机

美国法律要求每十年进行一次人口普查,而1890年的人口普查预计需要13年才能完成!美国政府找到了Hollerith,他发明了打孔卡制表机,基于机械和电子结构:用卡片上是否有孔表示数据,比如第五列有孔表示一个人已婚,没有则代表未婚,卡片被放入机器中时,上方有一排带电的可伸缩的金属小针,下方是水银,这个带孔的表就相当于开关,有孔的地方小针能接触到水银,电路闭合,带动对应的计数齿轮转一下,已婚计数加一;而如果没有打孔小针被挡住,相当于开关断开,计数齿轮保持原数。这个机器大大节省了开支,还提高了效率,很多行业也注意到计算机的价值,尤其是会计和管理行业。Hollerith在后来成立了IBM公司。

走向电气

科学技术发展最快的时候往往是战争时期,1944年,第二次世界大战中后期,哈佛马克一号MarkI问世,用于模拟曼哈顿计划,它是机电计算机的巅峰,体型非常庞大。MarkI号的核心是机械继电器,继电器的本质是可以用电控制的开关,当继电器的控制线路通电时,会产生磁场,吸引继电器的另一端使电路闭合。MarkI类似于Hollerith的制表机,通过马达来控制齿轮转动计数。因此只要通过继电器控制电路是否联通,就可以控制马达和齿轮。

不幸的是,继电器闭合的速度不是很快,导致MarkI运算速度不高,同时齿轮还会磨损。MarkII在一次运行时有一只虫子卡进了机器里,所以后来大家都用bug来形容(电脑)出了问题。

好在(1904年Fleming发明了真空二级管,电子在真空管里只能单向流动),1906年Forest改进了真空二极管为真空三极管,增加了一个控制线路,类似继电器,控制线路上有正电荷时,三极管联通,电路闭合,反之断开。真空管控制电路每秒开合的速度很快,而且没有磨损,1943年,Flowers用真空管代替了继电器,设计了巨人一号Colossus Mark 1,用于破译德军密码,Colossus被认为是第一台可编程的计算机,通过更改线路连接,Colossus可以实现编程,但仍是专用计算机,而1945年ENIAC是第一台通用计算机,在当时计算能力很强,可惜真空管故障率也很高。1947年贝尔实验室发明了晶体管,体积更小,开关更快,更耐用,它的工作方式和三极管几乎一样,当控制线路上有电流时晶体管联通,电路闭合,反之断开。我们今天在用的计算机都是晶体管制造的。

这是我写的第一篇博客,花了很多时间,做了很多无用功,在我朋友codingxiaoheng的帮助下,我终于构建了自己的第一个网站,也许多年之后,当我们在产房外等待时,才会再次体验这种感受