计算机速成课Crash Course - 01. 计算机早期历史

今天开始计算机速成课Crash Course的系列讲解。

更多技术文章,全网首发公众号 “极客之昂” 锁定 -上午11点 - ,感谢大家关注、转发、点赞!

01. 计算机早期历史

在这个系列中,我们会一层层讲解,从最底层的1和0,到逻辑门,CPU,操作系统,整个互联网,以及更多。

我们要学很多东西,但预先说明:我们 不会 教你怎么编程。

我们会从高层次上纵览一系列计算机话题。

计算机是当今世界的命脉,如果突然关掉所有的计算机,一切的工作都会停滞。

甚至很多和计算机无关的东西,例如 T 恤和椅子以及各种生活用品也是依靠计算机管理的工厂中制造。

计算机改变了我们生活的方方面面。

类似于工业革命,机械工具的大量使用大幅提高了第二工业的产能,大量的商品生产提高了我们的生活品质。计算机和工业革命一样有着深远的影响。

现在这个时代很可能会被后人总结成 "信息时代"。

就像你的智能手机中,有数十亿个晶体管,看起来好像很复杂,但实际上它是很简单的机器,是通过一层层的抽象来做出复杂操作。

(抽象这个概念会贯穿整个课程学习,每次抽象完成一次就是新的提升,我们想快速完成计算机的整体架构的概念,就需要从最底层晶体管,一层包一层的抽象出新的概念,这种理念会贯穿整个课程,希望大家认真学!)

不用担心,这个课程是从大体宏观来剖析计算机的整个脉络,不会深入细节,就像设计路由器的工程师不用理解晶体管的逻辑。

等这个系列课程结束后,希望你能了解计算机是怎么开始的,它对未来还会有更大的影响。

但深入之前,我们应该从计算的起源讲起,虽然电子计算机才出现不久,但人类对计算的需求早就有了。

公认最早的计算设备是 - 算盘,大约公元前 2500 年,它是手动用来帮助加减数字,它存储着当前的计算状态,类似于如今的硬盘。

人们制造算盘是因为,社会的规模已经超出个人心算的能力,一个村庄可能有上千个人和上万头牛。

算盘有很多变种,但我们来看一个基础版,每行代表 10 的不同次方,最底下那行,一个珠子代表 10 的 0 次方,也就是 1,再上面一行是 10 的 1 次方(也就是 10),再上面一行是 10 的 2 次方 (以此类推)。

通过计算牛群数量来理解算盘的工作原理。

最底层的每一个珠子代表一头牛,高一层的珠子就代表10倍的牛,再高一层的第三层的一个珠子代表100头牛,以此类推。

假设最开始有 5 头牛,最底层的珠子移动5个,再买 3 头牛,只需要向右移动 3 颗珠子,共 8 个珠子,表示现在有8头牛。

但如果再买 6 头牛,最底层的珠子就不够用了,需要在第二层把 1 颗珠子向右移动,代表 10。然后最底下那行,向右移动 4 颗珠子,代表 14。

这种方法处理超大数字很有效,假设要表示 1251,从下往上:第一行移 1 个,第二行移 5 个,第三行移 2 个,第四行移 1 个。

我们不用记在脑子里,算盘会记住。

在接下来 4000 年,人类发明了各种计算设备。比如星盘,可以计算纬度;还有各种时钟,算日出,潮汐,天体的位置。

这些设备让原先很费力的事变得更快,更简单,更精确。降低了门槛,加强了我们的能力。

计算机先驱 Charles Babbage 说过:"随着知识的增长和新工具的诞生,人工劳力会越来越少"。

然而,这些设备当时都不叫 "计算机",最早使用 "计算机" 一词的文献 ,来自 1613 年的一本书,作者 Richard Braithwait,然而指的不是机器,而是一种职业。"Computer" 指负责计算的人,这个职位一直到 1800 年代还存在。

之后 "Computer" 逐渐开始代表机器,其中"步进计算器"最有名,由德国博学家"戈特弗里德·莱布尼茨"建造于 1694 年,莱布尼茨说过:"让优秀的人浪费时间算数简直侮辱尊严,农民用机器能算得一样准"。

"步进计算器"有点像汽车里的里程表,不断累加里程数。它有一连串可以转动的齿轮,每个齿轮有十个齿,代表数字 0到9,每当一个齿轮转过 9,它会转回 0,同时让旁边的齿轮前进 1 个齿。就像算盘超过 10 一样。

做减法时,机器会反向运作,利用一些巧妙的机械结构,步进计算器也能做乘法和除法,乘法和除法实际上只是多个加减法的累加。

举例,17除以5,我们只要不断地减5,直到不能再减 5,也就是 17=5x3+2。

步进计算器可以自动完成这种操作,它是第一台能做"加减乘除"全部四种运算的机器,它的设计非常成功,以至于沿用了 3 个世纪。

不幸的是,即使有机械计算器,许多计算依然需要很多步,算一个结果可能要几小时甚至几天,而且这些手工制作的机器非常昂贵,大部分人买不起。

所以在 20 世纪以前,大部分人会用预先算好的计算表,这些计算表由之前说的 "Computer" 职业的人来计算编撰。

如果你想知道 67,081 的平方根,与其花一整天来手摇 "步进计算器",你可以花一分钟在计算表里找答案,259。

速度和准确性在战场上尤为重要。因此军队很早就开始用计算解决复杂问题,如何精确瞄准炮弹是一个很难的问题。

19世纪,这些炮弹的射程可以达到 1 公里以上,因为风力,温度,大气压力会不断变化,击中目标非常困难,于是出现了射程表,通过与对应环境情况的参数查找,得到射击角度等,快速完成发射。

但是如果改了大炮或炮弹的设计,就要重新计算一张新表,这样很耗时而且会出错。

Charles Babbage 在 1822 年写了一篇论文,向皇家天文学会指出了这个问题,标题叫:"机械在天文与计算表中的应用"。

让我们进入思想泡泡 ---

Charles Babbage 提出了一种新型机械装置叫 "差分机",一个更复杂的机器,能近似多项式。多项式描述了几个变量之间的关系。多项式也可以用于近似对数和三角函数,这些函数手动计算相当麻烦。

Charles Babbage 在 1823 年开始建造差分机。并在接下来二十年,试图制造和组装 25,000 个零件,总重接近 15 吨。不幸的是,该项目最终放弃了。但在 1991 年,历史学家根据 Charles Babbage 的草稿做了一个差分机。

在差分机的建造期间,Charles Babbage 构想了一个更复杂的机器 - 分析机。

分析机是 "通用计算机",它不只是一种特定运算,甚至可以给它数据,然后按顺序执行一系列操作。它有内存,甚至一个很原始的打印机,这台机器太超前了,所以没有建成。

然而,这种 "自动计算机" 的概念,是个跨时代的概念,预示着计算机程序的诞生。

英国数学家 Ada Lovelace 给分析机写了假想的程序,她说:"未来会诞生一门全新的,强大的,专为分析所用的语言"。因此 Ada 被认为是世上第一位程序员。

分析机激励了第一代计算机科学家,这些计算机科学家把很多 Charles Babbage 的想法融入到他们的设计中。

所以 Charles Babbage 经常被认为是 "计算之父"。

结束了,思想泡泡 ---

到了 19 世纪末,科学和工程领域中的特定任务会用上计算设备,但公司,政府,家庭中很少见到计算设备。

然而,美国政府在 1890 年的人口普查中面临着严重的问题,因为在1880年-1890年期间的十年,美国人口迅速增长,大部分因为移民。

如果手工编制人口普查,预计要 13 年完成,但人口普查可是 10 年一次,做完之后信息都落后过时了,只有计算机能提供所需的效率。

人口普查局找了 Herman Hollerith,他发明了打孔卡片制表机,他的机器是 "电动机械",用传统机械和打孔卡来计数,一种纸卡,上面有网格,用打孔来表示数据。结构类似莱布尼茨的乘法器,但用电动结构连接其他组件。

举个例子,有一连串孔代表婚姻状况,如果你结婚了,就在 "结婚" 的位置打孔。当卡插入机器时,小金属针会到卡片上,如果有个地方打孔了,针会穿过孔,泡入一小瓶汞,联通电路,电路会驱动电机,然后给 "已婚" 的齿轮 + 1。

Hollerith 的机器速度是手动的 10 倍左右,使人口普查在短短两年半内完成,给人口普查办公室省了上百万美元。

企业开始意识到计算机的价值,可以提升劳动力以及数据密集型任务来提升利润。

Hollerith 成立了制表机器公司,这家公司后来在 1924 年与其它机械制造商合并,成为了 "国际商业机器公司",简称 IBM

这些电子机械的 "商业机器" 取得了巨大成功,改变了商业和政府。

到了 1900 年代中叶,世界人口的爆炸和全球贸易的兴起,要求更快,更灵活的工具来处理数据,为电子计算机的发展奠定了基础。


以上内容就是 -01. 计算机早期历史- 的内容,感兴趣的同学记得点赞、关注、转发、收藏哦!

我会不定期发布课程的讲解!

更多技术文章,全网首发公众号 “极客之昂” 锁定 -上午11点 - ,感谢大家关注、转发、点赞!

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客之昂-钛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值