第一图书网

编程大师智慧

(美)比安库利,(美)活登 著 东南大学出版社
出版时间:

2010-6  

出版社:

东南大学出版社  

作者:

(美)比安库利,(美)活登 著  

页数:

480  

Tag标签:

无  

前言

PROGRAMMING LANGUAGE DESIGN IS A FASCINATING TOPIC. There are so many programmerswho think they can design a programming language better than one they are currentlyusing; and there are so many researchers who believe they can design a programming lan-guage better than any that are in current use. Their beliefs are often justified, but few oftheir designs ever leave the designer's bottom drawer. You will not find them representedin this book.Programming language design is a serious business. Small errors in a language design canbe conducive to large errors in an actual program written in the language, and even smallerrors in programs can have large and extremely costly consequences. The vulnerabilitiesof widely used software have repeatedly allowed attack by malware to cause billions ofdollars of damage to the world economy. The safety and security of programming lan-guages is a recurrent theme of this book.

内容概要

《编程大师智慧》的主要特色在于它是多位编程语言创造者的独家采访,他们创造的这些编程语言极具历史意义,对于当下的信息社会产生了重大影响。从这部独特的采访集中,你将了解到某些特殊设计决定产生的过程,包括这些先行者当时头脑中的既定目标、他们不得不做的折衷权衡,以及这些宝贵经验至今对编程产生了怎样的影响。 如果你对那些用远见卓识和努力工作造就计算机产业的人们感兴趣的话,那么自然会发现《编程大师智慧》是一本令人着迷的好书。

作者简介

编者:(美国)比安库利(Federico Biancuzzi) (美国)沃登(Shane Warden)比安库利(Federico Biancuzzi),是一位自由采访者,他的采访报道发表在多家在线刊物上。沃登(Shane Warden),是一位自由软件开发者,他的主要兴趣在于编程语言设计和虚拟机。在业余时间,他是独立出版社Onyx Neon Press的小说出版部门负责人。他也是O’Rcilly图书《敏捷开发艺术》的合著者之一。

书籍目录

FOREWORDPREFACE1 C++ Design Decisions Using the Language OOP and Concurrency Future Teaching2 PYTHON The Pythonic Way The Good Programmer Multiple Pythons Expedients and Experience3 APL Paper and Pencil Elementary Principles Parallelism Legacy4 FORTH The Forth Language and Language Design Hardware Application Design5 BASIC The Goals Behind BASIC Compiler Design Language and Programming Practice Langua~'e Design Work Goals6 AWK The Life of Algorithms Language Design Unix and Its Culture The Role of Documentation Computer Science Breeding Little Languages Designing a New Language Legacy Culture Transformative Technologies Bits Ttiat Change the Universe Theory and Practice Waiting for a Breakthrough Programming by Example7 LUA The Power of Scripting Experience Language Design8 HASKELL A Functional Team Trajectory of Functional Programming The Haskell Language Spreading (Functional) Education Formalism and Evolution9 ML The Soundness of Theorems The Theory of Meaning Beyond Informatics10 SQL A Seminal Paper The Language Feedback and Evolution XQuery and XML11 OBJECTIVE-C Eng'ineering Objective-C Growing a Language Education and Training Project Management and Legacy Software Objective-C and Other Languages Components, Sand, and Bricks Quality As an Economic Phenomenon Education12 JAVA Power or Simplicity A Matter of Taste Concurrency Designing a Languae Feedback Loop13 C# Language and Design Growing a Language C# The Future of Computer Science14 UML Learning and Teaching The Role of the People UML Knowledge Be Ready for Change UsingUML Layers and Languages A Bit of Reusability Symmetric Relationships UML Language Design Training Developers Creativity, Refinement, and Patterns15 PERL The Language of Revolutions Language Community Evolution and Revolution16 POSTSCRIPT Designed to Last Research and Education Interfaces to Longevity Standard Wishes17 EIFFEL An Inspired Afternoon Reusability and Genericity Proofreading Languages Managing Growth and EvolutionAFTERWORDCONTRIBUTORSINDEX

章节摘录

This is of course what we have for usual numeric types, such as ints, doubles, complexnumbers, and mathematical abstractions, such as vectors. This is a most useful notion,which C++ supports for built-in types and for any user-defined type for which we want it.This contrast to Java where built-in types such and char and int follow it, but user-definedtypes do not, and indeed cannot. As in Simula, all user-defined types in Java have refer-ence semantics. In C++, a programmer can support either, as the desired semantics of atype requires. C# (incompletely) follows C++ in supporting user-defined types with valuesemantics."General resource management" refers to the popular technique of having a resource (e.g.,a file handle or a lock) owned by an object. If that object is a scoped variable, the lifetimeof the variable puts a maximum limit on the time the resource is held. Typically, a con-structor acquires the resource and the destructor releases it. This is often called RAIIiResource Acquisition Is Initialization) and integrates beautifully with error handlingusing exceptions. Obviously, not every resource can be handled in this way, but manycan, and for those, resource management becomes implicit and efficient.


图书封面

图书标签Tags

广告

下载页面


编程大师智慧 PDF格式下载



全英文,从语言的设计者的角度介绍了每种语言的设计背景和设计初衷,了解了每种语言有它独特的定位


在努力看。


印刷、纸张很满意,内容还没看,可以当做小说来看吧


我可以非常负责任的告诉大家,这种计算机学家访谈的书,世上没几本好的。首先这些被采访的对象还算说得过去,但采访者本人就不怎么样了,提的问题公式化,对不同的受访者上来都是按照一个套路提问,表明对受访者缺乏了解,去采访的人做的功课很不够,这书实在是,,,矮矮


书很好,能够大开眼界。可惜涉及面太广,而且是访谈录形式,所以要求读者:一、至少对C语言有相当程度的掌握(很多受访者都提到了C语言),最好能了解另外至少2、3门计算机语言,而且最好是不同类型的;二、对英语水平要求很高,各种非正式的表达或者引经据典的东西不少。总之,慎买。


书中涵盖了大多数主流编程语言,内容很丰富。不过书中都是对话式的访谈,阅读起来趣味性可能不是很强。热爱技术的人应该能从中有不少收获。


相关图书