a bibliography - springer978-1-4302-1949-1/1.pdf · a discipline of programming, edsger w ... of...

Download A Bibliography - Springer978-1-4302-1949-1/1.pdf · A Discipline of Programming, Edsger W ... of Programming Style, Brian Kernighan and P.J. Plauger (Computing McGraw-Hill, 1978)

If you can't read please download the document

Upload: duongque

Post on 06-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • APPENDIX

    A

    Bibliography

    The Art of Computer Programming, Donaid Knuth (Addison-Wesley, 1997)

    Beautiful Code: Leading Programmers Explain How They Think, Andy Oram, Greg Wilson (eds.) (OReilly, 2007)

    Byte, Vol. 6, No. 8, Smalltalk issue, August 1981

    Code Complete, Steve McConnell (Microsoft Press, 1993)

    Compiling with Continuations, Andrew W. Appel (Cambridge University Press, 1992)

    The Design and Analysis of Computer Algorithms, Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman (Addison-Wesley, 1974)

    Design Patterns: Elements of Reusable Object-Oriented Software, Eric Gamma, Richard Helf, Ralph Johnson, and John M. Vlissides (Addison-Wesley Professional, 1994)

    A Discipline of Programming, Edsger W. Dijkstra (Prentice Hall, Inc., 1976)

    Effective Java, Joshua Bloch (Prentice Hall, 2008)

    The Elements of Programming Style, Brian Kernighan and P.J. Plauger (Computing McGraw-Hill, 1978)

    Elements of Style, William Strunk and E.B. White (Longman, 1999)

  • Bibliography604

    Expert C Programming, Peter van der Linden (Prentice Hall PTR, 1994)

    Founders at Work, Jessica Livingston (Apress, 2007)

    Hackers Delight, Hank Warren (Addison-Wesley, 2002)

    Higher-Order Perl, Mark Jason Dominus (Morgan Kaufmann, 2005)

    Java Concurrency in Practice, Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea (Addison-Wesley, 2006)

    Java Puzzlers: Traps, Pitfalls, and Corner Cases, Joshua Bloch and Neil Gafter (Addison-Wesley, 2005)

    The Lisp 1.5 Programmer's Manual, John McCarthy (MIT Press, 1962)

    Literate Programming, Donald Knuth (Center for the Study of Language and Information, 1992)

    Machine Intelligence 1, N.L. Collins and Donald Michie (eds.) (Oliver and Boyd, 1967)

    Machine Intelligence 2, Ella Dale and Donald Michie (eds.) (Oliver and Boyd, 1968)

    Machine Intelligence 3, Donald Michie (ed.) (Edinburgh University Press, 1968)

    Machine Intelligence 4, Bernard Meltzer and Donald Michie (eds.) (Edinburgh University Press, 1969)

    Magic House of Numbers, Irving Adler (HarperCollins, 1974)

    META II a Syntax-Oriented Compiler Writing Language, D.V. Schorre in Proceedings of the 1964 19th ACM national conference, (ACM, 1964)

    Mindstorms: Children, Computers, and Powerful Ideas, Seymour A. Papert (Basic Books, 1993)

    The Mythical Man-Month: Essays on Software Engineering, Frederick P. Brooks (Addison-Wesley Professional, 1995)

    Principles of Compiler Design, Alfred Aho and Jeffrey Ullman (Addison-Wesley, 1977)

    Proof of a Program: FIND, C.A.R. Hoare in Communications of the ACM,Vol. 14, Issue 1 (ACM, 1971)

  • Bibliography 605

    Programming Pearls, Jon Bentley (ACM Press, 1999)

    Purely Functional Data Structures, Chris Okasaki (Cambridge University Press, 2008)

    A Retargetable C Compiler: Design and Implementation, David Hanson and Christopher Fraser (Addison-Wesley Professional, 1995)

    Smalltalk-80: The Interactive Programming Environment, Adele Goldberg (Addison-Wesley, 1983)

    Smalltalk-80: The Language & Its Implementation, David Robson and Adele Goldberg (Addison-Wesley, 1983)

    Structure and Interpretation of Computer Programs, Harold Abelson and Gerald Jay Sussman (MIT Press, 1996)

    TeX: The Program, Donald Knuth (Addison-Wesley, 1986)

    The Programming Language LISP: Its Operation and Applications, Edmund Berkeley and Daniel Bobrow, eds. (MIT Press, 1966)

    The Psychology of Computer Programming: Silver Anniversary Edition,Gerald Weinberg (Dorset House, 1998)

    The TeXbook, Donald Knuth (Addison-Wesley Professional, 1986)

    Writers at Work: The Paris Review Interviews, Malcolm Cowley (Penguin, 1977)

    Zen and the Art of Motorcycle Maintenance: An Inquiry into Values, Robert Pirsig (Bantam, 1984)

  • I

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

  • Index 608

    BBasic 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

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

    CC, 30, 52, 72, 134, 137, 144, 147, 184, 191, 197, 213, 221, 222, 325, 353, 355, 388, 406, 420, 444, 456, 460, 467, 501, 502, 503, 557, 559, 560, 585, 589

    C--, 264

    C code, 11

    C language, 10

    C*, 325, 354

    C++, 9, 10, 11, 20, 21, 38, 49, 62, 63, 64, 80, 85, 138, 139, 147, 148, 156, 162, 163, 164, 170, 184, 185, 186, 191, 193, 198, 224, 247, 262, 325, 349, 353, 354, 377, 389, 406, 407, 467, 468, 475, 476, 503, 529, 559

    C++, 11

    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

  • Index 609

    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

    DDanga 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

  • Index 610

    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

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

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

  • Index 611

    Free Software Foundation (FSF), 10

    FreeVote, 54

    Frberg, Magnus, 230

    functional programming, 241, 242, 250, 251, 254, 255, 257, 260, 266, 275, 276, 278, 280

    FX, 438

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

    HHabitat, 95, 112

    Hackers 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

    IIBM, 325, 326, 327, 328, 329, 332, 340, 353, 362, 370, 485, 486,

  • Index 612

    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

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

    JSLint, 114, 118, 120

    JSON, 91, 125

    JsUnit, 122

    KK&R style, 107, 108

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

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

    KWIC index, 328

    LLambda 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

  • Index 613

    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

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

  • Index 614

    MULTICS, 127, 449, 458, 463

    MySQL, 60

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

    NCSA/Mosaic, 14

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

    OOCallahan, Robert, 152

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

    Ppair 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

  • Index 615

    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

    QQuickCheck, 267, 270

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

    SS-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

  • Index 616

    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

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

    Toti , Aleks, 16

    TraceMonkey, 133

    tracing, 335, 339

    Transarc, 167, 188, 190

    Turing, 209

    type inference, 261

    UUC 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

  • Index 617

    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

    Vvan Rossum, Guido, 309

    Virding, Robert, 221, 228, 229, 235

    VisiCalc, 398

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

    XYZX 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