About Andrew Koenig
Born 1952. Andrew Koenig is an American programmer, essayist, computer scientist and scientist, known for Anti-pattern, C++ and Koenig lookup.
Andrew Richard Koenig (; born June 1952) is a former AT&T and Bell Labs researcher and programmer. He is the author of C Traps and Pitfalls and co-author (with Barbara Moo) of Accelerated C++ and Ruminations on C++, and his name is associated with argument-dependent name lookup, also known as "Koenig lookup", though he is not its inventor. He served as the Project Editor of the ISO/ANSI standards committee for C++, and has authored over 150 papers on C++.
Early life and career Koenig graduated from The Bronx High School of Science in 1968 and went on to receive a Bachelor of Science degree and a Master of Science degree from Columbia University in New York. He was a prominent member of the Columbia University Center for Computing Activities (CUCCA) in the late 1960s and 1970s. He wrote the first e-mail program used at the university.
In 1977, he joined the technical staff of Bell Labs in Murray Hill, New Jersey, from which he later retired.
The first book he authored, in 1987, C Traps and Pitfalls, had been motivated by his prior paper and work, mostly as a staff member at Columbia University, on a different computer language, PL/I. In 1977, as a recently hired staff member at Bell Labs, he presented a paper called "PL/I Traps and Pitfalls" at a SHARE meeting in Washington, D.C.
Selected bibliography
Books Koenig, Andrew, C Traps and Pitfalls, Reading, Mass.: Addison-Wesley, 1988, c1989. Koenig, Andrew; Moo, Barbara, Ruminations on C++, Addison-Wesley, 1997. Koenig, Andrew; Moo, Barbara, Accelerated C++, Addison-Wesley, 2000.
Papers
1999 Andrew Koenig, Barbara Moo: Teaching Standard C++, Part 2. Journal of Object Oriented Programming (JOOP) 11(8): 64-67 (1999) Andrew Koenig, Barbara Moo: Teaching Standard C++, Part 3. JOOP 11(9): 59-63 (1999)
1998 A Quiet Revolution. JOOP 10(8): 10β13, 16 (1998) Report from Morristown. JOOP 10(9): 5-8 (1998) A Programming Revolution in Languages Founded on Object Logic. JOOP 11(1): 13-16 (1998) Is Abstraction Good? JOOP 11(2): 66-69 (1998) Simulating Dynamic Types in C++, Part 1. JOOP 11(3): 76β78, 80 (1998) Simulating Dynamic Types in C++, Part 2. JOOP 11(4): 63-67 (1998) Why Are Vectors Efficient? JOOP 11(5): 71-75 (1998) A Standard C++ Appetizer. JOOP 11(6): 85-87 (1998) Andrew Koenig, Barbara Moo: Teaching Standard C++. JOOP 11(7): 11-17 (1998)
1997 C++ in the Classroom: A Look Forward. JOOP 10(1): 59-61 (1997) Turning an Interface Inside out. JOOP 10(2): 56-58 (1997) Which Container Should we Teach First? JOOP 10(3): 10-12 (1997) A ++decade of C++. JOOP 10(4): 20β23, 34 (1997) Inheritance and Abbreviations. JOOP 10(5): 6β9, 21 (1997) Report from London. JOOP 10(6): 11-16 (1997) Compile-Time Type Computation. JOOP 10(7): 11-14 (1997) The Importance β and Hazards β of Performance Measurement. JOOP 9(8): 58-60 (1997) Iterator Iterators and Temporal Sequences. JOOP 9(9): 66β67, 71 (1997)
1996 Idiomatic Design β invited talk for ACM OOPSLA '95; published in Post-conference Proceedings and reprinted in abridged form in CACM Vol. 39, No. 11, November, 1996. Function Adaptors. JOOP 8(8): 51-53 (1996) Compatibility vs. Progress. JOOP 8(9): 48-50 (1996) Generic Input Iterators. JOOP 9(1): 72-75 (1996) Memory Allocation and C Compatibility. JOOP 9(2): 42β43, 54 (1996) C++ as a First Language. JOOP 9(3): 47-49 (1996) Design, Behavior, and Expectation. JOOP 9(4): 79-81 (1996) Interface and Initiative. JOOP 9(5): 64-67 (1996) Arithmetic Sequence Iterators. JOOP 9(6): 38β39, 92 (1996) Collection in C++: No Panacea, but Useful. JOOP 9(7): 55-57 (1996)
1995 Introduction to Iterator Adaptors. JOOP 7(8): 66-68 (1995) Polymorphic Reflections. JOOP 7(9): 65β67, 80 (1995) Patterns and Antipatterns. JOOP 8(1): 46-48 (1995) Is Programming Like Photography? JOOP 8(2): 73-75 (1995) Wrapping up the Standard. JOOP 8(3): 60-62 (1995) An Example of Language-Sensitive Design. JOOP 8(4): 56β58, 61 (1995) Function Objects, Templates, and Inheritance. JOOP 8(5): 65β68, 84 (1995) Variations on a Handle Theme. JOOP 8(6): 77-80 (1995) Another Handle Variation. JOOP 8(7): 61-63 (1995) Idiomatic design. OOPS Messenger 6(4): 14-19 (1995) Andrew Koenig, Bjarne Stroustrup: Foundations for Native C++ Styles Softw., Pract. Exper. 25(S4): S4/45-S4/86 (1995)
1994 An anecdote about ML type inference, USENIX Very High Level Languages Symposium, October 1994, Santa Fe When to Write Buggy Programs. JOOP 7(1): 80-82 (1994) Libraries in Everyday Use. JOOP 7(2): 68β72, 80 (1994) Templates and Generic Algorithms. JOOP 7(3): 45-47 (1994) Surrogate Classes in C++. JOOP 7(4): 71β72, 80 (1994) Generic Iterators. JOOP 7(5): 69-72 (1994) Thoughts on Abstraction. JOOP 7(6): 68-70 (1994)
1992 Space-Efficient Trees in C++. C++ Conference 1992: 117-130
1991 Andrew Koenig, Thomas A. Cargill, Keith E. Gorlen, Robert B. Murray, Michael Vilot: How Useful is Multiple Inheritance in C++? C++ Conference 1991: 81-84
1990 Andrew Koenig, Bjarne Stroustrup: Exception Handling for C++. C++ Conference 1990: 149-176
1988 Associative arrays in C++, Summer 1988 Usenix Conference (pp. 173β186), San Francisco
1986 The Snocone Programming Language, Bell Labs Computing Science Technical Report #124, August 19, 1986
1984 Automatic Software Distribution, Summer 1984 Usenix Conference (pp. 87β106), Portland, Oregon
1977 "PL/I Traps and Pitfalls", presented at the SHARE conference, 1977.
Donβt just read it β
keep it.
Full-length biographies made to live with: read them, listen on the way to work, watch them tonight.
- E-book
- Audio
- Video
Instant download Β· yours to keep Β· every purchase keeps this site free
Important facts
Family & relationships
People in Andrew Koenig's life
Named in this biography and alive at the same time
Contemporaries
People whose lives overlapped Andrew Koenig's
Frequently asked questions
Who is Andrew Koenig?
American computer programmer
When was Andrew Koenig born?
Andrew Koenig was born on 1 June 1952 in New York City.
What is Andrew Koenig's occupation?
Andrew Koenig is a programmer, essayist, computer scientist and scientist.
What is Andrew Koenig known for?
Andrew Koenig is known for Anti-pattern, C++ and Koenig lookup.
What nationality is Andrew Koenig?
Andrew Koenig is American.
Sources & further reading
Β· DBpedia: Andrew Koenig (programmer)
Cite this page
APA: Biography.guide. (2026). Andrew Koenig. https://biography.guide/andrew-koenig-programmer/
MLA: "Andrew Koenig." Biography.guide, https://biography.guide/andrew-koenig-programmer/.
Chicago: "Andrew Koenig." Biography.guide. https://biography.guide/andrew-koenig-programmer/.
Data last updated: 2026-09-22 Β· Spot an error? Report a correction.
Page generated 2026-09-27 05:11 UTC