看这本书之前,我刚刚写了一个最原始的BASIC语言解释器作为Parser的练手项目。完成后,用了这个解释器试运行了经典的月球登陆车游戏,顺便分析了游戏的源代码,发现读起来各种不便
1. IF语句只能指定跳转行号,不支持ELSE
2. 只能用IF和GOTO来模拟WHILE循环
3. 没有函数调用,只能用GOSUB和RETURN来模拟子过程,阅读的时候为了找到RETURN回到哪得反复查半天。
当时我觉得这只是因为BASIC语言仅仅是给初学者当玩具用的语言,所以才这么难以阅读。
但接下来我就看了这本书,发现1和2在书中的FORTRAN语言也是存在的,因此,两位先贤花费了大量篇幅教导石器时代的开发者,要用条件和循环等分支结构,尽量的少用GOTO等等。并给出了一系列的规范。
但当支持结构式良好的编程语言PASCAL和C出现后,很多书中的规范已经成为自然而然的了。看来,这也是PASCAL和C迅速抢占市场的原因之一(后来C语言因为更贴近机器模型而打败了PASCAL,这是另外一个故事)。
看了这些石器时代的工具,想起来有位大牛说过“设计模式的存在都是为了弥补语言特性的缺陷”。
秦人(FORTRAN, BASIC)无暇自哀,而后人哀之;后人(C++,Java)哀之而不鉴之,以示后人复哀后人也。
石器时代的语言和规范
《The Elements of Programming Style, 2nd Edition》热门书评
-
一本老书,两个牛人,一堆经验
6有用 1无用 胖胖的大头鱼 2006-10-02
一本老书,写书的两个牛人.Brian W. Kernighan,熟悉unix/c语言的没有不知道他老人家的大名的,文字漂亮,技术厉害.P. J. Plauger,这位仁兄是为ms提供stl实现的公司头头(不过jjHou说那是可读性最差的一份stl实现,哈哈), 他很早就在c++里面混了,似乎是CUJ...
-
一本老书,值得你啃
3有用 0无用 vinurs 2013-01-20
这是一本关于计算机编程风格的老书,就算只看最后的SUMMARY OF RULES都会觉得对你有所启发!最好能通读这本书,结合书中的实例来理解那些RULES,你会知道什么是一种优秀的习惯,如果能将书中总结的RULES运用到实际编程中去,虽然不能让你成为一个优秀的程序员,但是会给你启发,让你通往优秀的程...
-
读读Rules还是不错的
1有用 0无用 wuyve 2014-04-21
没研究过此书中代码所使用的Fortan和PL/I这两种语言,不过之前读过诸如Writing Solid Code、The Practice of Programming、编程珠玑一类的书,发现它们的Tips都是很类似的,比如:可读性、模块化、防御性编程、浮点计算和判等、数据结构决定程序、测试,等等。...
-
软件开发中的“格调”
1有用 0无用 周兆熊 2015-04-07
在三年之前,我从学校毕业,进入公司,正式开始了软件开发工作。我从完成第一个开发任务的过程中学到了很多东西,包括:1)编写程序只是软件开发中的一个流程,并非全部;2)程序编写需要遵循一定的规范,远远不只是实现功能那么简单;3)程序编写者是程序的第一负责人,要对自己的程序进行充分的自测,而非只要程序编写...
-
编程格调总结
0有用 0无用 萬軍 2015-07-05
一、表达 1.写清楚 2.保守使用临时变量 3.明白无歧义 4.不要自己造所有的工具 5.确保判断测试条件清楚易读二、控制结构 1.先用你顺手的高级语言写一遍程序,这时...
书名: The Elements of Programming Style, 2nd Edition
作者:
出版社: McGraw-Hill
出版年: 1978-1-1
页数: 168
定价: USD 50.93
装帧: Paperback
ISBN: 9780070342071