上篇:编程范式与编程语言
第1课 开班导言
1.1 开班发言——程序员的4层境界
讲解
冒号开了个程序员提高班,今天迎来了首期学员,他们是问号、句号、逗号、引号和叹号,皆为IT业的新兵。望着台下洋溢着青春与渴望的脸庞,冒号开始了他的开班发言——
大家好!先自我介绍一下,本人姓冒名号字解之。诸位不必叫我老师,就叫老冒好了。比在座各位痴长几岁,“老”是担得的,“师”却不敢妄言。在下编程多年,自觉小有所成,不敢专藏,特开此班与众共享。虽系一家之言、一孔之见,若能抛砖引玉,又何惧方家之哂?疏谬之处,还望海涵斧正,不致自误误人。
客套已毕,言归正传。本班主要采取讨论的形式,只要是软件开发中值得讨论的,但凡本人力之所及,均可共同探讨。
本班的宗旨是:学会不如会学,会学不如会用,会用不如被用。对于一个软件***来说,这意味着4个阶段:
学会(知其所然)——掌握一些具体编程知识的初级程序员。
会学(知所以然)——能快速而深刻地理解技术并举一反三的程序员。
会用(人为我用)——能将所学灵活运用到实际编程设计之中的**程序员。
被用(我为人用)——能设计出广为人用的应用程序(application)、库(Library)、工具包(toolkit)、框架(framework)等的系统分析师和架构师。
至于被用的更高层次,如��明出主流的设计模式、算法、语言,乃至理论等,则可称得上计算机专家了。本班的目的,正是为各位向更高阶段的提升助一臂之力。
大家可能都习惯了在小学、中学和大学里的课堂,那里的知识大多是系统而完备且貌似**的,那里的学习大多是单向而被动的。但习惯并不意味着享受,更多的是因为别无选择。你们曾被引入一座座知识**,被告知它们如何美轮美奂、巧夺天工,尽管很多时候你们或不以为然、或不解其妙,但还是不得不记下每一处被指点的细微结构。很少有人带你们看看当初为建造这些**而打下的地基、搭设的脚手架,哪怕只是上漆前的模样也好,更遑论一瞻数易其稿的设计图纸了。那些与**相比显得有些原始、甚至丑陋的东西,被有意无意地挡在视线之外。可没有那些,你们将来如何为这些宫殿添砖加瓦,又如何另起楼阁呢?
……