单靠记忆只能触及知识之表, 单靠练习只能深入知识之里,唯有培养方能渗透知识之根。
学会适度地容忍无知。
不仅需要强调钻劲和深度的“钉子精神”,还需要强调磨功和广度的“刨子精神”。
编程语言的语法、语义等都是从编程范式的树根衍生而来的枝叶,把握了这种脉络和节奏,代码才会如音乐舞蹈般韵律有致。
每种范式擅长的问题领域不尽相同,只有博文广识,方可扬长避短,程序才能如行云流水般流畅自然。
理论是认生的孩童,多陪他玩玩,自会活泼起来。
编程水平提升之道是:在实战中演练招法,在招法中领会心法,心法反过来提升招法,进而提高实战水平,如此循环反复呈螺旋上升。正所谓孰能生巧,巧能生通。
迭代学习法:即在具体知识与抽象理论之间进行折返式学习。
无论干哪一行,要想胜任愉快,离不开四样东西:才能、兴趣、方法和努力。没有才能则难以胜任,没有兴趣则难以愉快,没有方法则事倍功半,没有努力则一事无成。我相信好的方法最终能激发人的才能、兴趣和努力。
A script is what you give the actors,a program is what you give the audience.
程序是为终端用户服务的,而脚本是为程序员服务的。
当脚本语言披上动态语言的彩衣,昔日不起眼的毛毛虫便羽化成蝶,开始飘舞在众人追逐的目光之中。但静态语言也绝不会淡出人们的实现,它如矫健的苍鹰,依然有搏击长空的雄力。程序员只要保持严谨的作风和开放的心态,既有稳如泰山的马步,又有一跃凌空的飞腿,静如处子,动如脱兔,如履平地般游走于高高的梅花桩上,绝无跌落之虞。
语言的宗教情节
* 爱而不知其恶,憎而遂忘其善。
* 如果说编程范式是一种文化,那么编程语言更像一种宗教——尽管它本不该是。
* 语言只用两种:一种怨声载道,一种无人问津。(There are only two kinds of language:the ones people complain about and the ones nobody uses.)
* 理想的架构师应当如文学大师,既有恢弘大气的构思,又有细腻深刻的笔法;应当如统军大帅,既有运筹帷幄的韬略,又有冲锋陷阵的武功。
* 技术含金量是与工资含金量成正比的,你永远需要比别人多一门扎实的功夫。程序员这门职业,你选择,你担当。
D语言: 优化机器的时间而不是人的时间,优化机器的记忆而不是人的记忆;假设编译器是愚蠢的而程序员是聪明的,因此赋予程序员更多的权利、义务与责任。
大巧在所不为,大智在所不虑。
待友之道,贵在放大其优点而缩小其缺点,对待语言亦当如是。
得道者化腐朽为神奇,离道者化神奇为腐朽,凡事皆然。
前台编程涉及面专,绚丽花哨的界面更容易让初涉编程者产生成就感;后台编程涉及面广,需要深厚的技术积累和缜密的设计思维;底层编程涉及面深,给人神秘莫测之感。然大道相通,难者亦易,易者亦难。设计一个用户友好的界面与设计操作系统的一个模块,一边是与人直接打交道,一边是与机器直接打交道,孰难孰易、孰轻孰重,焉能一概而论?
“不可否认,系统编程的门槛确实要高很多,需要程序员具备更多的硬件和操作系统知识,以及更强的编程能力。”冒号以退为进,“它最大的挑战在于:在相对贫乏的软件资源和相对简陋的开花环境下,能高效、安全地管理包括CPU、内存等在内的系统资源。再说前台编程,虽然入门容易,要想登堂入室却是大为不易。且不说VB、Delphi和JavaScript各具奥妙,连看似简单的HTML和CSS中也蕴含着种种奇思妙想。得道者化腐朽为神奇,离道者化神奇为腐朽,凡事皆然。当然前台最大的挑战还不在代码编写,而在界面设计。软件最终是为人服务的,如果没有良好的用户体验,无论背后的设计如何高明、算法如何精妙,用户是不会买账的。”
操千曲而后晓声,观千剑而后识器。
语言的发展趋势一定是动静结合、刚柔并济。
(RoR)与Ruby结合之后,便如一只蹂身而上灵猫,立刻衬托出Java和.Net大象般的身影。
应用划分:
语言划分:C族静态、非C族静态和动态语言
每种编程语言都有其独特的惯例用法和哲学观念,它们与编程范式一道形成了语言的编程风格。体悟愈深者编程语感愈强,思维与语言愈交融无碍,渐从必然王国走向自由王国。
废除对语言的宗教信仰,建立对语言的哲学思维。
软件设计者的任务是将复杂混沌的现实世界映射到精确严格的虚拟世界,要完成这种多对一的映射,抽象无疑是必由之路。
接口是纲,实现是目。纲若不举,目无以张。Programming to an interface,not an Implementation.
许多编程设计实现包括OOP的思想都是以提高应变能力为主题的。
任何一门技艺到了高级阶段,都是‘度’的学问。
初级程序员的理想是为所欲为--能用编程解决一切问题;中级程序员的理想是尽善而为--追求最佳的解决方案;高级程序员的理想是有所为有所不为--重在整体设计的选择,能抵制局部技巧的诱惑;最高理想是无为而无不为--无论宏观设计还是微观实现,均非刻意选择,却自然合度。
敢于怀疑权威是可贵的,但如果没有研究精神作为基础,批判精神只会沦为牢骚精神。
律己宜严,待人宜宽
知识是水,越近源头越是鲜活。
软件无形,编程有道
原则是指导思想的线索,不是束缚思想的绳索。引自 全书