上世纪五六十年代,高级语言还没普及,很多人用汇编写程序,汇编代码运行效率高,但是有个致命的缺点:不容易看懂,维护困难。 程序设计是少数聪明人干的事情,他们智力超群, 写代码也不讲什么规则,可以随意使用灵活而又强大的 Goto,写出只有自己能懂的代码。
但是到了六十年代中后期,事情就慢慢不对了,计算机的计算能力提升速度远远超过程序员,软件规模和数量随之急剧上升, 出现了一堆问题:项目预算超支,项目难以管理,代码质量很低,软件不符合需求,这该怎么办?
北约会议
1968年,“北约软件工程大会”在风景如画的德国小镇Garmisch召开 (我很奇怪为什么这个会议以北约的名义牵头,有知情的同学请告知。)1968年的 Dijkstra
每当危机到来,总会有大神出手相救,这一次是 Dijkstra。学编程的同学肯定知道他,《数据结构和算法》中有他的Dijkstra算法,《操作系统》中有他的信号量,银行家算法,他还在程序设计,分布式计算,并行计算,编译器等很多领域做出了开创性贡献,于1972年获得计算机界最高奖:图灵奖。
Dijkstra大神经过研