Last update:
Tue Nov 26 10:57:35 MST 2024
Anthony Skjellum Occam: a parallel processing language from the UK . . . . . . . . . . . . . . 55--60
Donald E. Knuth and Niklaus Wirth Programming philosophy (interviews by Ken Takara) . . . . . . . . . . . . . . 25--35
Dave Taylor Wordz that almost match . . . . . . . . 47--59
Henri E. Bal and Andrew S. Tanenbaum Language- and machine-independent global optimization on intermediate code . . . 105--121
Guy Lewis Steele Common LISP, and the Connection Machine ??
Anonymous C Code for the PC . . . . . . . . . . . 52
P. J. Plauger Properties of floating-point arithmetic 17--22
P. Grogono Exotic Language of the Month Club: More Versatility with Pascal-like Trilogy . . 83--86
T. Ochs Theory and practice (floating point arithmetic) . . . . . . . . . . . . . . 67--70, 72, 74, 77--78, 80--81 T. Ochs Floating-point theory and practice . . . 67--81
J. D. Hildebrand Editor's Notes . . . . . . . . . . . . . 5 Larry L. Constantine Objects, Functions, and Program Extensibility . . . . . . . . . . . . . 34 Charles-A. Rovira Rovira Diagrams . . . . . . . . . . . . 59 Jim Kyle Of Programs, Philosophy, and Phoolishness . . . . . . . . . . . . . . 71 John M. Dlugosz Member Pointers in C++ . . . . . . . . . 79 Michael J. Gilchrist Awk of Ages, Best for Me . . . . . . . . 85 Tim Parker CASE on the PC: The state of the art . . 89 Jim Powell B-Tree Filer v. 5.0 . . . . . . . . . . 99
J. D. Hildebrand Editor's Notes . . . . . . . . . . . . . 5 John M. Dlugosz Debugging in C++ . . . . . . . . . . . . 32 Mark Nelson Managing the Heap . . . . . . . . . . . 43 David Intersimone Advanced Debugging Techniques . . . . . 59 John Mudd Automating C Debugging with Preprocessor Macros . . . . . . . . . . . . . . . . . 69 Ethan Winer Beyond the Basics . . . . . . . . . . . 89 Martin Stitt Up Periscope! . . . . . . . . . . . . . 101 Noel Bergman Programming with class . . . . . . . . . 107 Howard Modell Prograph v. 1.2 . . . . . . . . . . . . 119
J. D. Hildebrand Editor's Notes . . . . . . . . . . . . . 5 Gen Kiyooka Taming Asynchronous Events Under Windows 34 Bob Rodini Crafting WinApps with STDs . . . . . . . 45 Sally Shlaer and Stephen J. Mellor Recursive Design . . . . . . . . . . . . 53 Merrill Cornish Four Principles of User Interface Design 67 Dale Rogerson Getting Started with Windows . . . . . . 77 Gen Kiyooka Pigments and scaffolds: Windows development tools . . . . . . . . . . . 91 Jeff Angus Microsoft BASIC Professional Development System v. 7.0 . . . . . . . . . . . . . 112
J. D. Hildebrand Editor's Notes . . . . . . . . . . . . . 5 Bill Suydam Smalltalk as a Programming Environment 34 Eric Giguere Skin and Bones . . . . . . . . . . . . . 43 Martin Stitt Capturing User Input . . . . . . . . . . 61 Jack E. McCoy Enhanced Keyboard Support . . . . . . . 77 Noel Bergman Three faces of Smalltalk . . . . . . . . 87
J. D. Hildebrand Editor's Notes . . . . . . . . . . . . . 5 Larry O'Brien Just Say C . . . . . . . . . . . . . . . 38 Rick Naro Optimizing C Compilers: Ready for Action 47 Dan Saks C and the ANSI Standard . . . . . . . . 65 John Dlugosz Library Check-Out . . . . . . . . . . . 83 Tim Parker C Development Environments . . . . . . . 97 Jack Crenshaw FORTRAN fever: High-powered compilers 113 Mark Davidson TSR libraries: Pop-up programming . . . 127
J. D. Hildebrand Editor's Notes Object Soup . . . . . . . 5 Ben Ezell Writing Reusable Objects . . . . . . . . 34 Jon Bentley m1: A Mini Macro Processor . . . . . . . 47--61 Michael Toutonghi 21st Century Assembler . . . . . . . . . 65 Steve Estvanik Structured User Interviews . . . . . . . 77 David Hanson Advanced Generics in Ada . . . . . . . . 89 Warren Keuffel Making sense of it all: Groupware for re-engineering . . . . . . . . . . . . . 93 Dave Taylor Professional Programmer's Extender . . . 102 Jeff Angus Jake Geller's SpellCode . . . . . . . . 105
J. D. Hildebrand Editor's Notes Life among the C bigots 5 Eric F. Johnson and Kevin Reichard Controlling Colors the Xlib Way . . . . 34 Lyle Frost Get Thee Behind Me, Spawn of UNIX! . . . 51 Marco S. Hyman Literate C++ . . . . . . . . . . . . . . 67--68, 70, 72, 74--77, 79 Tim Parker UNIX is no half-baked operating system 83 Jim Mischel COBOL: Beyond Mainframes . . . . . . . . 95
Larry O'Brien Editor's Notes Act globally . . . . . . 5 Dave Pomerantz A Few Good Colors . . . . . . . . . . . 32 Gary Entsminger A Mini-Browser for C++ and Pascal . . . 45 Jack Whitney Unknown Text Modes . . . . . . . . . . . 63 Cary Ravitz Fancy Lines . . . . . . . . . . . . . . 71 Mark Davidson Get a GUI on it! . . . . . . . . . . . . 81
J. D. Hildebrand Editor's Notes Facts and fictions . . . 5 Thomas Atwood Applying the Object Paradigm to Databases . . . . . . . . . . . . . . . 36 Kent Williams Smart Searching with C++ . . . . . . . . 45 Terry Moriarty Planning an Application Architecture . . 59 John Gray Solving the Trackword Puzzle . . . . . . 71 Jonathan Kraidin Three-Dimensional Graphics in Turbo Pascal . . . . . . . . . . . . . . . . . 81 Scott Lewis vsDesigner Expert . . . . . . . . . . . 95 Dave Taylor Prolcon for the Mac . . . . . . . . . . 102
Larry O'Brien Editor's Notes Technology, utopia, stuff like that . . . . . . . . . . . . . . . 5 Adele Goldberg and Kenneth S. Rubin Taming Object-Oriented Technology . . . 34 Kevin Weeks Classy Graphics: Encapsulating the Borland Graphics Interface . . . . . . . 49 Meilir Page-Jones and Larry L. Constantine and Steven Weiss Modeling Object-Oriented Systems: The Uniform Object Notation . . . . . . . . 69 Dan Saks MS-DOS for C++ Compilers . . . . . . . . 91
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Brett Glass Flying Along the Migration Path . . . . 38 David K. Taylor and Alan Hecht Using CASE for Object-Oriented Design with C++ . . . . . . . . . . . . . . . . 49 William Eric Ives Command-Line Retriever for OS/2 . . . . 65 George Tylutki What Good is self? . . . . . . . . . . . 77 L. John Ribar OS/2 programming goes Modula-2 . . . . . 83 Dave Taylor Metrowerks Modula-2 PSE . . . . . . . . 91 Mark Davidson Choreographer v. 1.1 . . . . . . . . . . 99 Brad Andrews Aranda . . . . . . . . . . . . . . . . . 101
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Lawrence Philips Hanging on the Metaphone . . . . . . . . 38 Mike Morton Quibbles and Bits . . . . . . . . . . . 45 Eric Bergman-Terrell Date Management . . . . . . . . . . . . 57 Joe Celko Permutation Generation . . . . . . . . . 65 Gary Entsminger Zinc Interface Library . . . . . . . . . 73 Jim Kyle ECOMP Image Compression . . . . . . . . 78 R. Bradley Andrews MacApp . . . . . . . . . . . . . . . . . 85
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 David Bulman Refining Candidate Objects . . . . . . . 30 Anthony I. Wasserman and Peter A. Pircher Object-Oriented Structured Design and C++ . . . . . . . . . . . . . . . . . . 41 Richard Riehle Software Engineering\ldotsin COBOL? . . 55 Tim Parker A Case Trio . . . . . . . . . . . . . . 73 R. Bradley Andrews Installer programs for IBM PCs . . . . . 89 Warren Keuffel Popkin System Architect . . . . . . . . 92
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Bruce Eckel Taking Control to Task . . . . . . . . . 38 Michael Bisignani Multitasking in Modula-2 . . . . . . . . 53 Jerry Honeycutt Shake and make . . . . . . . . . . . . . 71 Gen Kiyooka Windows development tools . . . . . . . 87 T. Ochs A rotten foundation . . . . . . . . . . 103--107
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Anonymous EZ-Install v. 2.12 . . . . . . . . . . . 8f Lawrence Byrd PROLOG and Client/Server Information Systems . . . . . . . . . . . . . . . . 36 Eric Giguere Rexx: Not Just a Wonder Dog . . . . . . 45 Tyler Sperry A Few Words on Forth . . . . . . . . . . 55 Gen Kiyooka Windows development tools: Part 2 . . . 59 Gary Entsminger Actor 3.0 . . . . . . . . . . . . . . . 71 Jim Kyle Spontaneous Assembly . . . . . . . . . . 75 T. Ochs Son of rotten foundation: The sequel . . 85--91
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 J. Hildebrand In Praise of 1990's Best . . . . . . . . 38 Pete Becker Testing, Testing . . . . . . . . . . . . 59 Jeffrey Kahn Lotus Add-In Toolkit 3.1 . . . . . . . . 66 Louis Cutrona Microsoft Video Course . . . . . . . . . 70 Wes Hardell STSC APLsub *PLUS v. 1.0 . . . . . . . . 80
Michael Mullholland Editor's Notes . . . . . . . . . . . . . 5 Thomas Plum Building a Standard is Hard; Testing it is Just as Difficult . . . . . . . . . . 38 Martin Dufort Getting the Least Out of Your Data . . . 45 Tim Cooper Goto? Yes, goto! . . . . . . . . . . . . 63 Steven R. Martin Declarations Made Easy . . . . . . . . . 71 Larry O'Brien C, C, C, C . . . . . . . . . . . . . . . 81
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 P. J. Plauger Approximating functions . . . . . . . . 17--25 Jack W. Crenshaw A Perfect Marriage . . . . . . . . . . . 54 Robert S. Swanke The Art of Reverse Engineering . . . . . 57 Bob Edgar Shielded Code . . . . . . . . . . . . . 65 Michael Mullholland More than you ever wanted to know about code editors . . . . . . . . . . . . . . 75
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 P. J. Plauger Economizing polynomials . . . . . . . . 21--27 Robert Orfali and Dan Harkey Get GUI Fast! . . . . . . . . . . . . . 36 Avraham Farah Charming Dialogues . . . . . . . . . . . 43 Kelly McTiernan An End to the Mystery of Sorting . . . . 57 Alex Mendelsohn Plug `n' protect . . . . . . . . . . . . 75
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Rich Cohen and Warren Keuffel Pull Together! . . . . . . . . . . . . . 36 Steve Heller Making a Hash of Your Data . . . . . . . 47 Maurice Frank Software Project Management with PIMs 55 Hugh Brown Like a version . . . . . . . . . . . . . 59 David Veale Turbo Pascal for Windows . . . . . . . . 82 T. Ochs Numeric types, representations, and other fictions . . . . . . . . . . . . . 93--101
Larry O'Brien Turbo Vision for C++ and POET . . . . . 19 P. J. Plauger Washing the watchers . . . . . . . . . . 23--32 J. D. Hildebrand Menus, Mice, and Mom . . . . . . . . . . 42 Andre Lamothe Dither it! . . . . . . . . . . . . . . . 51 William J. Cannistra Cooking with Hungarian COBOL . . . . . . 61 Alan Zeichick How far is Berlin? . . . . . . . . . . . 69 R. Bradley Andrews Cosmetic surgery, Part I . . . . . . . . 75 Warren Keuffel Application generators . . . . . . . . . 85 James C. McKim Why I want to teach object-oriented programming and design . . . . . . . . . 133
Alan Zeichick Window Builder for Smalltalk/V Windows v. 1.0 . . . . . . . . . . . . . . . . . 19 Elgin Lee The Journey of a Thousand Miles . . . . 44 Reginald B. Charney You Gotta Have Style . . . . . . . . . . 57 Richard Riehle Generalized Methods in Object-based Languages . . . . . . . . . . . . . . . 67 Jon Hopkins A new class . . . . . . . . . . . . . . 79 Mark Davidson Cosmetic surgery, Part 2 . . . . . . . . 87 R. Bradley Andrews Macintosh generators face-off . . . . . 105 T. Ochs Numerics for the rest of us . . . . . . 113--127
Jim Mischel Dusting off COBOL . . . . . . . . . . . 40 William P. Hazard Using cpp to Aid Portability . . . . . . 49 John E. Swanke The Realities of Portable Software . . . 57 David Pariseau Documentation --- Hold the Shrink Wrap 69 Brett Glass Assembling the competition . . . . . . . 77 Jim Kyle Find the source . . . . . . . . . . . . 91
Gianfranco Boggia-Togna A Scratchpad for Truth-functional Logic 40 Scott Pakin Regular Expressions and Gender Guessing 59 Christophe Le Bret Robust String Matching . . . . . . . . . 71 David Veale Professional Pascal v. 2.8 . . . . . . . 97
Dave M. Bulman and Erin Kathleen Bulman Things, Objects, Entities, and Knowledge 44 Harvey Reed Object-oriented Design by Orthogonality 51 Jack Crenshaw It Ain't Over til it's Over . . . . . . 59 Warren Keuffel In CASE of UNIX . . . . . . . . . . . . 69 Tyler Sperry Four Forths . . . . . . . . . . . . . . 77 Jim Powell Stony Brook Pascal + v. 6.0 . . . . . . 85 T. Ochs This sine is also right! . . . . . . . . 89--93
Troy Nixdorf and Gen Kiyooka Substance and Style: GUI Design and Culture . . . . . . . . . . . . . . . . 42 Wasim E. Rajput Architecting OS/2 Presentation Manager Applications . . . . . . . . . . . . . . 61 Bruce Eckel Easy Error Reporting in C++ . . . . . . 77 Jim Kyle Debuggers . . . . . . . . . . . . . . . 91
Larry O'Brien Vital forces . . . . . . . . . . . . . . 5 Alan L. Zeichick Watcom Group Inc.'s FORTRAN 77/386 v. 8.5 . . . . . . . . . . . . . . . . . . 17 P. J. Plauger Remedial software engineering . . . . . 23 Warren Keuffel CASEing the entities . . . . . . . . . . 29 Joe Karbowski E is for Enterprise . . . . . . . . . . 42 Dave Cohen Realizing the Potential of SQL . . . . . 53 James Weller Basing Tomorrow's Strategies on Yesterday's Data . . . . . . . . . . . . 69 Larry O'Brien QuickNet v. 1.0 . . . . . . . . . . . . 79 James E. Powell Realizer v. 1.0 . . . . . . . . . . . . 81 Tom Ochs Balancing speed and accuracy . . . . . . 87 Karen Hooten Eleven ways to get laid off . . . . . . 105 Larry L. Constantine Decisions, decisions . . . . . . . . . . 112
Larry O'Brien Interactive Software Engineering Inc.'s Eiffel/S v. 1.0 . . . . . . . . . . . . 19 Warren Keuffel Close up: System Architect . . . . . . . 29 Larry O'Brien And the Winner is . . . . . . . . . . . 36 Steve Rabin Reengineering Opportunities . . . . . . 51 Bruce Schneier Sharing Secrets Among Friends . . . . . 57 Kevin Weeks Is Your Code Done Yet? . . . . . . . . . 63 Lou Cutrona Actor Professional v. 4.0 . . . . . . . 75 T. A. Elkins TopSpeed Pascal v. 3.02 . . . . . . . . 85
Larry O'Brien Microsoft Corp.'s C and C++ v. 7.0 . . . 19 Warren Keuffel Close up: Visible Analyst Workbench . . 35 Bruce Eckel Who's Minding the Store? Reference Counting in C++ . . . . . . . . . . . . 40 Dan Ford Abstract Data Types in C . . . . . . . . 59 Bill Turpin Bringing Expert Systems to the Desktop 71 Bonny V. Hinners King of C++ . . . . . . . . . . . . . . 77 Andrew Binstock Instant C v. 5.0a . . . . . . . . . . . 87 Dennis R. Cohen Think C v. 5.0.2 . . . . . . . . . . . . 88 Tom Ochs Is Lee Harvey Oswald writing NASA's software? . . . . . . . . . . . . . . . 93
Steve Heller From C to Shining C . . . . . . . . . . 38 Kenneth Dickey Scheme for Success . . . . . . . . . . . 47 John Rex Recursion Revisited . . . . . . . . . . 59 Steven Baker Stretching the limits: 32 bits or bust 73 David Veale CommonBase v. 1.2 . . . . . . . . . . . 97
Andrew Binstock Hello, World! . . . . . . . . . . . . . 19 Warren Keuffel Clean Your Room: Formal Methods in the '90s . . . . . . . . . . . . . . . . . . 38 Gary Sullo and Mike Williams Formal Where? . . . . . . . . . . . . . 51 Thomas Murphy When you need a bigger hammer . . . . . 67
Carl W. Reynolds Polygon Clipping: Creating a polygon-fill function . . . . . . . . . 36 Everett Carter The Evolution of a C++ programmer . . . 53 Thomas Murphy Graphics databases . . . . . . . . . . . 67 Bruce Schneier Doing it Randomly: Probabilistic Algorithms in Programming . . . . . . . 69
Anonymous Editor's Notes: The cooperative edge . . 5 Larry O'Brien Hello, World! . . . . . . . . . . . . . 17 P. J. Plauger Programming on Purpose . . . . . . . . . 25 Warren Keuffel Tools of the Trade . . . . . . . . . . . 31 Nigel Dyson- Hudson Taming the COBOL Maintenance Monster . . 40 Grady Booch The Booch Method: Notation, Part I . . . 47 Dave Shaver Code comprehension tools . . . . . . . . 81 Andrew Binstock COBOL returns . . . . . . . . . . . . . 97 Larry Constantine Peopleware . . . . . . . . . . . . . . . 120
Larry O'Brien Editor's Notes: Discovering the New World . . . . . . . . . . . . . . . . . 5 Thomas Murphy Hello, World! . . . . . . . . . . . . . 17 P. J. Plauger Programming on Purpose . . . . . . . . . 25 Warren Keuffel Tools of the Trade . . . . . . . . . . . 31 Grady Booch The Booch Method: Notation, Part II . . 36 Douglas J. Reilly Operator Overloading in C++ . . . . . . 57 Sean Leary and Desmond D'Souza Catch the Error: C++ Exception Handling 63 Thomas Murphy Math class libraries . . . . . . . . . . 79 Larry O'Brien Class libraries (tools) . . . . . . . . 83 Tom Ochs Building Blocks . . . . . . . . . . . . 89 Karen Hooten Programming by Profession . . . . . . . 105 Larry Constantine Peopleware . . . . . . . . . . . . . . . 112
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Thomas Murphy Hello, World! . . . . . . . . . . . . . 17 P. J. Plauger Programming on Purpose . . . . . . . . . 25 Warren Keuffel Tools of the Trade . . . . . . . . . . . 31 Jeff Fisher and Dale Gipson In Search of Elegance . . . . . . . . . 36 Bruce Schneier Fast Matrix Multiplies . . . . . . . . . 49 Ed Nkanta Object Exploratorium . . . . . . . . . . 55 Gene Callahan Using Objects to Simplify Changes . . . 63 Ken Knecht Basics for Windows . . . . . . . . . . . 71 Tom Ochs Building Blocks . . . . . . . . . . . . 83 Larry Constantine Peopleware . . . . . . . . . . . . . . . 104
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Thomas Murphy Hello, World! . . . . . . . . . . . . . 17 P. J. Plauger Programming on Purpose . . . . . . . . . 25 Warren Keuffel Tools of the Trade . . . . . . . . . . . 33 Oliver Sharp Perl: The Programmers's Toolbox . . . . 40 Bob Angell Awk --- Just Another Language? . . . . . 55 Larry O'Brien It's Only Logical . . . . . . . . . . . 61 John R. Levine Using lex and yacc . . . . . . . . . . . 67 J. D. Hildebrand Final Jeopardy . . . . . . . . . . . . . 73 Tom Ochs Building Blocks . . . . . . . . . . . . 83 Karen Hooten Programming by Profession . . . . . . . 93 Larry Constantine Peopleware . . . . . . . . . . . . . . . 112
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Thomas Murphy Hello, World! . . . . . . . . . . . . . 17 P. J. Plauger Programming on Purpose . . . . . . . . . 25 Warren Keuffel Tools of the Trade . . . . . . . . . . . 35 Larry O'Brien Issues of Programming . . . . . . . . . 44 Peter Katz and John Kornatowski and Mary Loomis and Anu Shukla and Larry O'Brien Debatable Data . . . . . . . . . . . . . 55 Gregor Koomey An Introduction to PostScript . . . . . 67 Silvio Levy Literate Programming and Cweb . . . . . 67--68, 70 Douglas Reilly Object-oriented databases . . . . . . . 73 Tom Bragg Uniface v. 5.2 . . . . . . . . . . . . . 86 Tom Ochs Building Blocks . . . . . . . . . . . . 105 Larry Constantine Peopleware . . . . . . . . . . . . . . . 112
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Thomas Murphy Hello, World! . . . . . . . . . . . . . 17 P. J. Plauger Programming on Purpose . . . . . . . . . 25 Warren Keuffel Tools of the Trade . . . . . . . . . . . 35 Peter G. Anderson Fast Rendering . . . . . . . . . . . . . 44 Carl W. Reynolds The Sutherland-Hodgman Polygon Clipping Algorithm . . . . . . . . . . . . . . . 51 Thomas Murphy Looking at the world through cheap sunglasses . . . . . . . . . . . . . . . 63 Karen Hooten Programming by Profession . . . . . . . 105 Larry Constantine Peopleware . . . . . . . . . . . . . . . 112
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Thomas Murphy Hello, World! . . . . . . . . . . . . . 17 P. J. Plauger Programming on Purpose . . . . . . . . . 25 Warren Keuffel Tools of the Trade . . . . . . . . . . . 31 Dan Abelow Wake up! You've Entered the Transition Zone . . . . . . . . . . . . . . . . . . 40 J. David Erickson Beyond Systems: Better Understanding the User's World . . . . . . . . . . . . . . 51 Steve Rabin ANSI 85: Understanding and Using the Latest COBOL Standard . . . . . . . . . 67 Mitchell White How to Copyright Software . . . . . . . 82 Tom Bragg Smelling like a rose . . . . . . . . . . 85 Bruce Buzbee Borland Pascal v. 7.0 . . . . . . . . . 93 Tom Ochs Building Blocks . . . . . . . . . . . . 99 Larry Constantine Peopleware . . . . . . . . . . . . . . . 120
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 5 Thomas Murphy Hello, World! . . . . . . . . . . . . . 17 P. J. Plauger Programming on Purpose . . . . . . . . . 25 Warren Keuffel and John Merk Tools of the Trade . . . . . . . . . . . 31 Thomas Murphy I'd Like to Thank the Academy . . . . . 36 James Walsh Determining Software Quality . . . . . . 57 Gary McGrath Fast Math and the Table . . . . . . . . 67 Richard Wagner Borland International's ObjectVision . . 81 Tom Ochs Building Blocks . . . . . . . . . . . . 89 Karen Hooten Programming by Profession . . . . . . . 105 Larry Constantine Peopleware . . . . . . . . . . . . . . . 112
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 7 Larry O'Brien Hello, World! . . . . . . . . . . . . . 19 P. J. Plauger Programming on Purpose . . . . . . . . . 25 Warren Keuffel and John Merk Tools of the Trade . . . . . . . . . . . 31 John Crawford A Chameleon Class in C++ . . . . . . . . 40 Alex Lane Optimizations in C . . . . . . . . . . . 53 Steve Baker Crunching Numbers--Blistering or Blithering . . . . . . . . . . . . . . . 64 Thomas Murphy Environments . . . . . . . . . . . . . . 79 Tom Plum Conformance and support for portable code . . . . . . . . . . . . . . . . . . 95 Larry Constantine Peopleware . . . . . . . . . . . . . . . 112
Larry O'Brien Editor's Notes . . . . . . . . . . . . . 7 Thomas Murphy Hello, World! . . . . . . . . . . . . . 19 P. J. Plauger Programming on Purpose . . . . . . . . . 25 Warren Keuffel and John Merk Tools of the Trade . . . . . . . . . . . 31 Meilir Page-Jones The CASE Manifesto . . . . . . . . . . . 38 Karl E. Wiegers Implementing Software Engineering In a Small Software Group . . . . . . . . . . 55 Karl Keppler Random Variables Made Simply . . . . . . 67 Tom Ochs Building Blocks . . . . . . . . . . . . 83 Karen Hooten Programming by Profession . . . . . . . 99 Larry Constantine Peopleware . . . . . . . . . . . . . . . 104