Andrew Richard Koenig ( IPA: [ ˈkøːnɪç ] ; nacido en junio de 1952) es un exinvestigador y programador de AT&T y Bell Labs . [ 1 ] Es autor de C Traps and Pitfalls y coautor (con Barbara Moo ) de Accelerated C++ y Ruminations on C++ , y su nombre está asociado con la búsqueda de nombres dependiente de argumentos , también conocida como "búsqueda de Koenig", [ 2 ] aunque no es su inventor. [ 3 ] Fue editor de proyectos del comité de estándares ISO/ANSI para C++, [ 4 ] y ha escrito más de 150 artículos sobre C++ .
Primeros años de vida y carrera profesional
Koenig se graduó de la Bronx High School of Science en 1968 [ 5 ] y posteriormente obtuvo una licenciatura y una maestría en ciencias de la Universidad de Columbia en Nueva York. Fue un miembro destacado del Centro de Actividades Informáticas de la Universidad de Columbia (CUCCA) a finales de la década de 1960 y durante la década de 1970. Escribió el primer programa de correo electrónico utilizado en la universidad. [ 6 ]
En 1977, se unió al personal técnico de Bell Labs en Murray Hill, Nueva Jersey , de donde posteriormente se jubiló.
El primer libro que escribió, en 1987, C Traps and Pitfalls , estuvo motivado por su artículo y trabajo anterior, principalmente como miembro del personal de la Universidad de Columbia, sobre un lenguaje de programación diferente, PL/I . En 1977, como miembro del personal recién contratado en Bell Labs, presentó un artículo llamado "PL/I Traps and Pitfalls" en una reunión de SHARE en Washington, DC [ 7 ].
Bibliografía seleccionada
Libros
- Koenig, Andrew, C. Trampas y escollos , Reading, Mass.: Addison-Wesley, 1988, c1989. ISBN 0-201-17928-8
- Koenig, Andrew; Moo, Barbara, Reflexiones sobre C++ , Addison-Wesley, 1997. ISBN 0-201-42339-1
- Koenig, Andrew; Moo, Barbara, Accelerated C++ , Addison-Wesley, 2000. ISBN 0-201-70353-X
Papeles
1999
- Andrew Koenig, Barbara Moo: Enseñanza de C++ estándar, Parte 2. Journal of Object Oriented Programming (JOOP) 11(8): 64-67 (1999)
- Andrew Koenig, Barbara Moo: Enseñanza de C++ estándar, Parte 3. JOOP 11(9): 59-63 (1999)
1998
- Una revolución silenciosa. JOOP 10(8): 10–13, 16 (1998)
- Informe desde Morristown. JOOP 10(9): 5-8 (1998)
- Una revolución en la programación de lenguajes basados en la lógica de objetos. JOOP 11(1): 13-16 (1998)
- ¿Es buena la abstracción? JOOP 11(2): 66-69 (1998)
- Simulación de tipos dinámicos en C++, Parte 1. JOOP 11(3): 76–78, 80 (1998)
- Simulación de tipos dinámicos en C++, Parte 2. JOOP 11(4): 63-67 (1998)
- ¿Por qué son eficientes los vectores? JOOP 11(5): 71-75 (1998)
- Un ejemplo básico de C++. JOOP 11(6): 85-87 (1998)
- Andrew Koenig, Barbara Moo: Enseñanza de C++ estándar. JOOP 11(7): 11-17 (1998)
1997
- C++ en el aula: Una mirada al futuro. JOOP 10(1): 59-61 (1997)
- Dándole la vuelta a una interfaz. JOOP 10(2): 56-58 (1997)
- ¿Qué recipiente deberíamos enseñar primero? JOOP 10(3): 10-12 (1997)
- Una década de C++. JOOP 10(4): 20–23, 34 (1997)
- Herencia y abreviaturas. JOOP 10(5): 6–9, 21 (1997)
- Informe desde Londres. JOOP 10(6): 11-16 (1997)
- Cálculo de tipos en tiempo de compilación. JOOP 10(7): 11-14 (1997)
- La importancia —y los riesgos— de la medición del desempeño. JOOP 9(8): 58-60 (1997)
- Iteradores y secuencias temporales. JOOP 9(9): 66–67, 71 (1997)
1996
- Diseño idiomático : ponencia invitada para ACM OOPSLA '95; publicada en las Actas posteriores a la conferencia y reimpresa en forma abreviada en CACM Vol. 39, No. 11, noviembre de 1996.
- Adaptadores de funciones. JOOP 8(8): 51-53 (1996)
- Compatibilidad vs. Progreso. JOOP 8(9): 48-50 (1996)
- Iteradores de entrada genéricos. JOOP 9(1): 72-75 (1996)
- Asignación de memoria y compatibilidad con C. JOOP 9(2): 42–43, 54 (1996)
- C++ como primer lenguaje. JOOP 9(3): 47-49 (1996)
- Diseño, comportamiento y expectativas. JOOP 9(4): 79-81 (1996)
- Interfaz e iniciativa. JOOP 9(5): 64-67 (1996)
- Iteradores de secuencias aritméticas. JOOP 9(6): 38–39, 92 (1996)
- Colecciones en C++: No es la panacea, pero resulta útil. JOOP 9(7): 55-57 (1996)
1995
- Introducción a los adaptadores iteradores. JOOP 7(8): 66-68 (1995)
- Reflexiones polimórficas. JOOP 7(9): 65–67, 80 (1995)
- Patrones y antipatrones. JOOP 8(1): 46-48 (1995)
- ¿Es la programación como la fotografía? JOOP 8(2): 73-75 (1995)
- Conclusiones sobre el estándar. JOOP 8(3): 60-62 (1995)
- Un ejemplo de diseño sensible al lenguaje. JOOP 8(4): 56–58, 61 (1995)
- Objetos de función, plantillas y herencia. JOOP 8(5): 65–68, 84 (1995)
- Variaciones sobre un tema de asas. JOOP 8(6): 77-80 (1995)
- Otra variación del mango. JOOP 8(7): 61-63 (1995)
- Diseño idiomático. OOPS Messenger 6(4): 14-19 (1995)
- Andrew Koenig, Bjarne Stroustrup: Fundamentos para estilos nativos de C++ Softw., Pract. Exper. 25(S4): S4/45-S4/86 (1995)
1994
- Una anécdota sobre la inferencia de tipos ML, Simposio USENIX sobre lenguajes de muy alto nivel, octubre de 1994, Santa Fe.
- Cuándo escribir programas con errores. JOOP 7(1): 80-82 (1994)
- Bibliotecas en el uso cotidiano. JOOP 7(2): 68–72, 80 (1994)
- Plantillas y algoritmos genéricos. JOOP 7(3): 45-47 (1994)
- Clases sustitutas en C++. JOOP 7(4): 71–72, 80 (1994)
- Iteradores genéricos. JOOP 7(5): 69-72 (1994)
- Reflexiones sobre la abstracción. JOOP 7(6): 68-70 (1994)
1992
- Árboles de espacio eficientes en C++. Conferencia de C++ de 1992: 117-130
1991
- Andrew Koenig, Thomas A. Cargill, Keith E. Gorlen, Robert B. Murray, Michael Vilot: ¿Qué tan útil es la herencia múltiple en C++? Conferencia de C++ 1991: 81-84
1990
- Andrew Koenig, Bjarne Stroustrup: Manejo de excepciones para C++. Conferencia C ++ 1990: 149-176
1988
- Matrices asociativas en C++, Conferencia Usenix de verano de 1988 (págs. 173-186), San Francisco
1986
- El lenguaje de programación Snocone , Informe técnico n.° 124 de Ciencias de la Computación de Bell Labs, 19 de agosto de 1986.
1984
- Distribución automática de software, [ 8 ] Conferencia Usenix de verano de 1984 (págs. 87-106), Portland, Oregón
1977
- "Trampas y escollos de PL/I", presentado en la conferencia SHARE , 1977.
Referencias
- ↑ Nair, RB (2013) 'ANDREW R KOENIG | LBS kuttipedia'. https://lbsitbytes2010.wordpress.com/2013/04/07/andrew-r-koenig/
- ↑ Sutter, Herb (marzo de 1998). "¿Qué hay en una clase? — El principio de interfaz" . C++ Report . Consultado el 21 de febrero de 2010 .
- ↑ "Una nota personal sobre la búsqueda dependiente de argumentos" . 3 de mayo de 2012. Archivado del original el 17 de marzo de 2018. Consultado el 7 de febrero de 2014 .
- ↑ Sutter, Herb (22 de octubre de 2000). "Actas de la reunión del Grupo de Trabajo 21 de la ISO, 22 de octubre de 2000" (PDF) . Grupo de Trabajo 21 de la ISO . Consultado el 21 de febrero de 2010 .
- ↑ "Alumnos destacados" , sitio web de la Bronx High School of Science
- ↑ da Cruz, Frank (6 de febrero de 2010). "Historia de la informática en la Universidad de Columbia" . Tecnología de la información de la Universidad de Columbia. Archivado del original el 11 de marzo de 2010. Recuperado el 21 de febrero de 2010 .
- ↑ Cf. Koenig, prefacio de "C Trampas y escollos" .
- ↑ McIlroy, MD (1987). Un lector de Research Unix: extractos anotados del Manual del programador, 1971–1986 (PDF) (Informe técnico). CSTR. Bell Labs. 139.
Enlaces externos
- Andrew Koenig en AcceleratedCpp.com
- Algunos artículos de Andrew Koenig — Revista del Dr. Dobb
- Personas vivas
- escritores estadounidenses de tecnología
- ex alumnos de la Universidad de Columbia
- programadores informáticos estadounidenses
- Nacimientos de 1952
- Los ex alumnos de la Bronx High School of Science
- Científicos de la ciudad de Nueva York