《编程格调》试读:初版序言

仅仅通过听取一般原理,就想很好地掌握程序设计,这是不可能的事。想要学好程序设计,就要一次又一次地观察体会实际的程序是如何通过运用一些久经实践考验的原理和常识,方得持续改进的。程序审阅能够教会人们如何重写程序,再进一步教会人们如何写出更好的程序。 本书就是建立在对大量“实际”程序的研究之上的成果,其中的每个程序都有着一种或数种格调方面的毛病。我们讨论了每个例子存在的缺点,并采用更好的方式将其重写,然后由这个特殊情况推出一般原理。我们的出发点是实用的、接地气的。我们关心的是要改进当前程序设计的工作,而不是想要创建一套繁杂理论来告诉人们如何进行程序设计。所以,本书可以用作任何水平的程序设计课程的补充材料,也可以让已有经验的程序员们读后获得温故而知新的效果。 书中的所有示例皆以Fortran和PL/Ⅰ写就,因为这两种语言不仅被广泛采用,而且互相类似,只要会看其中一种,则另一种也不言自明(无论采用哪一种语言来写程序,我们都避免采用复杂结构,遇到不可避免的习惯用法时,也会加以解释)。而有关编程格调的原理,则适用于一切语言,包括汇编码。 我们的目标在于仅运用少量的篇幅即能讲授编程格调的妙处,所以我们有一说一。贯穿全书的是一系列规则,这样方能彰明我们习得的教训。每一章都以一段总结和一组“思考要点”收尾,其中会给出一些练习,并使得读者有机会继续考查正文中没有讲全的一些议题。我们在书的末尾将规则集中列出,以飨读者。 这里特别要讲一讲本书中程序实例的来源,它们全部选自其他的程序设计教科书。换言之,我们不通过自己撰写程序来论证我们的观点,而是使用那些已经完成的产品,即那些由富有经验的程序员撰写并且发布的程序。这些程序往往就是新程序员们入行后见到的首批程序,本来我们希望这些例子能起到编程格调的示范作用,遗憾的是却常常事与愿违。这些教科书中举的例子往往本想说明自己在某个方面做得出色,结果却适得其反,暴露了问题。(我们不会故意使坏,通过断章取义来使程序在该语境下显得写得不好。) 我们还要特意声明:我们不是要以个人或集体名义批判这些教科书的作者们。缺点的存在仅仅表明我们不过都是凡人,在编程或写书这样压力巨大的脑力劳动中,有些事情做得不完美诚属难免。毫无疑问地,本书中所提到的一些“好”程序,一定也会被未来的某位作者举作“坏”程序的反面例子。我们也诚心地希望未来的这位作者及其读者也能通过仔细研究这些程序的经验而学到东西。 一本编程格调手册的问世,离不开很多人开创性的工作,他们中有相当数量的人就写过非常出色的教科书。比如,D. D. McCracken和G. M. Weinberg很久以来就在教学中呼吁简单性和明晰性的极端重要。E. W. Dijkstra和Harlan Mills在结构化程序设计方面取得的成果,帮助我们明确了指定控制流的相关规则。本书的篇章安排和语言风格都深受W. Strunk和E. B. White的名著The Elements of Style一书的影响,我们通过集中精力于格调的本质和实用方面,来达到该书的简明程度。 我们受益于太多人的帮助和鼓励,特别是授权我们复用在本书正文中的程序作者和出版社,这样的合作极其难能可贵。 我们在贝尔实验室的朋友和同事们提出过大量有用的建议,正是由于这些建议,我们得以在出版前纠正了不少本来可能贻笑大方的谬误。特别要感谢V. A. Vyssotsky与我们一起进行了数次修订工作,对于他富有洞见的评论和对本书成形过程中每一阶段的热情支持,我们深表谢意(还有,我们在书中“无耻盗用”了他的几句格言)。我们还想感谢A.V. Aho、M. E. Lesk、M. D. Mcllroy和J. S. Thompson给予本书的时间投入和莫大帮助。 我们之所以能把手稿直接录入PDP 11/45、编辑源码、校验程序,并对最终版文本排版,所有这一切都要仰仗一个独一无二的、灵活的操作系统,这就是UNIX。K. L. Thompson和D. M. Ritchie是UNIX的首席架构师,除了帮我们校稿以外,他们还在我们写书时帮我们最大程度地利用好UNIX系统。 J.E.Ossanna编写了排版程序并修改了数处,以满足我们的特殊要求。在此致谢。 BrianW.Kernighan P.J.Plauger

>编程格调

编程格调
作者: [美] Brian W. Kernighan, [美] P.J. Plauger
原作名: The Elements of Programming Style
isbn: 7115379521
书名: 编程格调
页数: 180
译者: 高博, 徐章宁
定价: 49
出版社: 人民邮电出版社
出版年: 2015-3
装帧: 平装