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.
- 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
- Abstraction and Performance Bugs
- When Is An Optimization More Than Just An Optimization?
- Practical Advantages of Immutable Values
- Sorting An Immutable List
- How Do You Decide On Intermediate States?
- Reversing an Immutable List
- Introduction to Programming with Lists
- A Simple, Immutable, Node-Based Data Structure