想了解巴比奇?一篇短文讲透他与计算机的故事

tmyb

想跟大家唠唠这个巴比奇。一开始我对这名字也没啥特别感觉,就跟咱平时听过那么多外国人名儿似的,一耳朵进一耳朵出。直到有一次,我自个儿在那瞎琢磨,捣鼓一个小玩意儿,想整个自动算点啥的功能,也不是多复杂,就加加减减的。结果,写代码写得头昏脑胀,各种bug,调了半天还是不顺溜。

那时候我就在想,现在有这电脑,有这高级语言,我都还这么费劲。那以前没电脑的时候,那些复杂的计算,比如航海用的天文表,利息表,那得咋整?纯靠人笔算?那得多少人,算多久,还保不齐出错!

一探究竟的开始

就带着这股子好奇,我开始上网瞎搜,想看看最早琢磨这事儿的人是谁。这一搜,就搜到了查尔斯·巴比奇这号人物。一看介绍,嚯,这家伙生活在19世纪初,英国的数学家。那时候,咱这边还是清朝道光年间,人家就开始琢磨用机器来算数了,而且不只是简单的加减乘除。

我这人就这样,一旦对啥事儿感了兴趣,就非得刨根问底。于是我就接着往下查:

  • 他的动机是 原来,他也是觉得人工计算那错误率太高了,尤其是编那些数学用表,一点小错就可能导致大问题。
  • 他想干 他想造一台机器,叫“差分机”,专门用来算多项式,生成数学用表。你想想,那时候连个像样的齿轮加工都不容易,他就有这想法,真牛!
  • 他还真就动手设计了,据说还拿到政府的钱支持了。虽然这差分机因为各种原因没完全造成,但那设计思路,在当时绝对是石破天惊。

更牛的“分析机”

我越看越来劲,发现这巴比奇还不止捣鼓了差分机。他后来还提出了一个更宏伟的构想,叫做“分析机”。这玩意儿可就厉害了,我看资料说,它有几个核心部分:

  • “存贮库”:用来存数据,不就是咱现在的内存嘛
  • “运算室”:进行各种算术运算,类似CPU。
  • “控制器”:按顺序指挥机器工作,还有条件跳转和循环,这不就是程序控制流?!
  • 输入输出设备:用来喂数据和看结果。

看到这儿,我真是惊了!这不就是现代通用计算机的基本架构思想吗?这家伙在一百多年前,蒸汽机还没玩明白的年代,脑子里就已经有这么清晰的蓝图了。真是佩服得五体投地。难怪后来很多人都管他叫“计算机之父”。

实践中的思考

虽然我没法真的去“实践”造一台巴比奇的机器,那不现实。但我的“实践”就是去理解他的思想,追溯他的设计过程。我试着把自己代入到他的那个年代,想象一下,没有电,没有集成电路,甚至连精密加工都成问题,他是怎么想到用齿轮和杠杆来实现这些逻辑的。

我还了解到,当时有位叫洛夫莱斯的女士,她非常理解巴比奇的想法,甚至为分析机写了“程序”,设想了它除了算数还能干别的事,比如作曲。这位女士也被认为是第一位程序员。这俩人的合作,简直是那个时代的传奇。

回过头来看我现在捣鼓的这点小代码,跟巴比奇的构想比起来,简直是站在巨人的肩膀上摘苹果。我们现在用着这么方便的工具,敲几行代码就能实现复杂的功能,真得感谢像巴比奇这样的先驱。他们那时候,每往前拱一步,都得付出巨大的努力和想象力。

今天跟大家分享这个,主要是我自个儿在了解巴比奇过程中的一点体会。有时候我们用惯了高科技,会觉得一切理所但稍微回头看看历史,看看那些奠基人的“实践”和探索,就会对现在拥有的一切更加珍惜,也更能理解很多东西的来龙去脉。下次我再写代码卡壳的时候,想想巴比奇当年面对的困难,可能心里就好受多了,哈哈!