編程大師智慧

出版時間:2010-6  出版社:東南大學(xué)出版社  作者:(美)比安庫利,(美)活登 著  頁數(shù):480  
Tag標(biāo)簽:無  

前言

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.

內(nèi)容概要

《編程大師智慧》的主要特色在于它是多位編程語言創(chuàng)造者的獨家采訪,他們創(chuàng)造的這些編程語言極具歷史意義,對于當(dāng)下的信息社會產(chǎn)生了重大影響。從這部獨特的采訪集中,你將了解到某些特殊設(shè)計決定產(chǎn)生的過程,包括這些先行者當(dāng)時頭腦中的既定目標(biāo)、他們不得不做的折衷權(quán)衡,以及這些寶貴經(jīng)驗至今對編程產(chǎn)生了怎樣的影響。    如果你對那些用遠(yuǎn)見卓識和努力工作造就計算機(jī)產(chǎn)業(yè)的人們感興趣的話,那么自然會發(fā)現(xiàn)《編程大師智慧》是一本令人著迷的好書。

作者簡介

編者:(美國)比安庫利(Federico Biancuzzi) (美國)沃登(Shane Warden)比安庫利(Federico Biancuzzi),是一位自由采訪者,他的采訪報道發(fā)表在多家在線刊物上。沃登(Shane Warden),是一位自由軟件開發(fā)者,他的主要興趣在于編程語言設(shè)計和虛擬機(jī)。在業(yè)余時間,他是獨立出版社Onyx Neon Press的小說出版部門負(fù)責(zé)人。他也是O’Rcilly圖書《敏捷開發(fā)藝術(shù)》的合著者之一。

書籍目錄

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

章節(jié)摘錄

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.

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    編程大師智慧 PDF格式下載


用戶評論 (總計6條)

 
 

  •   全英文,從語言的設(shè)計者的角度介紹了每種語言的設(shè)計背景和設(shè)計初衷,了解了每種語言有它獨特的定位
  •   在努力看。
  •   印刷、紙張很滿意,內(nèi)容還沒看,可以當(dāng)做小說來看吧
  •   我可以非常負(fù)責(zé)任的告訴大家,這種計算機(jī)學(xué)家訪談的書,世上沒幾本好的。首先這些被采訪的對象還算說得過去,但采訪者本人就不怎么樣了,提的問題公式化,對不同的受訪者上來都是按照一個套路提問,表明對受訪者缺乏了解,去采訪的人做的功課很不夠,這書實在是,,,矮矮
  •   書很好,能夠大開眼界。可惜涉及面太廣,而且是訪談錄形式,所以要求讀者:一、至少對C語言有相當(dāng)程度的掌握(很多受訪者都提到了C語言),最好能了解另外至少2、3門計算機(jī)語言,而且最好是不同類型的;二、對英語水平要求很高,各種非正式的表達(dá)或者引經(jīng)據(jù)典的東西不少??傊髻I。
  •   書中涵蓋了大多數(shù)主流編程語言,內(nèi)容很豐富。不過書中都是對話式的訪談,閱讀起來趣味性可能不是很強(qiáng)。熱愛技術(shù)的人應(yīng)該能從中有不少收獲。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7