gnaggnoyil
gnaggnoyil

【轉載】西方编程简史V1.1.3

http://www.douban.com/note/218035462/

当人类填饱肚子开始仰望星空的时候,编程的念头便萌芽了。

第一个有记载的编程家是古希腊的泰勒斯,他首先提出了“编程的本质是数据流“。

之后赫拉克里特阐述了”一个ALU不能同时执行两条指令”这一命题。

再之后巴门尼德详细地探讨了单线程和多线程之间的关系。

毕达哥拉斯学派提出了“万物皆树”,强调了树在数据结构中的中心地位。

启蒙时代的集大成者是柏拉图,他留下了《汇编篇》等名篇,但由于原始文档遗失,后世学者对于柏拉图使用的究竟是何种指令集争论不休。

他的学生亚里士多德成就更在其师之上,他提出一句名言,“吾爱吾师,吾更爱真值。”

古希腊编程时代结束于亚历山大大帝,他本人并不是一个编程家,但是他的《建筑的永恒之道》成为后世编程家的必读书目之一。

之后就是漫长的黑暗时代,而欧洲则被罗马帝国所统治,康斯坦丁大帝的XP大旗飘扬在世界各个角落。经院编程家整天在讨论“一个指针究竟能指向多少个天使”之类的细枝末节问题。

唯一值得一提的是阿拉伯势力的崛起,他们以新月为旗号,发明了C语言。而教皇乌尔班二世则发起了十字军东征,在新月之后加上两个十字,那就是C++的来历。

欧洲内部反XP势力也蠢蠢欲动,马丁路德首先发表了windows95论纲,猛烈抨击只有购买基督盒子(XBOX)头上才能出现光晕(Halo)的问题。

随之而来的是群星璀璨的文艺复兴时期,在意大利,薄伽丘发表了《时髦谈》(smalltalk),对后世动态语言产生了极大影响。而多才多艺的列奥纳多达芬奇的MONO LISP更是成为不朽经典。

技术的发展直接导致了大浏览时代的来临,由香料群岛输入的JAVA咖啡成为欧洲新的流行。


入后启蒙时代,康德发表了《纯粹编程批评》,黑格尔发表了《小编程》,叔本华写了《作为意志和面向对象的编程》,尼采详细研究了软件工程之后写下了《悲剧
的诞生》《流水线开发的黄昏》,瓦格纳受其启发创作了长篇歌剧《尼伯龙根的死循环》,描绘了北欧诸神开发Linux的过程。

英国方面,托马斯摩尔提出了以他名字命名的著名的摩尔定律,而法国达人笛卡尔提出了”我编故我在“的元编程思想。另外帕斯卡在编程语言上也占据了一席之地。然而这一切成就在伟大的伊萨克牛顿爵士面前都黯然失色,他的名字永远和苹果联系在了一起。

思想领域的各种思潮也影响到了工程实践,整个大陆风运动荡,著名的法国1789年重构成为后世效仿的模版。

进入20世纪,波普提出了”证伪主义“,强调了测试在软件开发中的重要地位,TDD从此兴盛。

而罗素则仔细研究了程序停机的不可判定问题,引发了第二次编程危机。他还留下了”编程的幸福来源于多态“之类的名言。

胡塞儿《对象学》将面向对象编程提高到了一个新的高度。

海德格尔发表了《存在与时间》,研究了对象的生存周期;而萨特的《存在与虚无》则使得自动垃圾回收从理论走向实践。

荣格的GIT无意识开了分布式版本管理之滥觞。

最后维特根斯坦总结到:”一切编程问题都可以归结为选取合适的编程语言。“