请输入您要查询的百科知识:

 

词条 编程大师智慧
释义

图书信息

作 者:(美)比安库利(Biancuzzi,F.),(美)活登(Warden,S.) 著

出 版 社:东南大学出版社

ISBN:9787564122621

出版时间:2010-06-01

版 次:1

页 数:480

装 帧:平装

开 本:16开

内容简介

《编程大师智慧(影印版)》的主要特色在于它是多位编程语言创造者的独家采访,他们创造的这些编程语言极具历史意义,对于当下的信息社会产生了重大影响。从这部独特的采访集中,你将了解到某些特殊设计决定产生的过程,包括这些先行者当时头脑中的既定目标、他们不得不做的折衷权衡,以及这些宝贵经验至今对编程产生了怎样的影响。

如果你对那些用远见卓识和努力工作造就计算机产业的人们感兴趣的话,那么自然会发现《编程大师智慧(影印版)》是一本令人着迷的好书。

目录

FOREWORD

PREFACE

1 C++

Design Decisions

Using the Language

OOP and Concurrency

Future

Teaching

2 PYTHON

The Pythonic Way

The Good Programmer

Multiple Pythons

Expedients and Experience

3 APL

Paper and Pencil

Elementary Principles

Parallelism

Legacy

4 FORTH

The Forth Language and Language Design

Hardware

Application Design

5 BASIC

The Goals Behind BASIC

Compiler Design

Language and Programming Practice

Langua~'e Design

Work Goals

6 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 Example

7 LUA

The Power of Scripting

Experience

Language Design

8 HASKELL

A Functional Team

Trajectory of Functional Programming

The Haskell Language

Spreading (Functional) Education

Formalism and Evolution

9 ML

The Soundness of Theorems

The Theory of Meaning

Beyond Informatics

10 SQL

A Seminal Paper

The Language

Feedback and Evolution

XQuery and XML

11 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

Education

12 JAVA

Power or Simplicity

A Matter of Taste

Concurrency

Designing a Languae

Feedback Loop

13 C#

Language and Design

Growing a Language

C#

The Future of Computer Science

14 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 Patterns

15 PERL

The Language of Revolutions

Language

Community

Evolution and Revolution

16 POSTSCRIPT

Designed to Last

Research and Education

Interfaces to Longevity

Standard Wishes

17 EIFFEL

An Inspired Afternoon

Reusability and Genericity

Proofreading Languages

Managing Growth and Evolution

AFTERWORD

CONTRIBUTORS

INDEX

前言

序言

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.

精彩书摘

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.

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/25 5:11:16