Andrew Koenig (programmer)
   HOME

TheInfoList



OR:

Andrew Richard Koenig (; born June 1952) is a former
AT&T AT&T Inc., an abbreviation for its predecessor's former name, the American Telephone and Telegraph Company, is an American multinational telecommunications holding company headquartered at Whitacre Tower in Downtown Dallas, Texas. It is the w ...
and
Bell Labs Nokia Bell Labs, commonly referred to as ''Bell Labs'', is an American industrial research and development company owned by Finnish technology company Nokia. With headquarters located in Murray Hill, New Jersey, Murray Hill, New Jersey, the compa ...
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 The Bronx High School of Science is a State school, public Specialized high schools in New York City, specialized high school in the Bronx in New York City. It is operated by the New York City Department of Education. Admission to Bronx Science ...
in 1968 and went on to receive a Bachelor of Science degree and a Master of Science degree from
Columbia University Columbia University in the City of New York, commonly referred to as Columbia University, is a Private university, private Ivy League research university in New York City. Established in 1754 as King's College on the grounds of Trinity Churc ...
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 Murray Hill is an unincorporated community located within portions of both Berkeley Heights and New Providence, located in Union County, in the northern portion of the U.S. state of New Jersey. It is the longtime central location of Bell ...
, 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 PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has b ...
. 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.Cf. Koenig
preface to "C Traps and Pitfalls"


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.


References


External links


Andrew Koenig on AcceleratedCpp.com

Some articles by Andrew Koenig
nbsp;—
Dr. Dobb's Journal ''Dr. Dobb's Journal'' (often shortened to ''Dr. Dobb's'' or DDJ) was a monthly magazine published in the United States by UBM Technology Group, part of UBM. It covered topics aimed at computer programmers. When launched in 1976, DDJ was the fi ...
{{DEFAULTSORT:Koenig, Andrew R. Living people American technology writers Columbia University alumni American computer programmers 1952 births The Bronx High School of Science alumni Date of birth missing (living people) Scientists from New York City