我们是如何被代码统治的?
“他的机器从来没有臻于完美,但它☤导致了一整套有关‘图灵机’的研究。今天我们把这样的机器叫做‘电脑’。” 有关艾伦・图灵的电影《模仿♀游戏》以这样一段画外音结束。
从镰刀到蒸汽机,人类总是企图利用技术控制我们周边的世界。然而,要说到对环境的塑造,恐怕没有哪一种机器比电脑更有力。而令电脑如此强有力的东西是代码。
代码,简单地说,是一套由单词和数字组成的规则或者指令。把这些单词或者数字按照合适的顺序排列,就可以命令电脑为人类做事情。个体的天才创造力、被需要所驱使的发明以及人类了不起的想象,共同造就了代码。
从远古时代,人类就开始把玩代码。但里程碑是德国数学家莱布尼茨用简单的0和1造就的“具有世界普遍性的、最完美的逻辑语言”。在德国图林根,著名的郭塔王宫图书馆内仍保存一份莱氏的手稿,标题写着:“1与0,一切数字的神奇渊源。”
在莱布尼茨发明二进制一个世纪之后,法国织机工匠约瑟夫・雅卡尔在他发明的自动蒸汽动力织布机上,考虑一种由一组卡片控制的装置来机械地织出任何纹样。该控制装置由硬打孔卡和吊钩™组成。每个孔的位置对应一根经线,根据打孔或不打孔决定提起或不提起经线,并交织一次。不同的打孔卡会令织机织出不同的花纹,因而,卡片构成了对织机的指❥令――这和现代计算机程序的工作方式完全一致。
英国数学家查尔斯・巴贝奇认为同样的打孔卡可以用来输入数字,以及有关如何处理这些数字的指令,因而创造了世界上第一台通用的计算机器。他的工作成就了世界上第一位程序员,她是位女性,而且是拜伦之女。
埃达・洛夫雷斯是位数学家,也是穿孔机程序创始人。她建立了循环和子程序概念,为计算程序拟定“算法”,写作了第一份“程序设计流程图”。在1843年发表的一篇论文里,埃达认为机器今后有可能编曲、制图和实现各种更复杂的用途,这是十分ღ大胆的预见。
19世纪末,美国的人口普查造成了一个管理上的噩梦:不得不用8年时间手工输入每个公民的资料。人口普查部门的一位职员赫曼・霍勒瑞斯想出了一个解决办法:把每个人的资料以编码方式输入穿孔卡中,利用新的电力技术把一排排针压入卡片,将形成的电路予以记录。霍勒瑞斯将自己的发明商业化,日后发展为赫赫有名的电脑公司IBM。可以说,霍勒瑞斯就是“大数据之父”。
1971年,英特尔公司发布世界上第一枚商用芯片;加州硅谷的家酿电脑俱乐部里那些狂热的爱好者们很快围绕芯片开始开发软件和打造个人计算机。史蒂夫・沃兹尼亚克开发了第一代苹果电脑,而同时代的比尔・盖茨则开创了软件产业。
随后,电脑在创意产业、金融产业、制造业和科研领域等一路攻城掠地。再往下的故事,搜索引擎、社交媒体、移动互联等,我们毋须多言了。