Masterminds of Programming

Book description

Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. In this unique collection, you'll learn about the processes that led to specific design decisions, including the goals they had in mind, the trade-offs they had to make, and how their experiences have left an impact on programming today. Masterminds of Programming includes individual interviews with:

  • Adin D. Falkoff: APL
  • Thomas E. Kurtz: BASIC
  • Charles H. Moore: FORTH
  • Robin Milner: ML
  • Donald D. Chamberlin: SQL
  • Alfred Aho, Peter Weinberger, and Brian Kernighan: AWK
  • Charles Geschke and John Warnock: PostScript
  • Bjarne Stroustrup: C++
  • Bertrand Meyer: Eiffel
  • Brad Cox and Tom Love: Objective-C
  • Larry Wall: Perl
  • Simon Peyton Jones, Paul Hudak, Philip Wadler, and John Hughes: Haskell
  • Guido van Rossum: Python
  • Luiz Henrique de Figueiredo and Roberto Ierusalimschy: Lua
  • James Gosling: Java
  • Grady Booch, Ivar Jacobson, and James Rumbaugh: UML
  • Anders Hejlsberg: Delphi inventor and lead developer of C#

If you're interested in the people whose vision and hard work helped shape the computer industry, you'll find Masterminds of Programming fascinating.

Publisher resources

View/Submit Errata

Table of contents

  1. Masterminds of Programming
  2. Foreword
  3. Preface
    1. Organization of the Material
    2. Conventions Used in This Book
    3. How to Contact Us
    4. Safari® Books Online
  4. 1. C++
    1. Design Decisions
    2. Using the Language
    3. OOP and Concurrency
    4. Future
    5. Teaching
  5. 2. Python
    1. The Pythonic Way
    2. The Good Programmer
    3. Multiple Pythons
    4. Expedients and Experience
  6. 3. APL
    1. Paper and Pencil
    2. Elementary Principles
    3. Parallelism
    4. Legacy
  7. 4. Forth
    1. The Forth Language and Language Design
    2. Hardware
    3. Application Design
  8. 5. BASIC
    1. The Goals Behind BASIC
    2. Compiler Design
    3. Language and Programming Practice
    4. Language Design
    5. Work Goals
  9. 6. AWK
    1. The Life of Algorithms
    2. Language Design
    3. Unix and Its Culture
    4. The Role of Documentation
    5. Computer Science
    6. Breeding Little Languages
    7. Designing a New Language
    8. Legacy Culture
    9. Transformative Technologies
    10. Bits That Change the Universe
    11. Theory and Practice
    12. Waiting for a Breakthrough
    13. Programming by Example
  10. 7. Lua
    1. The Power of Scripting
    2. Experience
    3. Language Design
  11. 8. Haskell
    1. A Functional Team
    2. Trajectory of Functional Programming
    3. The Haskell Language
    4. Spreading (Functional) Education
    5. Formalism and Evolution
  12. 9. ML
    1. The Soundness of Theorems
    2. The Theory of Meaning
    3. Beyond Informatics
  13. 10. SQL
    1. A Seminal Paper
    2. The Language
    3. Feedback and Evolution
    4. XQuery and XML
  14. 11. Objective-C
    1. Engineering Objective-C
    2. Growing a Language
    3. Education and Training
    4. Project Management and Legacy Software
    5. Objective-C and Other Languages
    6. Components, Sand, and Bricks
    7. Quality As an Economic Phenomenon
    8. Education
  15. 12. Java
    1. Power or Simplicity
    2. A Matter of Taste
    3. Concurrency
    4. Designing a Language
    5. Feedback Loop
  16. 13. C#
    1. Language and Design
    2. Growing a Language
    3. C#
    4. The Future of Computer Science
  17. 14. UML
    1. Learning and Teaching
    2. The Role of the People
    3. UML
    4. Knowledge
    5. Be Ready for Change
    6. Using UML
    7. Layers and Languages
    8. A Bit of Reusability
    9. Symmetric Relationships
    10. UML
    11. Language Design
    12. Training Developers
    13. Creativity, Refinement, and Patterns
  18. 15. Perl
    1. The Language of Revolutions
    2. Language
    3. Community
    4. Evolution and Revolution
  19. 16. PostScript
    1. Designed to Last
    2. Research and Education
    3. Interfaces to Longevity
    4. Standard Wishes
  20. 17. Eiffel
    1. An Inspired Afternoon
    2. Reusability and Genericity
    3. Proofreading Languages
    4. Managing Growth and Evolution
  21. A. ABOUT THE INTERVIEWERS
  22. B. Afterword
  23. C. Contributors
  24. Index
  25. About the Authors
  26. COLOPHON
  27. Copyright

Product information

  • Title: Masterminds of Programming
  • Author(s): Federico Biancuzzi, Chromatic
  • Release date: March 2009
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9780596555504