编写软件是件难事——最起码,编出来的软件如果要经得住测试、时间和不同环境的考验,确实很难。在过去的50多年里,为了让编写软件变得更容易一些,不仅软件工程领域为此在不懈努力,编程语言也被赋以重任。但是,真正的困难究竟是什么呢?
大多数书籍和论文在回答这个问题时,都将焦点集中在软件体系结构、需求之类的话题上。不过,如果困难在于编写程序本身,又会怎么样呢?换句话说,如果我们把自己当成是更具交流(语言)色彩的程序员,而不是更具工程色彩的程序员,又该如何呢?
小孩子两三岁学说话,五六岁学读书写字。我从来没见过哪个大作家是成年以后才学习读书和写字的。你也没见过晚年才开始学习编程的xx程序员吧?
如果孩子比成人更容易学习外语,这对我们学习编程有什么启发呢?要知道,编程这事恰恰是和新语言密切相关的!
假如你不知道某件东西在新学的外语中怎么说,你会使用自己熟悉的词汇来描述它,并希望别人也能理解你的意思。这不正是我们编写软件要做的事吗?我们使用编程语言来描述脑海中的对象,并希望编译器或解释器也可以理解。如果行不通,我们再回头检查脑海中的设计,找出被忽略或有偏差的部分。
带着这些问题,我决定开展一系列调查:为什么要创建某种编程语言、它在技术上如何开发、如何教授和学习,以及它如何顺应时代发展等。
我和Shane极为荣幸地邀请到了27位杰出的设计师与你分享他们的智慧和经验。
在这本《编程之魂》中,你会发现构建成功编程语言所需的思想和步骤,它广受欢迎的原因,以及如何处理程序员常见的问题。因此,如果你想深入学习设计成功编程语言的思想,本书会对你大有帮助。
如果你想找到有关软件和编程语言激动人心的想法,就需要一支荧光记号笔,甚至两支,因为我保证,你会发现这本书处处闪耀着智慧的光辉。
—Federico Biancuzzi
材料组织结构
Organization of the Material
在你浏览本书时,各章的排序方式会为提供各种充满争议的不同观点。请仔细品味这些采访内容,并时常回味、反思。
第1章,C++,采访Bjarne Stroustrup。
第2章,Python,采访Guido van Rossum。
第3章,APL,采访Adin D. Falkoff。
第4章,Forth,采访Charles H. Moore。
第5章,BASIC,采访Thomas E. Kurtz。
第6章,AWK,采访Alfred Aho、Peter Weinberger和Brian Kernighan。
第7章,Lua,采访Luiz Henrique de Figueiredo和Roberto Ierusalimschy。
.第8章,Haskell,采访Simon Peyton Jones、Paul Hudak、Philip Wadler和John Hughes。
第9章,ML,采访Robin Milner。
第10章,SQL,采访Don Chamberlin。
第11章,Objective-C,采访Tom Love和Brad Cox。
第12章,Java,采访James Gosling。
第13章,C#,采访Anders Hejlsberg。
第14章,UML,采访Ivar Jacobson、James Rumbaugh和Grady Booch。
第15章,Perl,采访Larry Wall。
第16章,PostScript,采访Charles Geschke和John Warnock。
第17章,Eiffel,采访Bertr和Meyer。
“受访嘉宾”一节列出了所有受访嘉宾的简历。
本书使用的约定
Conventions Used in This Book
本书使用如下排版约定:
斜体字(Italic)
表示新术语、URL、文件名以及应用程序。
等宽字体(Constant width)
表示计算机文件目录和程序中的普通内容。
如何联系我们
How to Contact Us
我们已尽力核验本书所提供的信息,尽管如此,仍不能保证本书xx没有瑕疵,而网络世界的变化之快,也使得本书xx过时的保证成为不可能。如果读者发现本书内容上的错误,不管是赘字、错字、语意不清,甚至是技术错误,我们都竭诚虚心接受读者指教。如果您有任何问题,请按照以下的联系方式与我们联系。
奥莱理软件(北京)有限公司
北京市 西城区 西直门 南大街2号 成铭大厦C座807室
邮政编码:100080
网页:http://www.oreilly.com.cn
E-mail:info@mail.oreilly.com.cn
O'Reilly & Associates, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
(800) 998-9938 (in the United States or Canada)
(707) 829-0515 (international/local)
(707) 829-0104 (fax)
与本书有关的在线信息如下所示。
http://www.oreilly.com/catalog/9780596515171(原书)
http://www.oreilly.com.cn/book.php?bn=978-7-121-10498-5(中文版)
北京博文视点资讯有限公司(武汉分部)
湖北省 武汉市 洪山区 吴家湾 邮科院路特1号 湖北信息产业科技大厦1402室
邮政编码:430074
电话: (027)87690813 传真:(027)87690813转817
读者服务网页:http://bv.csdn.net
E-mail:
reader@broadview.com.cn(读者信箱)
bvtougao@gmail.com(投稿信箱)
Safari Books Online
如果你在喜欢的技术图书上看到Safari Books Online图标,那就表明该书可以通过O’Reilly Network Safari Bookshelf在线获得。
Safari提供了一种比电子图书更好的解决方案。它是一个虚拟图书馆,如果你需要{zx1}、最准确的信息,它能够让你非常容易地搜索成千上万的技术图书、剪切并粘贴示例代码、下载各章节以及发现快速解答等。欢迎免费试用:http://my.safaribooksonline.com/。