程序员们,看完奥运,看什么?
那就看9月15日由华章公司在全国公“印”的《代码之美》,2008年OSCAR最佳影片获得者(18届Jolt大奖获得者)
原出版方:OReilly公司
引进公司:华章公司
原著导演:Andy Oram and Greg Wilson
中方导演:陈冀康
中文翻译:聂雪军、刘未鹏等(一个Beautiful翻译团队)
预计门票:70.00元/张(可以同时购买N张)
让我们来看一下33位顶尖明星阵容以及内容简介:
《代码之美》Beautiful Code
查看互动网预定地址:http://www.china-pub.com/37838
9月15日全国公映,敬请关注!
这是一本独特的书。
其英文封面上本应写着作者的位置写的却是“Edited by Andy Oram and Greg Wilson”。Edited?那作者呢?
实际上,这本书有33位作者!
现在你知道为什么封面上不列作者了吧?一是列不下,二来更重要的是每位作者都是一个领域里的大牛,怎么排列? 每位作者都贡献了一章内容,所以本书一共有33章。这种做法带来了三个重要的结果:
每位作者都是大牛,所以每个人都知道自己在说什么。
每位作者都将自己心目中对于“美丽的代码”的认识浓缩在一章当中,张力十足。
心理学上有一种说法叫做联合评估与单独评估,即如果你单独评估一样东西,是难以把握其好坏的,然而如果将它跟同类东西一比,就能够做出更准确的判断。33位大牛,每个人对代码之美都有自己独特的认识,现在一览无余地放在一起,对于热爱程序的每个人都不啻一场盛宴。
我们一起来看一下,到底有哪有牛人:
第一章, 正则表达式匹配器
Brian Kernighan
Brian W.Kernighan 贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机 领域具有影响的著作,包括《The Elements of Programming Style》、《The Practice of Programming》、《The UNIX Programming Environment》、《The AWK Language》、《Software Tools》等。C语言圣经K&R C(《C程序设计语言》)和《程序设计实践》两本不朽著作的作者,他的书被翻译成近30种不同的语言。
第二章, Subversion的差别编辑器: 以接口为本体
Karl Fogel
《CVS 开源软件开发技术》一书的作者
第三章, 我从未写过的最美丽的代码
Jon Bentley
久负盛名的《Programming Pearls》(《编程珠玑》)的作者。在斯坦福获得学士学位,在北卡罗莱纳获得硕士和博士学位。继而在卡内基梅隆执教6年。贝尔实验室前研究员,西点军校和普林斯顿的访问教授。自1998 年以来,作为Dr.Dobb's Journal杂志的特约编辑,他所负责的Programming Pearls专栏多年来一直是顶级学术杂志The Communications of the ACM最受欢迎的特色专栏之一,而本书的主要内容就取材于该专栏。
第四章, 寻找事物
Tim Bray
XML创始人之一。 于2004 年16日正式加入(Sun)公司软件部门,并担任技术总监职务。technical director
同時負責XML為主的內容組合技術(XML-based syndication technologies)。
第五章, 正确, 美丽, 快速 (依次做到): 从设计XML校验器的过程中所学到的,
Elliotte Rusty Harold
Elliotte Rusty Harold是Internet方面国际知名的作家、程序员和教育家。他最早曾为Usenet的Macintosh新闻组撰写FAQ列表,以后开始写书。 他目前在Brooklyn理工大学教授Java和面向对象编程。他的网站Cafe Au Lait(http://metalab.unc.edu/javafaq)是Internet上最受欢迎的独立Java在线资源。
他以前的著作 还包括《Java I/O》以及其他一些Java和XML的作品。他是Polytechnic 大学计算机系的副教授。他的Cafe au Lait网站(http://www.ibiblio.org/javafaq)业已成为因特网上最为流行的独立Java站点之一。其子站点Cafe con Leche(http://www.ibiblio.org/xml)则成为因特网上最为流行的XML站点之一。在本书之前,Elliotte为 O'Reilly公司编写的书包括《Java I/O》和《Java Network Programming》。
作品:
- 《Java网络编程(第三版)》(2005年11月)
- 《Java网络编程(第三版,影印版)》(2005年6月)
- 《Java网络编程(第二版)》(2001年8月)
- 《XML技术手册》(2001年11月)
第六章, 集成测试框架: 脆弱中的美
Michael Feathers
Michael Feathers世界级面向对象技术专家,以丰富的软件项目开发经验著称。目前在世界顶尖的软件咨询公司Object Mentor从事敏捷方法/极限编程、测试驱动开发、重构、面向对象设计、Java、c#和C++等方面的培训和项目指导。他是著名测试框架 CppUnit和FitCpp的开发者,已经主持了三次面向对象界盛会OOPSLA上的CodeFest比赛。代表作《修改代码的艺术》
第七章, 美丽的测试
Alberto Savoia
熟 悉JUnit Factory的开发者对Alberto Savoia不会感到陌生,因为他就是这个产品的主设计师之一(另外一个是敏捷方面的专家Kent Beck)。Alberto曾在Sun公司工作了13年,是Java语言的核心开发人员,后任职于Google公司,担任首席工程师。现在是Agita Software公司的创始人和技术总监,在测试驱动开发和敏捷方面都很有研究。
第八章: 图像处理中的即时代码生成,
Charles Petzold:
经典的《Windows程序设计》影响了整整一代程序员,被奉为Windows编程圣经。而他的另一本经典著作《编码的奥秘》则另辟蹊径,由浅入深地将计算机最深层的奥秘娓娓道来。1994 年5月,Petzold作为仅有的七个人之一(并且是唯一的作家)被《Window Magazine》和Microsoft公司授予Windows Pioneer奖,以表彰他对 Microsoft Windows的成功做出的贡献。 Charles Petzold从1984年开始编写个人计算机程序,从1985年开始编写 Microsoft Windows程序。他在《Microsoft Systems Joumal》1986年 12月号上发表了第一篇关于Windows程序设计的杂志论文。从1986年到1995年,他为《PC Magazine》撰写“Environments”专栏,给读者介绍了Windows和OS/2程序设计的许多方面。
第九章: 颠倒的运算顺序
Douglas Crockford
JSON发明者,Javascript领域大牛,写了广为流传的《Javascript,世界上最被误解的语言》。
第十章: 探索加速的人口记数, 作者Henry S. Warren, Jr., 公布一些聪明的算法对一些看上去很简单的问题也具有的重大影响
第十一章: 安全通讯: 自由的技术, 作者Ashish Gulhati, 讨论一个安全通讯程序进化, 使用户极方便地使用一些专业但令人困扰的密码技术
第十二章: 在 BioPerl 中培育美丽的代码, 作者Lincoln Stein, 展示有弹性的语言和用户定制的模块的组合是如何让仅有有限编程技能的用户创建出强大的数据可视化展示变得简单
第十三章: 基因排序器的设计, 作者Jim Kent, 简单模块搭建出健壮而有价值的基因研究工具
第十四章: 优雅的代码如何和硬件共进化: 高斯消元法一例, 作者Jack Dongarra 和 Piotr Luszczek, 调查LINPACH和与之相关的大型软件的历史, 揭示假设应该时时根据新的计算架构被重新估量
第十五章: 漂亮设计的长期益处, 作者Adam Kolawa, 解释数十年前对良好设计原则的注重是如何帮助CERN的广泛使用的数学库(LINPACK的前身)经受住时间的考验的.
第十六章: Linux内核驱动模型: 协同工作的益处, 作者Greg Kroah-Hartman, 解释不同贡献者的大量工作是如何解决不同类型的问题, 造就一个复杂, 多线程的系统的成功进化.
第十七章: 另一层面的无方向性, 作者Diomidis Spinellis, 展现FreeBSD内核的灵活性和高可维护性是如何通过很多驱动程序和文件系统模块的普遍抽象得以提升的
第十八章: Python的字典实现: 化为万物为万人用, 作者Andrew Kuchling, 仔细设计和特殊处理的结合使一个语言特性适用于各种情况
第十九章: NumPy中的多维迭代器, 作者Travis E. Oliphant, 带你亲历成功以简单借口隐藏复杂性的设计工程
第二十章: 为NASA火星探险计划设计的高可靠性企业级系统, 作者 Ronald Mak, 使用工业标准, 最佳实践和Java技术来满足NASA可靠性无可妥协的需求
第二十一章: ERP5: 为最大适应性而设计, 作者Rogerio Atem de Carvalho 和 Rafael Monnerat, 讲述如何使用自由软件工具和灵活的架构来开发强大的ERP系统
第二十二章: 一勺污物, 作者Bryan Cantrill, 让读者和作者一起亲历一个让人毛骨悚然的bug引起的恐慌和一个貌似聪明而事与愿违的解决方案
第 二十三章: 用MapReduce进行分布式开发, 作者 Jeff Dean 和 Sanjay Ghemawat, 介绍Google使用的一套系统, 这套系统能为大型的分布式数据处理提供易于使用的编程抽象, 自动处理包括自动并行化, 负载平衡和失败处理等分布式计算的难点
第二十四章: 并发之美, 作者Simon Peyton Jones, 使用Haskell语言来证明软件事务性内存是如何降低开发并行程序的困难的
第二十五章: 语法抽象: 语法上的扩展器, 作者R. Kent Dybvig, 展示在Scheme中宏这一许多语言和系统中的重要特性是如何被保护以免产生错误输出
第二十六章: 节省人工的架构: 网络软件开发的面向对象框架, 作者William R. Otte 和 Douglas C. Schmidt, 在分布式日志系统中应用一系列标准的面向对象设计技术诸如模式和框架, 来达到系统的灵活性和模块化
第二十七章: 以RESTful的方式来融合生意伙伴, 作者Andrew Patzer, 设计师用锲合需求的B2B web service设计来表达对程序员的尊重
第二十八章: 调试之美, 作者Andreas Zeller, 以严格的方式来验证代码是如何减少跟踪错误的时间的
第二十九章: 待代码如散文, 作者Yukihiro Matsumoto, 驱动他设计Ruby语言的一些富有挑战性的原则, 以及这些原则是如何帮助生成更好的产品
第三十章: 当你和世界仅以一个按钮相连, 作者Arun Mehta, 带你亲身经历设计一个文字编辑系统所遇到的让人震惊的接口定义抉择, 这个文字编辑系统能让如史蒂文.霍金教授这样的有严重运动残疾的人能通过计算机进行交流
第三十一章: Emacspeak: 完整的音响桌面, 作者T. V. Raman, 阐述Lisp的advice能力在Emacs系统中的应用: 如何在不改变大型软件系统底层代码的前提下, 满足贯穿Emacs系统所有层面的普遍要求: 生成丰富声音输出.
第三十二章: 动感代码, 作者Laura Wingerd and Christopher Seiwald, 列出一些简单的规矩, 这些规矩对编程的准确性有意料之外的强烈影响.
第三十三章: 为”那本书”写程序, 作者Brian Hayes, 探索解决一个看上去简单的问题所遇到的挫折, 以及出人意料的解决方法