Masterminds of Programming - Oreilly 2009.pdf

(2429 KB) Pobierz
Oreilly - Masterminds of Programming (04-2009) (ATTiCA)
165279297.001.png
Masterminds of
Programming
Edited by Federico Biancuzzi and Shane Warden
Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo
165279297.002.png
Masterminds of Programming
Edited by Federico Biancuzzi and Shane Warden
Copyright © 2009 Federico Biancuzzi and Shane Warden. All rights reserved. Printed in the
United States of America.
Published by O’Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472
O’Reilly books may be purchased for educational, business, or sales promotional use. Online
editions are also available for most titles ( safari.oreilly.com ). For more information, contact our
Editor: Andy Oram
Production Editor: Rachel Monaghan
Indexer: Angela Howard
Proofreader: Nancy Kotary
Cover Designer: Monica Kamsvaag
Interior Designer: Marcia Friedman
Printing History:
March 2009:
First Edition.
The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Masterminds of Programming and
related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by
manufacturers and sellers to distinguish their products are claimed as trademarks. Where those
designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the
designations have been printed in caps or initial caps.
While every precaution has been taken in the preparation of this book, the publisher and authors
assume no responsibility for errors or omissions, or for damages resulting from the use of the
information contained herein.
ISBN: 978-0-596-51517-1
[V]
CONTENTS
FOREWORD
vii
PREFACE
ix
1
C++
1
Bjarne Stroustrup
Design Decisions
2
Using the Language
6
OOP and Concurrency
9
Future
13
Teaching
16
2
PYTHON
19
Guido von Rossum
The Pythonic Way
20
The Good Programmer
27
Multiple Pythons
32
Expedients and Experience
37
3
APL
43
Adin D. Falkoff
Paper and Pencil
44
Elementary Principles
47
Parallelism
53
Legacy
56
4
FORTH
59
Charles D. Moore
The Forth Language and Language Design
60
Hardware
67
Application Design
71
5
BASIC
79
Thomas E. Kurtz
The Goals Behind BASIC
80
Compiler Design
86
Language and Programming Practice
90
Language Design
91
Work Goals
97
iii
165279297.003.png
6
AW K
101
Alfred Aho, Peter Weinberger, and Brian Kernighan
The Life of Algorithms
102
Language Design
104
Unix and Its Culture
106
The Role of Documentation
111
Computer Science
114
Breeding Little Languages
116
Designing a New Language
121
Legacy Culture
129
Transformative Technologies
132
Bits That Change the Universe
137
Theory and Practice
142
Waiting for a Breakthrough
149
Programming by Example
154
7
LUA
161
Luiz Henrique de Figueiredo and Roberto Ierusalimschy
The Power of Scripting
162
Experience
165
Language Design
169
8
HASKELL
177
Simon Peyton Jones, Paul Hudak, Philip Wadler,
and John Hughes
A Functional Team
178
Trajectory of Functional Programming
180
The Haskell Language
187
Spreading (Functional) Education
194
Formalism and Evolution
196
9
ML
203
Robin Milner
The Soundness of Theorems
204
The Theory of Meaning
212
Beyond Informatics
218
10
SQL
225
Don Chamberlin
A Seminal Paper
226
The Language
229
Feedback and Evolution
233
XQuery and XML
238
iv CONTENTS
Zgłoś jeśli naruszono regulamin