说到电脑程式,第一个想到的可能是用什么程式语言,但早在现代化电脑问世之前,人类史上第一支电脑程式就已诞生。而在还没有电脑的时代,如先知般写下的程式当然出现在纸上,而这份笔记自然也成为身价百万的科技古文物。
约 200 年前,通用型电子计算机的先驱“分析机”概念问世,数学家兼发明家巴贝奇正着眼于这种机器的强大数学运算力。但有个想象力更丰富的人,率先意识到该机器功能不仅止于纯粹计算数字,而是能“创造”出复杂的科学音乐作品,她就是被后世誉为史上第一位电脑程式设计师的 Ada Lovelace。
Ada Lovelace 是英国著名诗人拜伦(Lord Byron)唯一合法婚生子女,但她出生仅 1 个月,拜伦就抛弃妻女远走他乡,Lovelace 的母亲相当痛恨拜伦,更担心女儿会被坏男人拜伦的疯狂思想“传染”,决定让她远离文艺诗歌,一心引导她踏入数学领域,在当时女性科学家易被埋没的风气下,仍让她接受良好科学教育。
而 Ada Lovelace 也在小小年纪就展现数学方面超凡的领悟力及想象力。13 岁时,Ada Lovelace 已经在设计船只与蒸汽驱动的飞行器,出色数学天分更让她因缘际会下结识被后世誉为“电脑之父”的英国数学家查尔斯·巴贝奇,展开一段亦师亦友的长期合作关系。
当时,巴贝奇提出了差分机(Difference engine)与分析机(Analytical Engine)的设计概念。
银行家、建筑师、航海家、工程师、数学家等往往需用到各种统计数字表格,但这些数字当时都是人类手动按计算机算出来的,错误百出,因此差分机的提出原意是想利用“机器”将计算到印刷过程全自动化,全面去除人为疏失(如:计算错误、抄写错误、校对错误、印制错误等),并用于计算二次函数的值。
但由于巴贝奇与他的首席工程师约瑟夫·克莱芒起冲突,最终导致差分机开发无法完成,巴贝奇于是转投设计起另一款称为“分析机”的设备,这台更通用的机器也引起 Ada Lovelace 兴趣。
机器不只有运算功能的洞悉力
她翻译了意大利数学家 Luigi Federico Menabrea 撰写有关分析机的法语论文,并在巴贝奇要求下加上自己的笔记与注释,结果,她的想法超越 Babbage 原本只将电脑视为数字操作自动化的观点。
1843 年 9 月,Ada Lovelace 在《Philosophical Magazine》期刊发表的“论文笔记”文章长度是原始论文 3 倍,她专注研究电脑创造新事物的可能性,指出机器可以透过程式引导遵循一系列指示,她也为分析机开发一种演算法来计算白努利数序列,这被认为是世上第一个电脑程式。
用于计算白努利数的分析机演算法草图。(Source:Ada Lovelace, Public domain, via Wikimedia Commons)
数学想象力丰富的她看得更远,仿佛先知一般意识到该机器潜力不仅止于算算数字、做做我们已熟知的事情,而是预测“该引擎可能在数字之外还有其他应用,比如处理音符、字母、图像”,让电脑产业随着时间推移,彻底朝着我们认为不可能的方向发展。
而这份 1843 年出版的笔记复制品拍卖价格逐年增长,虽然以收藏品价值来说很便宜,2005 年拍卖价 78,000 美元,到 2019 年为 280,776 美元。