ACS-1 supercomputer, 485
ActionScript, 143
Ada, 349
ADsafe, 99
aesthetics, 26, 234, 235, 283, 284, 285, 369, 371, 372, 488, 555
Agorics, 95
Ajax, 91, 97, 101, 102, 111, 125, 142, 158
Allen, Fran, 560
Altair, 245
Android, 71
ANSI C, 420
AOL, 53
APL, 2, 93, 325, 327, 328, 340, 344, 352, 353
Apple Users Group, 3
Armstrong, Joe, 150
Art of Computer Programming, The, 565, 568, 570, 572, 577, 579, 583, 584
asserts, 468
Atari 800, 94
Atlas, 102
awk, 145
BASIC, 2, 50, 62, 168, 169, 170, 288, 289, 373, 377, 383, 386
BBN, 519, 520, 521, 522, 523, 525, 526, 535, 539, 540, 541, 543, 549, 551, 552, 553, 554
BBS, 52
Bell Labs, 449, 457, 458, 463, 464, 474
Belle, 449
Big Brother Database, 9
BigInteger, 176
Big-O, 565
Bina, Eric, 16
bit twiddling, 172
BitBlt, 373, 380, 384, 385, 386, 387, 394, 395, 409, 410
Björklund, Martin, 230
Bobrow, Dan, 461
Bobrow, Danny, 430
Bolt Beranek and Newman (BBN), 519
books, 43, 44, 81, 160, 161, 171, 276, 299, 326, 327, 330, 332, 334, 401, 477, 527
Books, 175
Boolean decision diagrams (BDDs), 575
bots, 53
British Robotics Association, 206, 209
buddy programming, 200
Butterfield, Steve, 546
C, 30, 52, 72, 134, 137, 144, 147, 184, 191, 197, 213, 221–2, 325, 353, 355, 388, 406, 420, 444, 456, 460, 467, 501–3, 557, 559–60, 585, 589
C--, 264
C code, 11
C language, 10
C++, 9–11, 20–1, 38, 49, 62–4, 80 85, 138–9, 147–8, 156, 162–4, 170 184–6, 191, 193, 198, 224, 247 262, 325, 349, 353–4, 377, 389 406–7, 467–8, 475–6, 503, 529, 559
Cambridge, 241, 244, 245, 246, 247, 249, 255
Cambridge Electron Accelerator, 413, 414, 416
Canady, Rudd, 464
Carnegie Mellon, 353
Carnegie Mellon University (CMU), 3, 4
Carnegie-Mellon University, 167
Case Institute of Technology, 566
Charles, Philippe, 489
Chrome, 71
Chromix, 248
Church, Alonzo, 146
Clark, Jim, 136
CMU, 190
CMU Common Lisp, 3
COBOL, 325, 353, 376, 398, 596
Cocke, John, 515
code ownership, 201
code reading, 92, 102, 103, 104, 105, 107, 116, 129, 182
Collabra, 19
Columbia University, 167
combinatorial algorithms, 580
comments, 36, 541, 545, 555, 556
Common Lisp, 325, 338, 343, 350, 351, 353, 365, 372
computer science, 41, 42, 52, 66, 68, 130, 135, 137, 150, 160, 205, 208, 209, 217, 233, 244, 247, 249, 250, 288, 290, 295, 297, 298, 311, 331, 332, 333, 347, 379, 390, 393, 400, 410, 431, 453, 482, 486, 502, 506, 510, 511, 512, 513, 565, 569, 594, 595, 600
concurrent programming, 237
continue statement, 106
Crockford, Doug, 142, 143, 144, 146, 148
Crowther, Will, 525, 529, 531, 532, 534, 535, 536, 537, 538, 547
curiosity, 44
curly-brace languages, 107
Danga Interactive, 49
De Bellis, Thomas, 169
debugging, 8, 29, 31, 32, 43, 78, 79, 86, 120, 121, 151, 152, 153, 183, 187, 189, 190, 207, 225, 226, 227, 266, 268, 269, 295, 300, 312, 313, 314, 315, 335, 337, 342, 362, 364, 365, 366, 367, 368, 388, 395, 397, 399, 404, 405, 406, 452, 453, 460, 465, 466, 468, 470, 477, 481, 488, 489, 514, 520, 524, 533, 535, 537, 546, 547, 570, 586, 588, 589, 590
designing software, 326, 340, 458
Dias, John, 265
Dijkstra, 124, 565, 567, 582, 584, 590, 600
DOCTOR, 519
documentation, 7, 179, 181, 196, 230, 231, 232, 461
dynamic languages, 139
ECMAScript 3, 142
ECMAScript 4, 91, 96, 134, 142
ECMAScript 4 (ES4), 91
Eich, Brendan, 99
Eiffel, 121
EISCAT scientific association, 206, 209
Electric Communities, 91, 95, 96, 112
Elkind, Jerry, 430
Emacs, 9, 13, 35, 36, 39, 85, 266, 325, 335, 344, 345, 346, 347, 354, 419, 440, 541, 556
Emacs Lisp, 12
Encina, 167
Energize team, 13
Erlang, 205, 206, 211, 212, 214, 218, 219, 221, 222, 223, 224, 225, 226, 228, 232, 233, 235, 236, 237, 238, 239, 263
ES4, 91, 92, 99, 100, 143, 146, 157, 351
ES5, 92
ethical responsibilities, 88
Expert Technologies (ETI), 4, 5
explicit memory management versus garbage collection, 64
FastGCI, 58
feature convergence, 102
Fitzpatrick, Brad, 48
Fortran, 2, 91, 92, 93, 104, 105, 134, 168, 170, 172, 206, 210, 224, 226, 325, 326, 327, 328, 330, 352, 353, 358, 373, 374, 375, 376, 377, 396, 398, 399, 451, 455, 456, 485, 487, 488, 490, 491, 495, 502, 521, 534, 560, 577, 583, 596, 600, 601
Fortress, 325, 339, 347, 350, 356, 357, 358, 365
forward references, 109
Free Software Foundation (FSF), 10
FreeVote, 54
Fröberg, Magnus, 230
functional programming, 241, 242, 250, 251, 254, 255, 257, 260, 266, 275, 276, 278, 280
FX, 438
Gabriel, Dick, 353
Gabriel, Richard, 462
Gaim, 70
Gates, Bill, 236
GHC, 241, 261, 262, 264, 265, 266, 267, 268, 269, 278, 279, 280, 284, 285
GHCI, 267
Ghostscript, 413, 414, 418, 420, 427, 432, 433, 444, 445
Gilder, George, 137
Glasgow Haskell Compiler (GHC), 241
Goldin, Don, 312
Google, 55, 62, 63, 64, 65, 68, 71, 72, 73, 75, 77, 78, 79, 80, 82, 84, 85, 86, 163, 167, 184, 185, 186, 287, 296, 298, 301, 303, 304, 305, 307, 308, 311, 320, 322, 473, 474, 475, 476, 480
Gosper, Bill, 522
Greenblatt, Richard, 522
Grover, George, 492
Guibas, Leo, 421
GWT, 100
Hacker's Dictionary, The, 325
Harris, Tim, 275
Harvard, 325, 329, 330, 331, 333, 374, 413, 425
Haskell, 241, 251, 254, 259, 261, 266, 267, 268, 270, 275, 276, 278, 280, 283, 296, 325, 354, 357, 358, 359, 365, 436, 437
Herlihy, Maurice, 275
Herman, Dave, 144
history, 568, 577, 578, 598, 599
Horwat, Waldemar, 143
Houck, Chris, 16
HyperCard, 382
IBM, 325, 326, 327, 328, 329, 332, 340, 353, 362, 370, 485, 486, 487, 490, 493, 495, 499, 500, 506, 508, 510, 512, 514, 515, 516
IBM Research, 185
Iborra, Pepe, 268
IMLAC, 561
IMP, 520, 530, 532, 534, 536, 537, 538, 558
Interface Message Processors (IMPs), 519
Jacobson, Van, 153
Java, 11, 21, 49, 52, 62, 63, 65, 66, 81, 85, 134, 136, 141, 143, 145, 146, 147, 149, 161, 162, 164, 167, 168, 170, 172, 173, 174, 176, 177, 179, 183, 184, 185, 186, 191, 192, 193, 195, 196, 197, 198, 325, 334, 339, 343, 349, 350, 351, 352, 354, 355, 356, 358, 377, 378, 379, 389, 468, 471, 476, 502, 503, 559, 560, 582, 596
Java Collections Framework, 167
Java Community Process, 349, 350
Javadoc, 356
JavaScript, 91, 93, 96, 97, 98, 99, 100, 101, 102, 105, 106, 108, 117, 118, 119, 120, 122, 123, 125, 128, 129, 130, 133, 134, 136, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 155, 159, 160, 165, 166, 373, 379, 380, 381, 392, 401, 405, 408
John Reiser C preprocessor, 135
Joule, 95
Joy, Bill, 325
JsUnit, 122
Kay, Alan, 94, 373, 376, 378, 383, 389, 391, 404
Knuth, Donald, 114, 115, 116, 117, 124
KWIC index, 328
Lambda Papers, The, 325
Lanett, Mark, 16
lazy evaluation, 241, 257, 258, 259, 260, 262
leaf nodes, 37
Learson, T. Vincent, 326
Linux, 479
Lisp, 3, 4, 7, 8, 30, 31, 127, 128, 325, 329, 330, 332, 336, 341, 345, 350, 351, 352, 353, 365, 374, 377, 378, 387, 413, 414, 415, 417, 418, 425, 429, 441, 442, 443, 444, 445, 519, 529, 537, 540, 541
literate program, 574, 575, 578, 594
literate programming, 109, 114, 116, 317, 318, 319, 407, 476, 477, 565, 566, 570, 571, 572, 573, 575, 576, 577, 578, 584, 586, 587, 588
LiveJournal, 49, 50, 54, 55, 56, 57, 58, 60, 65, 68, 74, 75, 76, 80, 82
Lively Kernel, 373, 379, 380, 381, 382, 390, 394, 404
LR parsing, 565
Lucid, 6, 8, 9, 10, 12, 14, 39
Lucid Common Lisp, 6
Maclisp, 325, 330, 340, 341, 342, 353, 363
maintaining software, 34
Maple, 476
mathematics, 44, 45, 77, 81, 124, 176, 183, 298, 333, 339, 347, 348, 366, 371, 380, 397, 400, 401, 450
McCloskey, Mike, 176
memory latency, 491
mentors, 40
Metafont, 586
Microsoft Research, 241, 242, 250, 254
Miranda, Eliot, 441
MIT, 325, 327, 329, 330, 331, 334, 336, 342, 344, 366, 413, 414, 417, 425, 428, 430, 438, 463, 519, 521, 522, 523, 526
Mittelhauser, Jon, 16
MMIX simulator, 576
mocks, 69
Montulli, Lou, 16
Mooers, Calvin, 429
Moore, J. Strother, II, 444
More, Trenchard, 344
Morgan, Bob, 525
Moses, Joel, 330
Mozilla, 25, 133, 138, 143, 150, 151, 154, 156, 157, 158
MS-DOS, 419
MySQL, 60
NASA, 287, 288, 308, 309, 311, 312, 313
NCSA/Mosaic, 14
Netscape, 10, 12, 14, 16, 19, 21, 31, 33, 34, 38, 133, 137, 138, 141, 143, 155, 156, 157, 165
NewtonScript, 145
Nutt, Roy, 488
O'Callahan, Robert, 152
O'Leary, Wilfred L., 329
object-oriented design, 389, 434
object-oriented language, 170
object-oriented languages, 213
object-oriented programming, 247, 596
OO (object -oriented language), 171
Open Telecom Platform (OTP), 205
optimization, 80, 462, 469, 470
organization, 36
OTP (Open Telecom Platform), 205, 211, 230
ownership, 73
pair programming, 72, 228, 229, 288, 294, 295, 395, 480
parallelism, 237, 238, 495, 496, 497, 505
Pascal, 52, 134, 135, 335, 338, 349, 557, 558
Perl, 11, 49, 53, 55, 56, 59, 62, 63, 64, 76, 79, 80, 81, 86, 354, 442, 528, 542, 546, 558, 559
photo hosting-service, 57
PL/Z, 248
PostScript, 418, 419, 420, 433
PowerPoint, 287
programming versus writing, 26
Prolog, 205, 213, 221, 224, 225, 233
proofs, 326, 364, 366, 367, 368
PTRAN, 485, 489, 495, 496, 499, 506, 507, 512
Python, 252, 258, 357, 435, 436, 439, 440, 441, 442, 443, 444, 447
quality, code, 17
Ramsey, Norman, 265
reading code, 157, 158, 334, 337, 338, 339, 407, 479, 489, 545, 547, 600
refactoring, 28, 106, 110, 117, 180, 278, 285, 550, 551
Research Lab of Electronics (RLE), 521
rewriting, 35
Ritchie, Dennis, 449, 461, 471
Rochester, Nat, 506
S-1 Lisp, 353
San Francisco State, 92
Santa Clara, 134
Scheme, 96, 128, 197, 325, 350, 351, 353, 355
Schonberg, Edith, 514
science fiction, 3
second-system effect, 112
second-system syndrome, 15, 20
self-taught programmers, 42, 69, 129
SGI (Silicon Graphics), 136, 137, 140, 151, 152
Sibelius, 447
Silicon Graphics, 133, 136, 151
Simula-67, 435
Six Apart, 75
S-K combinators, 255
skills, 137, 140, 150, 223, 233, 235, 236, 290, 292, 295, 298, 299, 310, 334, 354, 428, 430, 498, 539, 546, 549, 552
SKIM (SKI Machine), 256
Smalltalk, 113, 127, 128, 129, 144, 147, 161, 373, 377, 378, 382, 385, 386, 387, 388, 389, 390, 391, 392, 395, 396, 397, 398, 399, 400, 401, 402, 405, 408, 409, 410, 413, 418, 435, 439, 440
SNOBOL, 476
software design, 69, 178, 179, 181, 264, 302
Spice Lisp, 3
Spolsky, Joel, 155
Squeak, 373, 379, 380, 381, 387, 391, 392, 394, 399, 401, 407
SRI, 94
Stallman, 9
Stallman, Richard, 345, 346, 347
Stanford, 134, 374, 375, 376, 400, 570, 575, 586
Static Single Assignment, 485, 496
STM, 271, 272, 273, 274, 275, 276
STM (Software Transactional Memory), 198, 199
Stoye, William, 256
Strachey, Christopher, 289
Stretch, 488, 490, 491, 498, 499, 508, 509, 515
STRETCH-HARVEST machine, 485
style guides, 72
Sun Microsystems, 167, 171, 413
Sussman, Gerald, 325
Swedish Space Corporation, 206, 210, 220, 227
talent, 472
talent, recognition of, 38
Tech Model Railroad Club, 521
Tektronix, 53
TENEX, 519
testing, 33, 34, 122, 253, 267, 270, 300, 305, 308, 342, 365, 368, 384, 393, 394, 406, 469
TeX, 115, 116, 306, 325, 336, 337, 354, 369, 371, 372, 384, 400, 565, 570, 571, 572, 577, 586, 587, 590, 591, 592, 597, 598
TI Explorer Lisp machines, 5
time-sharing, 521, 523, 524, 526, 532, 537, 538, 540, 542, 548, 549, 558, 562
Totic, Aleks, 16
TraceMonkey, 133
Turing, 209
type inference, 261
UCL, 249
Ungar, Dave, 144
UNIVAC, 425
University College of London, 207
University of Illinois Champaign-Urbana, 136
University of Michigan, 486, 488
Unix, 9, 14, 16, 17, 20, 53, 54, 57, 58, 134, 135, 147, 151, 156, 161, 213, 230, 291, 413, 426, 449, 456, 458, 462, 463, 464, 478, 482, 524, 560
UTF-8, 449
Utopia 84, 596
van Rossum, Guido, 309
Virding, Robert, 221, 228, 229, 235
VisiCalc, 398
Waldemar, Horwat, 143
Walden, Dave, 529, 530, 536, 538
Wall, Larry, 151
Washbrook, John, 249
Weiss, Steve, 525
Weizenbaum, Joe, 519, 540, 541
Wellings, Ralph, 330
Whitaker, Brad, 51, 53, 56, 74
White, George, 376
Williams, Mike, 221
Winograd, Terry, 597
women, 485, 490, 492, 507, 508, 509, 510, 511, 512, 513, 514
writing code, 220
Xenix, 136
Xerox PARC, 373, 375, 413, 421
XLISP, 3
yacc, 476
3.14.144.216