Andrew Koenig's Bio
Andrew Koenig's career in computing ranges from teaching programming classes at Lowell Observatory to writing the first portable implementation of printf . Andrew was a founding member of the C++ standards committee. He is the author or coauthor of three books and more than 160 magazine articles.
- Loop Invariants Abbreviate Induction Proofs
- Mathematical Induction Makes Extrapolation Accurate
- Sanity Checking By Extrapolation
- Why Testing Isn't Enough
- Why Is Software So Hard To Develop?
- A Second Try at Refactoring Dijkstra's Example
- Dijkstra's Example Simplified By Off-The-End Values: First Try
- A Classic Example That Off-The-End Iterators Can Simplify
- How To Use Reverse Iterators Without Getting Confused
- How C++ Reverse Iterators Represent Boundaries
- How To Represent Boundaries With Pointers
- Representing Ranges With Element Pointers
- How to Represent Ranges Symmetrically
- Off-The-End Pointers And While Statements
- If Off-The-End Pointers Are Useful, Why Not Off-The-Beginning Pointers?
- Still More Ado About Nothing: How Off-The-End Pointers Should Behave
- Much Ado About Nothing: Why Off-The-End Pointers Are Necessary
- Pointer Arithmetic: A Major (Dis)advantage of C and C++
- How C Makes It Hard To Check Array Bounds
- Social Processes And Heartbleed, Part 2
- Social Processes and Heartbleed, Part 1
- How Overloading Interacts With C Compatibility
- The Nightmare of Binary Compatibility
- The Mixed Blessings of Compatibility
- Why Do Even Trivial Improvements Take So Long To Adopt?