《白云书园》之数字时代(三一)

计算机前世篇[打孔卡片]

十八十九世纪中各种计算器的出现大大地帮助了计算机(专职进行计算的人)提高了计算效率和计算准确性,但输入计算式、检查和记录结果都还是体力活。要把人力从繁琐的计算中完全解放出来,数据输入,输出和计算的自动化还是计算机械面临的挑战。

说到从计算器到计算机的发展历史,有位英国人 Charles Babbage(查尔斯·巴贝奇, 1791 -1871)的传奇故事就不得不提。好吧,我们就暂时放下他的事不表,先来专心吧一吧他设计他的传奇计算机器 Analytic Engine 时计划用打孔卡片(punched card)的历史地位。

用来控制织布机的打孔卡片

人类对自动化的追求不只在体现提高计算能力的研究中,而且也体现在各种需要重复劳动生产中的,织布就是其中之一。

说起织布,想想就是件体力活。横一下,竖一下,横一下,竖一下,…… 无穷无尽。要在布上指出美丽的图案,又是件脑力活。在织布机每次移动前挑选不同颜色丝线来拼出图案。 如果是纯脑力活也就罢了,但在织完一块布后,很喜欢,要想再出块一样的布,那就算有超级大脑也记不住织上块布时每一步颜色选择的精细细节了。

31-2
雅卡尔的织布机织出的图案

在1800年到1804年间,法国人 Joseph Marie Jacquard (约瑟夫·玛丽·雅卡尔)在改进前人设计的织布机的基础上发明了用打孔卡片来自动控制织布机。打孔卡片上的每一个可打孔位置对应一个钩子,而该处打孔与否决定对应的钩子是抬起还是放下,从而控制钩子上的悬挂的线走在布的上边还是下边,这样就可以自动织出图案了。这种用打孔卡片来控制机器的方法就此流传下来了。[1]

雅卡尔的织布机

1805年4月拿破仑皇帝和约瑟芬皇后巡视里昂时,他们观看了雅卡尔的新织布机并将雅卡尔织布机的专利权授予里昂市。作为回报,雅卡尔获得3000法郎的终身养老金,这在当时可是一个巨大数目。此外,在这之后的六年时间里,他还从每台卖出的织布机里提取50法郎的专利费。皇帝对发明者慷慨的态度使得雅卡尔变的很富有。(哇!那时的发明家好爽啊。童鞋们,有啥想法千万要专利哦)

在雅卡尔织布机的商业成功的推动下,打孔卡片的价值在后来的几十年里被逐渐推广。后来巴贝奇在1836到1871年期间设计他的传奇计算机器Analytic Engine时,他也计划用打孔卡片来控制他的机器,这个以后专门开篇聊。

------ 分隔线 ------

先让我们穿越一下八十年左右的时间和横跨大西洋的空间,来到1880左右的美国。美国在建国时在宪法里包括了这么一条:“政府每十年要进行一次人口普查。”其实人口普查一直也就是数数而已,数数全国在某个给定的时间点上有多少男人,多少女人,多少25岁的青年,多少83岁的老人…… (听起来很像很多现在流行的大数据故事吧)。

刚好1880年就是一个人口普查年,这次的普查数据处理还是靠人工操作。住在同一住址的人的信息被写在一张纸上,然后这些记录被集中在华盛顿人工纪录。虽然人口总数在几个月就数出来了,但对像每个州有多少20岁到25岁男童鞋这类的详细的问题给出答案就是八年后的事了。

政府一看,这不行啊!下次普查就又要来了,人口肯定更多,想回答的问题也更精彩,这样下去可能十年也干不完。这也不是个事,怎么办?人口统计局于是出个告示请大家想办法呗。这时有个叫 Herman Hollerith (赫尔曼·霍尔瑞斯,1860-1929) 的年轻人跳出来说有想法了。

赫尔曼·霍尔瑞斯

这位小哥1879年以优异成绩从哥伦比亚大学毕业,然后在 William P. Trowbridge 教授的推荐下去了人口调查部工作。在参与了1880年的人口调查数据统计工作后,他就在新办法如何提高这些工作的效率。他最终提出的答案是以打孔卡片和自动统计卡片上的信息的计数器。

在1882年成为麻省理工学院机械工程系的一名讲师后,霍尔瑞斯利用在学校的实验室完成了他的第一台基于布卷的计数器,没有用打孔卡。这个设计的缺陷是每次要提取一小段数据时也不得不把整个布卷在机器上过一遍。

在与他的同事后来的通信中霍尔瑞斯提到他是如何想起用打孔卡片来的。有次他坐火车去西部,他发现车上检票员在每人的车票上打孔的图案都不同。一问才知道原来检票员是为了防止逃票,在打孔作废车票时用图案来代表持票人的性别、头发长短、眼睛颜色等信息,这样就算有人偷别人的票的做法就会容易被发现。真是高手在民间的先例啊!

在决定了用打孔卡片来做计数基础后,他把计数器又重新设计了一番,弄出个样品来。卡片的大小和当时美元的大小差不多,但每片都可以记录一个地址上住的人的全部问卷信息。

31-5
1890年美国人口普查时用的打孔卡和当时的十美元纸币

当时人口统计局觉得这个系统很牛,就对它进行了测试。统计局让它和需要人工的系统进行竞赛。结果霍尔瑞斯的打孔计数器大胜,于是就被在1890年的人口普查中开始启用。实际应用的结果也同样出色,打孔计数器一年就把问题解决了。当时的《科学美国人》杂志也把这个成功案例当作封面故事报道。[2]

 alt=
科学美国人的报道打孔计数器在人口普查中应用的封面故事

霍尔瑞斯的打孔计数器后来被各国政府采购。 慢慢地,一些民营企业也开始租用这些仪器,而且很快就离不开它了。到了20世纪初,霍尔瑞斯的公司(the Tabulating Machine Company)有了远多于他们可以服务的客户。因为他们只租不卖,所以用来生产计数器的现金流总是很紧张,最好的解决方案似乎就是合并。于是霍尔瑞斯的公司在1911年与其他三家公司合并成为了the Computing-Tabulating-Recording Company (CTR)。而这家公司最后就成为了我们熟知的 the International Business Machines Corporation(IBM)。看,打孔卡又造就了一位人生赢家。这算是搞IT科研的下海创业的鼻祖吧。

在霍尔瑞斯的打孔计数器后,打孔卡片用来存储数据信息和控制计算流程的功能被逐渐应用在更多的仪器中。到现代计算机被设计出来时,打孔卡片在很长一段时间内都还一直是数据和程序的载体。而数据输入和编程这些事也就是给卡片打孔,要细心耐心才行,所以最早的码农们也主要以女神为主。

31-7
女神码农们认真工作

打孔卡片的应用一直延续到现代的很多系统里。这些太阳卡片大家还有印象吧!

31-8
这个,这个,。。。

不要告诉我你没有干过用米粒把有的孔堵起来,然后去食堂打饭的经历哦。


[1]雅卡尔的织布机:http://en.wikipedia.org/wiki/Jacquard_loom

[2]关于霍尔瑞斯的打孔计数器的更详细八卦:http://ds.haverford.edu/bitbybit/bit-by-bit-contents/chapter-three/3-1-holleriths-punchcard-machine/

[*] 原文同时发布在: 《白云书园》之数字时代(三一) http://wp.me/p5Da4b-2R

本文链接:《白云书园》之数字时代(三一)
本站文章若无特别说明,皆为原创,转载请注明来源:火光摇曳,谢谢!^^


火光摇曳

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*