#西为中用# 计算机速成课笔记(1)计算机早期历史

 前言

     在这个系列中,我会记录下从Crush Course系列的计算机速成课中学到知识和有趣的解释。在这里,虽然没有视频独有的具象化解释,但在阅读的过程中,你会有足够的时间来思考,不会像看视频那样囫囵吞枣,顾此失彼。不过,如果你的英语水平足够,理解能力也好的话,还是建议你去看看视频课程。但如果耐心有限,就继续看我的文章吧,这个系列的文章就足以让你初步了解计算机啦!在这个系列中,我们会学习 Bits(位),Bytes(字节),晶体管, 逻辑门,一直到操作系统,虚拟现实和机器人!这里的一些概念你可能闻所未闻,但我们会一一掰开揉碎讲给你听,所以也不用太担心!虽然我们要了解很多东西,但预先说明,这个系列的文章  不会教你怎么编程,我会打开格局,从更高层次和更底层的细节中讨论一系列计算机话题,为你搭建出一个清晰的计算机体系。

Part 1 计算机在现代的重要地位

       毋庸置疑,计算机是当今世界的命脉。如果突然关掉所有的计算机,WIFI会消失,车辆会相撞,飞机会坠毁,空间站会解体,股市会停止运作,装满货物的卡车不知运往何方,打工人得不到薪水,甚至会影响很多看似和计算机无关的东西,比如你现在坐的椅子,也都是在计算机管理的工厂中制造的。计算机的出现和发展改变了我们生活几乎所有方面。
       我们也不是第一次遇到推动全球发展的科技了,工业革命中生产能力的提高,大幅提升了农业,工业,畜牧业的规模;机械化使得农田有更好的收成,商品可以大批量生产,旅行和通讯变得更便捷实惠,人们的生活质量变得更高。计算机对我们的生活,和工业革命有着相似甚至更深入的影响,从自动化农业和医疗设备,到长途通话和远程教育,还有虚拟现实和无人驾驶等新领域。现在这个时代很可能会被后人总结成 "信息时代",
       你的手机中有数十亿个晶体管,听起来好像很复杂,但实际上它是很简单的机器,通过一层层的抽象 ,来做出复杂操作,在这个系列中,我也会一层层讲解,将被抽象化的概念用文字描述和图片具体化。即使最后你依然不能理解一些概念中的成分,也不用担心,正如在网上买T恤的人 不用知道网站代码是怎么写的,设计师不用知道数据包是怎么传输的,设计路由器的工程师不用理解晶体管的逻辑,想要初步了解计算机领域的你也不用深入理解,但在这里,希望你能了解计算机在你的人生以及社会中扮演什么角色,以及这个人类史上最伟大的发明(可以这样说啦)是怎么开始的,它对未来还会有怎样的影响。

Part 2 计算的起源

       在了解计算机发明和发展的历史之前,我们应该从计算的起源讲起,虽然电子计算机才出现不久,但人类对计算的需求早就有了。

#西为中用# 计算机速成课笔记(1)计算机早期历史_第1张图片

       公认最早的计算设备是发明于公元前两千多年前的中国的算盘,它是手动计算器,用来帮助加减数字,它存储着当前的计算状态,类似于如今的硬盘。人们之所以制造算盘,是因为,社会的规模已经超出个人心算的能力,一个村庄可能有上千个人和上万头牛,这样的情况光靠人来算就不太方便了。在接下来 4000 年,人类发明了各种巧妙的计算设备,比如星盘,让船只可以在海上计算纬度;或计算尺,帮助计算乘法和除法;人们还创造了上百种时钟,算日出,潮汐,天体的位置,或纯粹拿来计时。
       这些设备让原先很费力的事变得更快,更简单,更精确,降低了门槛,加强了我们的能力。这也是后来计算机的优点。此后,人们又因为各种需求发明了真正意义上的计算机,经历了机械式计算机,机电式计算机,才逐步发展为现在的电子计算机

Part 3 机械式计算机发展史

        计算机先驱 Charles Babbage 说过:"随着知识的增长和新工具的诞生,人力劳动会越来越少",然而,诸如算盘的那些设备当时都不叫“计算机”,最早使用“计算机”一词的是 1613 年的一本书,作者是Richard Braithwait,然而在这本书中,“计算机”最初指的不是机器,而是一种职业。 他说:“我听说过的计算机里最厉害的,能用一天干三天的活!”在那时, “Computer”指负责计算的人,“Computer”偶尔会用机器帮忙,但大部分时候靠自己,这个职位一直到十九世纪还存在。后来,“Computer”逐渐开始代表机器,其中,“步进计算器”最有名。

       德国科学家莱布尼兹认为,让优秀的人浪费时间算数简直侮辱尊严,于是在1694年,他建造了能代替人力计算的步进计算器。步进计算器有点像时钟,它有一连串可以转动的齿轮,每个齿轮有十个齿,代表数字0到9,每当一个齿轮转过 9,它会转回 0,同时让旁边的齿轮前进 1 个齿,就像时钟的秒针转过一周一样。做减法时,机器会反向运作,利用一些巧妙的机械结构,步进计算器也能做乘法和除法,乘法和除法实际上只是多个加法和减法。举个栗子,17除以5,我们只要减5,减5,再减5,直到不能再减 5,剩下了2,就知道了 17=5x3+2,步进计算器可以自动完成这种操作。步进计算器的“步进”描述的就是这样一步一步推进计算的过程。它是第一台能做加减乘除四种运算的机器,其设计非常成功,被沿用了 3 个世纪。但不幸的是,即使有了机械计算器,许多现实问题依然需要算很多步,得出一个结果可能要几小时甚至几天,效率依然不高;而且这些手工制作的机器非常昂贵,大部分人都买不起。

       所以在 20 世纪以前,大部分人会用预先算好的计算表,这些计算表由之前说的 "人力计算机" 编撰。如果你想知道 867,5309 的平方根,与其花一整天来手摇 "步进计算器",你可以花一分钟在表里找答案。

       速度和准确性在战场上尤为重要,因此军队很早就开始用计算解决复杂问题,火炮如何精确瞄准是一个很难的问题,在19世纪,炮弹的射程可以达到 1 公里以上,但是因为风力,温度,气压会不断变化,想打中船一样大的物体也非常困难。于是出现了射程表,炮手可以查环境条件和射击距离,然后这张表会告诉他们,角度要设成多少,这些射程表很管用,二战中被广泛应用,问题是如果改了大炮或炮弹的设计,就要算一张新表,这样很耗时而且容易出错。为此,Charles Babbage提出了一种新型机械装置,叫做“差分机”。

#西为中用# 计算机速成课笔记(1)计算机早期历史_第2张图片

        这是一种比起步进计算器更复杂的机器。“差分”是一种将复杂运算简单化的计算方法,利用这种方法可以把方程转化为一些四则运算,差分机就很好地体现了这种方法,它可以用于解方程。方程描述了几个变量之间的关系,比如射程和大气压力,或者蔡徐坤的练习时长和他的篮球技术。也会涉及对数和三角函数这些让人来算相当麻烦的东西。Charles Babbage 在 1823 年开始建造差分机,并在接下来二十年,试图制造和组装 25,000 个零件,总重接近 15 吨。可惜的是,这个项目由于种种原因,最终还是被放弃了。但在 1991 年,历史学家根据 Charles Babbage 的草稿花了很大功夫做出了差分机,而且真的实现了Babbage预想的功能!

       但更重要的是,在差分机的第一次建造期间,Charles Babbage 构想了一台更复杂的机器 ——分析机。不像差分机,步进计算器和以前的其他计算设备,分析机是“通用计算机”,它可以做很多事情,不只是一种特定运算,甚至可以给它数据,然后按顺序执行一系列操作,它还有内存,甚至像是一台很原始的打印机。就像差分机,这台机器太超前了,所以也没有建成,然而,这种 “自动计算机”的概念——计算机可以自动完成一系列操作,是个跨时代的概念,预示着计算机程序的诞生。

       英国数学家 Ada Lovelace 给分析机写了假想的程序,她说:“未来会诞生一门全新的,强大的,专为分析所用的语言”,因此,Ada被认为是世界上第一位程序员。分析机的提出给了第一代计算机科学家不小的启发,这些计算机科学家把很多 Charles Babbage 的点子融入到他们的机器,所以 Charles Babbage 认为是 “通用计算机之父”。

Part 4 计算机在应用上的拓展

       到了 19 世纪末,西方国家在科学和工程领域中的特定任务大部分都用上了计算设备,但公司,政府,家庭中却很少见到。后来,美国的人口普查工作由于效率太低,就找来了知名的发明家Herman Hollerith,发明了打孔卡片制表机。他的机器是 “电动机械的”——用传统机械来计数,用电力驱动运作,结构类似莱布尼兹的差分机,这种机器会用到一种纸质的打孔卡,上面有网格,用打孔来表示数据。举个例子,有一个孔代表婚姻状况,如果你结婚了,就在 “结婚”的位置打孔,当卡插入机器时,小金属针会到卡片上,如果有个地方打孔了,针会穿过孔,泡入一小瓶汞,连通电路,电路会驱动电机,然后给 “已婚”的齿轮 + 1,打孔卡片制表机的速度是手动的 10 倍左右,使人口普查在短短两年半内完成,给人口普查办公室省了上百万美元。

       继政府对计算机的应用后,企业也开始意识到计算机的价值,利用其来减少劳动力,并提升数据密集型任务的效率,以此来提升利润。为了满足各个企业的需求,Hollerith 成立了制表机器公司,这家公司后来在 1924 年与其它机械制造商合并,成立了 “国际商业机器公司”,简称 IBM。
在接下来的几十年里,以IBM为代表的电子机械的 "商业机器" 取得了巨大成功。到了 二十世纪中叶,世界人口的爆炸和全球贸易的兴起,需要更快、更灵活的工具来处理数据,这就为电子计算机的发展奠定了基础。

尾声
       

本篇文章详细地介绍了计算机的由来和早期发展,下一篇我们将讲述计算机进一步发展为电子计算机的历程,如果觉得这篇文章对你了解计算机科学有帮助,不妨点个赞收个藏激励一下作者:)

你可能感兴趣的:(西为中用,经验分享)