第六次读书笔记

松本行弘的程序世界

这本书是目前所读的十三本中见到的第一本以自己的名字命名的书。一时好奇搜索了作者的生平,作者是一个从小就喜欢计算机的人,他的一些关于编程的理念可以说是非常有趣了。例如计算机语言是为了让人脑空闲出来而发明的东西,比起数学能力,程序眼更多需要一些作为人本身需要的能力,比如倾听能力,理解力和沟通力等,所以编程人员不需要擅长数学。编程是一种体育运动,因为编程对速度和美的追求,程序员对自己作品中的美十分执着,这一点倒是让我想到了所谓的左括号换行之争。另一方面,编写程序需要反复练习,这一点恰好和体育运动类似。编程中解决BUG的过程中有一种解密的充满惊喜的快感。此外,作者还认为编程是一种交流,一种创造,是一生的事业。面向对象语言三大原则继承,封装和多态,多态也是程序扩展性的基础,也是最重要的技术。静态语言中的多态只是限于拥有共同父类的对象。比起静态语言一开始就已经固定了自己的类型,动态类型是在程序执行过程中自动生成的,虽然因为一边解析一边运行速度会比较慢,但是他会更加灵活。

为了应付软件开发过程中的复杂性,出现了结构化编程,以及之后的模板,原型等。将程序封装成类库可以减少重复开发的麻烦,也就是可以减少设计模式重用的成本。同时,程序应当对扩展开放,对改动封闭,例如继承来允许功能的添加,用多态保持接口的稳定。继承又可以分为规格的继承和实现的继承。同时为了不让程序过度灵活,如goto语句将程序逻辑破坏,使用受限制的各功能(如受限制的多重继承等)来组合实现比较灵活的功能。

原文地址:https://www.cnblogs.com/blazersforever/p/8796483.html