Books & Videos

Table of Contents

  1. Chapter 1 C++

    1. Design Decisions

    2. Using the Language

    3. OOP and Concurrency

    4. Future

    5. Teaching

  2. Chapter 2 Python

    1. The Pythonic Way

    2. The Good Programmer

    3. Multiple Pythons

    4. Expedients and Experience

  3. Chapter 3 APL

    1. Paper and Pencil

    2. Elementary Principles

    3. Parallelism

    4. Legacy

  4. Chapter 4 Forth

    1. The Forth Language and Language Design

    2. Hardware

    3. Application Design

  5. Chapter 5 BASIC

    1. The Goals Behind BASIC

    2. Compiler Design

    3. Language and Programming Practice

    4. Language Design

    5. Work Goals

  6. Chapter 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

  7. Chapter 7 Lua

    1. The Power of Scripting

    2. Experience

    3. Language Design

  8. Chapter 8 Haskell

    1. A Functional Team

    2. Trajectory of Functional Programming

    3. The Haskell Language

    4. Spreading (Functional) Education

    5. Formalism and Evolution

  9. Chapter 9 ML

    1. The Soundness of Theorems

    2. The Theory of Meaning

    3. Beyond Informatics

  10. Chapter 10 SQL

    1. A Seminal Paper

    2. The Language

    3. Feedback and Evolution

    4. XQuery and XML

  11. Chapter 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

  12. Chapter 12 Java

    1. Power or Simplicity

    2. A Matter of Taste

    3. Concurrency

    4. Designing a Language

    5. Feedback Loop

  13. Chapter 13 C#

    1. Language and Design

    2. Growing a Language

    3. C#

    4. The Future of Computer Science

  14. Chapter 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

  15. Chapter 15 Perl

    1. The Language of Revolutions

    2. Language

    3. Community

    4. Evolution and Revolution

  16. Chapter 16 PostScript

    1. Designed to Last

    2. Research and Education

    3. Interfaces to Longevity

    4. Standard Wishes

  17. Chapter 17 Eiffel

    1. An Inspired Afternoon

    2. Reusability and Genericity

    3. Proofreading Languages

    4. Managing Growth and Evolution

  1. Appendix ABOUT THE INTERVIEWERS

  2. Appendix Afterword

  3. Appendix Contributors

  4. COLOPHON