| Computer Scientist|
Barbara E. Moo
| June 1952New York, New York, U.S.|
Computer Science, C++, computer programming, author; the "Koenig Lookup"
C Traps and Pitfalls (1988)
Ruminations on C++ (1997)
Accelerated C++ (2000)
Accelerated C++: Practical, C Traps and Pitfalls, Ruminations on C++: A Decade o, Ruminations on C++: Reflectio
Andrew Koenig (programmer) Wikipedia
Andrew Richard Koenig ( [ˈkøːnɪç]; born June 1952) is a former AT&T and Bell Labs researcher and programmer. He is the author of C Traps and Pitfalls, 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". He served as the Project Editor of the ISO/ANSI standards committee for C++, has authored over 150 papers on C++, and is listed as inventor on four patents. He is also a member of both American Mensa and Triple Nine Society.
Koenig was born in New York City, and is the son of the physicist, Dr. Seymour H. Koenig, a former director of the IBM Watson Laboratory, and Harriet Koenig, an author and collector of Native American Indian art.
He 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.User Authentication System Employing Encryption Functions, #4,590,470. "Combines public-key random challenge-response authentication with hiding the authentication algorithm in a device that makes available only the algorithm's inputs and outputs. That secures the session against eavesdropping and replay and requires no secret information on the host."
Storing trees in navigable form, #5,530,957. "A technique for storing trees (such as representations of source programs in a programming environment) that completely eliminates space overhead normally associated with storing pointers, while still permitting common navigational operations with reasonable time efficiency."
Method and apparatus for parsing source code using prefix analysis, #5,812,853, "A technique for speeding up preliminary processing, such as macro preprocessing, in a compiler by remembering useful prefix strings of the input program in a tree-like data structure and keying those strings to remembered states of the compiler."
Method and apparatus for paging alternate users, #6,057,782, "The idea of allowing paging systems that support acknowledgments to reorder their list of destinations for future pages based on the acknowledgment or lack thereof on previous pages."