编程大师智慧

出版时间: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格式下载


用户评论 (总计6条)

 
 

  •   全英文,从语言的设计者的角度介绍了每种语言的设计背景和设计初衷,了解了每种语言有它独特的定位
  •   在努力看。
  •   印刷、纸张很满意,内容还没看,可以当做小说来看吧
  •   我可以非常负责任的告诉大家,这种计算机学家访谈的书,世上没几本好的。首先这些被采访的对象还算说得过去,但采访者本人就不怎么样了,提的问题公式化,对不同的受访者上来都是按照一个套路提问,表明对受访者缺乏了解,去采访的人做的功课很不够,这书实在是,,,矮矮
  •   书很好,能够大开眼界。可惜涉及面太广,而且是访谈录形式,所以要求读者:一、至少对C语言有相当程度的掌握(很多受访者都提到了C语言),最好能了解另外至少2、3门计算机语言,而且最好是不同类型的;二、对英语水平要求很高,各种非正式的表达或者引经据典的东西不少。总之,慎买。
  •   书中涵盖了大多数主流编程语言,内容很丰富。不过书中都是对话式的访谈,阅读起来趣味性可能不是很强。热爱技术的人应该能从中有不少收获。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7