老冒妙语录(三)
J 算法串联数据,如脊贯肉;数据实化算法,如肉附脊。
J 泛型编程是算法导向的,即以算法为起点和中心点,逐渐将其所涉及的概念内涵模糊化、外延扩大化,将其所涉及的运算抽象化、一般化,从而扩展算法的适用范围。
J 思想是鸡,结论是蛋。
J 元编程作为超级范式的一个体现是,它能提升语言的级别。
J 如果说OOP的关键在于构造对象的概念,那么LOP的关键在于构造语言的语法。
J 离开IDE就无法编写、编译或调试的程序员,如同卸盔下马后便失去战斗力的武士,是残缺和孱弱的。
J 既然有重复的代码,不能从语法上提炼,不妨退一步从文字上提炼。
J 元程序将程序作为数据来对待,能自我发现、自我赋权和自我升级,有着其他程序所不具备的自觉性、自适应性和智能性,可以说是一种最高级的程序。
J 从宏观角度看,太阳底下没有新鲜事——AOP无非是SoC原理和DRY原则的一种应用。
J 从微观角度看,太阳每天都是新的——AOP虽自OOP的土壤中长出,却脱离藩篱自成一体。
J 抽象是前提,分解是方式,模块化是结果。
J 在常人眼中复杂的牛体,庖丁经过抽象,已目无全牛,及至提刀分解,自是游刃有余。待牛如土委地,模块化即成。
J 两条(抽象与分解的原则):单一化,正交化。每个模块职责明确专一,模块之间相互独立,即高内聚低耦合。
J 对程序员来说,英语也是一门计算机语言,而且是必修的语言。
J OOP只能沿着继承树的纵向方向重用,而AOP则弥补了OOP的不足,可以在横向方向重用。
J 如果一个程序是一个管道系统,AOP就是在管道上钻一些孔,在每个孔中注入新的代码流。
J 设计模式好比组合套路,能在一些特定场合下克敌制胜;编程范式则好比武功门派,博大精深且自成体系。
J 一种编程范式之所以能独树一帜,关键在于它突破了原有的编程方式的某些限制,带来革命性的新思维和新方法,进一步解放了程序员的劳动力。
J 因其长而容己,因其短而容他,此万物之理也。
J 语言为形,范式为神。若能以神导形、以形传神,则看似平白无趣的程序也能写出诗画般的意境。
J 厨师只须提供一种服务:把纸上菜变成盘中菜,至于蒸、煮、炒、炖等具体做法纯属实现细节。
J 可以这么理解(闭包):所谓包,指函数与其周围的环境变量捆绑打包;所谓闭,指这些变量是封闭的,只能为该函数所专用。
J 合理地使用闭包能使代码更加简洁清晰,散发出函数式特有的优雅气质。
J 换盘子有两种方式:一种是服务员主动换,一种是客人要求换。前者是轮询,后者是通知。
J 如果把待加工的菜看作数据,技法看作算法,将数据与算法分离,以算法为中心,那是什么范式?
欢迎转载,转载时请注明:
本文出自电子工业出版社博文视点(武汉)新书《冒号课堂——编程范式与OOP思想》。
http://www.china-pub.com/196068&ref=ps
http://www.douban.com/subject/4031906/