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.
- 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?
- A Problem So Simple That It Took Decades To Solve
- When the Simplest Case Is One Of The Hardest To Get Right
- More Accurate + Faster = Better, Right?
- The Temptation For Implementations To Cut Corners
- Accurate Floating-Point Input: Several Contexts, One Behavior
- Floating-Point Input and Output Are Not Symmetric
- Why Is Exact Floating-Point Output So Hard?
- Even Simple Floating-Point Output Is Complicated
- Why Language Designers Tolerate Undefined Behavior
- Social Processes and the Design of Programming Languages
- Testing Is Not Verification and Vice Versa
- Not All Bugs Are Random
- Testing Behavior, Not Just Results
- How Can One Test a Program's Average Performance?
- Performance Bugs: Not Just Hard To Detect, But Hard To Define
- Performance Bugs Can Be Hard to Detect