image

Index

A

abstraction, 22, 29

ACS-1 supercomputer, 485

ActionScript, 143

Ada, 349

ADsafe, 99

Adventure, 576, 577

aesthetics, 26, 234, 235, 283, 284, 285, 369, 371, 372, 488, 555

Agorics, 95

AI, 3, 206, 300, 301

Ajax, 91, 97, 101, 102, 111, 125, 142, 158

Algol, 243, 248

Allen, Fran, 560

Altair, 245

Andreessen, Marc, 14, 18, 19

Android, 71

ANSI C, 420

AOL, 53

Apache, 58, 61

APL, 2, 93, 325, 327, 328, 340, 344, 352, 353

App Engine, 64, 65, 66

Apple II, 49, 50, 135

Apple Users Group, 3

Armstrong, Joe, 150

ARPANET, 519, 529, 541

Art of Computer Programming, The, 565, 568, 570, 572, 577, 579, 583, 584

assertions, 31, 32, 364, 365

asserts, 468

Atari 800, 94

Atlas, 102

awk, 145

BASIC, 2, 50, 62, 168, 169, 170, 288, 289, 373, 377, 383, 386

B

Basic Four, 94, 121

BBN, 519, 520, 521, 522, 523, 525, 526, 535, 539, 540, 541, 543, 549, 551, 552, 553, 554

BBS, 52

BCPL, 244, 246, 255, 456

BDDs, 575, 584, 587, 588

Bell Labs, 449, 457, 458, 463, 464, 474

Belle, 449

Berkeley, 451, 453, 454

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

Bliss, 325, 353, 462

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

Brooks, Fred, 492, 493, 494

buddy programming, 200

Butterfield, Steve, 546

C

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*, 325, 354

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

CGI, 53, 54, 56, 57

change files, 586, 587, 588

Charles, Philippe, 489

Chrome, 71

Chromix, 248

Church, Alonzo, 146

Clark, Jim, 136

Clarke, Thomas, 245, 253, 256

Cleanroom process, 493, 494

CMU, 190

CMU Common Lisp, 3

COBOL, 325, 353, 376, 398, 596

Cocke, John, 515

code design, 154, 155

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

concurrency, 271, 274

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

CWEB, 572, 575, 579, 589

D

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

DEC, 327, 331, 354

design reviews, 538, 540

designing software, 326, 340, 458

Deutsch, L. Peter, 373, 387

development teams, 37, 38

Dias, John, 265

Dijkstra, 124, 565, 567, 582, 584, 590, 600

Doctor, 537, 540, 541

DOCTOR, 519

documentation, 7, 179, 181, 196, 230, 231, 232, 461

documenting, 461, 464

dynamic languages, 139

E

E, 95, 96

ECMAScript, 325, 351

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

ELIZA, 519, 540, 541

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, 9, 30

Energize team, 13

ENIAC, 504, 506, 511

Ericsson, 205, 206, 220, 221

Erlang, 205, 206, 211, 212, 214, 218, 219, 221, 222, 223, 224, 225, 226, 228, 232, 233, 235, 236, 237, 238, 239, 263

ES3, 91, 96, 100, 146, 351

ES4, 91, 92, 99, 100, 143, 146, 157, 351

ES5, 92

ethical responsibilities, 88

eToys, 382, 392

Expert Technologies (ETI), 4, 5

explicit memory management versus garbage collection, 64

F

Fahlman, Scott, 3, 4

FastGCI, 58

feature convergence, 102

Firefox, 133, 138

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

G

Gabriel, Dick, 353

Gabriel, Richard, 462

Gaim, 70

Gates, Bill, 236

GCC, 13, 63, 80

GDB, 8, 9, 13, 30, 589

generics, 191, 192, 193, 194

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

GNAL, 325, 353

Goetz, Brian, 172, 186

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

goto statements, 565, 595

Greenblatt, Richard, 522

Grover, George, 492

Guibas, Leo, 421

GWT, 100

H

Habitat, 95, 112

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

Heart, Frank, 530, 535, 538

Herlihy, Maurice, 275

Herman, Dave, 144

history, 568, 577, 578, 598, 599

Hoare, Tony, 196, 585, 590

Horwat, Waldemar, 143

Houck, Chris, 16

Hughes, John, 257, 258, 263

HyperCard, 382

I

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

IMPs, 519, 529, 549

Interface Message Processors (IMPs), 519

Interlisp, 413, 414, 418, 441

invariants, 79, 406, 468, 469

J

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, image 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

JSLint, 114, 118, 120

JSON, 91, 125

JsUnit, 122

K

K&R style, 107, 108

Kay, Alan, 94, 373, 376, 378, 383, 389, 391, 404

Knuth, Donald, 114, 115, 116, 117, 124

KWIC index, 328

L

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

literate programs, 337, 338

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

long hours, 16, 75, 553

Lotus 1-2-3, 398, 410

LR parsing, 565

Lucasfilm, 91, 94, 95

Lucid, 6, 8, 9, 10, 12, 14, 39

Lucid Common Lisp, 6

M

Maclisp, 325, 330, 340, 341, 342, 353, 363

Macsyma, 330, 341, 363, 476

MAD, 489, 490

mail reader, 17, 18, 19, 21

maintaining software, 34

Maple, 476

Martin, Bill, 329, 330

mash-ups, 98, 128, 129

mathematics, 44, 45, 77, 81, 124, 176, 183, 298, 333, 339, 347, 348, 366, 371, 380, 397, 400, 401, 450

McCloskey, Mike, 176

McIlroy, Doug, 156, 157

memcached, 49, 59, 60, 64, 83

memory latency, 491

mentoring, 500, 501

mentors, 40

Metafont, 586

METAFONT, 369, 565

Michie, Donald, 205, 208, 209

Microsoft Research, 241, 242, 250, 254

MicroUnity, 133, 137

migration, 59, 61, 75

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

Morningstar, Chip, 95, 106

Moses, Joel, 330

Mozilla, 25, 133, 138, 143, 150, 151, 154, 156, 157, 158

MS-DOS, 419

MULTICS, 127, 449, 458, 463

MySQL, 60

NASA, 287, 288, 308, 309, 311, 312, 313

NCSA/Mosaic, 14

N

NELIAC, 452, 462

Netscape, 10, 12, 14, 16, 19, 21, 31, 33, 34, 38, 133, 137, 138, 141, 143, 155, 156, 157, 165

NewtonScript, 145

Norman, Arthur, 255, 265, 277

Norvig, Peter, 5, 6, 148, 155

Nutt, Roy, 488

NYU, 496, 500, 512

O

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

OCaml, 161, 162, 163, 222

OO (object -oriented language), 171

Open Telecom Platform (OTP), 205

optimization, 80, 462, 469, 470

organization, 36

OTP (Open Telecom Platform), 205, 211, 230

overengineering, 22, 23

ownership, 73

P

pair programming, 72, 228, 229, 288, 294, 295, 395, 480

parallelism, 237, 238, 495, 496, 497, 505

ParcPlace, 413, 418, 434, 439

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

Perlbal, 49, 59, 60, 62, 86

photo hosting-service, 57

PL/I, 327, 349, 377, 499

PL/Z, 248

Plan 9, 449, 479

PostScript, 418, 419, 420, 433

PowerPoint, 287

programming versus writing, 26

Project Genie, 413, 417, 425

Project MAC, 521, 522, 526

Prolog, 205, 213, 221, 224, 225, 233

proofs, 326, 364, 366, 367, 368

prototyping, 303, 304

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

Q

QuickCheck, 267, 270

R

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

RLE, 521, 522

Rochester, Nat, 506

Ruby, 147, 158

S

S-1 Lisp, 353

San Francisco State, 92

Santa Clara, 134

Scala, 192, 197, 198

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, 144, 145

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

skills, important, 44, 86, 87

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

Stroustrup, Bjarne, 355, 475

style guides, 72

Sun Microsystems, 167, 171, 413

Sussman, Gerald, 325

Swedish Space Corporation, 206, 210, 220, 227

T

talent, 472

talent, recognition of, 38

Tcl, 528, 553

Tech Model Railroad Club, 521

TECO macros, 530, 542, 558

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

Thompson, Ken, 309, 413, 557

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

tracing, 335, 339

Transarc, 167, 188, 190

Turing, 209

type inference, 261

U

UC Berkeley, 5, 413

UCL, 249

UML, 181, 307

Ungar, Dave, 144

unit tests, 33, 34

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

V

van Rossum, Guido, 309

Virding, Robert, 221, 228, 229, 235

VisiCalc, 398

W

Waldemar, Horwat, 143

Walden, Dave, 529, 530, 536, 538

Wall, Larry, 151

Washbrook, John, 249

WEB tool, 572, 589

Weiss, Steve, 525

Weissman, Terry, 18, 19, 21

Weizenbaum, Joe, 519, 540, 541

Wellings, Ralph, 330

Whitaker, Brad, 51, 53, 56, 74

White, George, 376

Wholey, Skef, 3, 40

Williams, Mike, 221

Winograd, Terry, 597

women, 485, 490, 492, 507, 508, 509, 510, 511, 512, 513, 514

writing code, 220

XYZ

X Windows, 211, 223

X11 calls, 26, 27

Xenix, 136

Xerox PARC, 373, 375, 413, 421

XLISP, 3

XP, 432, 434

XScreenSaver, 12, 24, 26

yacc, 476

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.93.236