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.
- 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
- What Does It Mean To Change An Object?
- Containers That Never Change
- Programming Without Variables
- Theory Versus Practice: The Great Divide in Programming Languages
- Addresses and Nodes: Two Ways To Get Around
- Moving Data and Address Arithmetic
- An Important Move Optimization Is Nearly Invisible
- Some Optimizations Are More Important Than Others
- Why Would You Ever Pass a Container By Value?
- Is Moving Objects Worth the Hassle?
- Sometimes You Must Violate an Abstraction to Maintain It
- How the C++ Compiler Decides to Move Objects
- Moving an Object Does Not Destroy The Original
- Moving and Rvalue References
- More Thoughts About Moving Objects Safely