forked from twcamper/sicp-kindle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
book-Z-H-6.html
89 lines (74 loc) · 3.93 KB
/
book-Z-H-6.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http:https://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<!-- Generated from TeX source by tex2page, v 4o,
(c) Dorai Sitaram, http:https://www.cs.rice.edu/~dorai/tex2page -->
<head>
<meta name="generator" content="HTML Tidy for Linux (vers 7 December 2008), see www.w3.org" />
<title>Structure and Interpretation of Computer Programs</title>
<link href="book-Z-C.css" title="default" rel="stylesheet" type="text/css" />
<meta name="robots" content="noindex,follow" />
</head>
<body>
<mbp:pagebreak />
<p><a name="%_chap_Temp_3"></a></p>
<div class="chapterheading">
<h1 class="chapter"><a href="book-Z-H-4.html#%_toc_%_chap_Temp_3">Preface to the Second Edition</a></h1>
</div>
<div align="right">
<table width="60%">
<tr>
<td>
<div><span class="epigraph">"Is it possible that software is not like anything else, that it is meant to be discarded:
that the whole point is to always see it as a soap bubble?"</span></div>
<div><span class="epigraph attrib"><a name="%_idx_2"></a>Alan J. Perlis</span></div>
</td>
</tr>
</table>
</div>
<p>The material in this book has been the basis of MIT's
entry-level computer science subject since 1980. We had been
teaching this material for four years when the first edition was
published, and twelve more years have elapsed until the
appearance of this second edition. We are pleased that our work
has been widely adopted and incorporated into other texts. We
have seen our students take the ideas and programs in this book
and build them in as the core of new computer systems and
languages. In literal realization of an ancient Talmudic pun, our
students have become our builders. We are lucky to have such
capable students and such accomplished builders.</p>
<p>In preparing this edition, we have incorporated hundreds of
clarifications suggested by our own teaching experience and the
comments of colleagues at MIT and elsewhere. We have redesigned
most of the major programming systems in the book, including the
generic-arithmetic system, the interpreters, the register-machine
simulator, and the compiler; and we have rewritten all the
program examples to ensure that any Scheme implementation
conforming to the IEEE Scheme standard (IEEE 1990) will be able
to run the code.</p>
<p>This edition emphasizes several new themes. The most important
of these is the central role played by different approaches to
dealing with time in computational models: objects with state,
concurrent programming, functional programming, lazy evaluation,
and nondeterministic programming. We have included new sections
on concurrency and nondeterminism, and we have tried to integrate
this theme throughout the book.</p>
<p>The first edition of the book closely followed the syllabus of
our MIT one-semester subject. With all the new material in the
second edition, it will not be possible to cover everything in a
single semester, so the instructor will have to pick and choose.
In our own teaching, we sometimes skip the section on logic
programming (section <a href="book-Z-H-29.html#%_sec_4.4">4.4</a>), we have students use the
register-machine simulator but we do not cover its implementation
(section <a href="book-Z-H-32.html#%_sec_5.2">5.2</a>), and
we give only a cursory overview of the compiler
(section <a href="book-Z-H-35.html#%_sec_5.5">5.5</a>). Even
so, this is still an intense course. Some instructors may wish to
cover only the first three or four chapters, leaving the other
material for subsequent courses.</p>
<p>The World-Wide-Web site <tt>www-mitpress.mit.edu/sicp</tt>
provides support for users of this book. This includes programs
from the book, sample programming assignments, supplementary
materials, and downloadable implementations of the Scheme dialect
of Lisp.</p>
</body>
</html>