Эндрю Кениг (программист) - Andrew Koenig (programmer)
Эндрю Р. Кениг | |
---|---|
Родившийся | Июнь 1952 г. Нью-Йорк, НАС. | (возраст68)
Национальность | Американец |
Альма-матер | Колумбийский университет (Бакалавр математики; Магистр компьютерных наук, 1977) |
Род занятий | Специалист в области информатики |
Известен | C ++, программирование, написание "Поиск по Кенигу ", "антипаттерн " |
Известная работа | C Ловушки и подводные камни (1988) Размышления о C ++ (1997) Ускоренный C ++ (2000) |
Супруг (а) | Барбара Э. Му |
Родители) | Сеймур Х. Кениг Харриет Кениг [1] |
Интернет сайт | www |
Эндрю Ричард Кениг (IPA: [ˈKøːnɪç]; родился в июне 1952 г.) AT&T и Bell Labs исследователь и программист.[2] Он автор C Ловушки и подводные камни и соавтор (с Барбара Му ) из Ускоренный C ++ и Размышления о C ++, а его имя связано с поиск имени в зависимости от аргумента, также известный как «поиск по Кенигу».[3] Он работал редактором проекта комитета стандартов ISO / ANSI для C ++,[4] автор более 150 работ по C ++, и внесен в список изобретателей по четырем патентам.[5]
Ранняя жизнь и карьера
Кениг родился в Нью-Йорк и является сыном физика доктора Сеймура Х. Кенига,[6] бывший директор Лаборатория IBM Watson и Харриет Кениг, автор и коллекционер произведений искусства американских индейцев.[7]
Он окончил Высшая школа науки Бронкса в 1968 г. [8] и получил степень бакалавра наук и степень магистра наук от Колумбийский университет в Нью-Йорке. Он был видным членом Центра вычислительной деятельности Колумбийского университета (CUCCA) в конце 1960-х и 1970-х годах. Он написал первую программу электронной почты, используемую в университете.[9]
В 1977 году он присоединился к техническому персоналу Bell Labs в Мюррей Хилл, Нью-Джерси, из которой он позже ушел на пенсию.
Первая книга, которую он написал в 1987 году, C Ловушки и подводные камни, был мотивирован его предыдущей бумагой и работой, в основном в качестве сотрудника Колумбийского университета, на другом компьютерном языке, PL / I. В 1977 году, будучи недавно нанятым сотрудником Bell Labs, он представил доклад под названием «Ловушки и ловушки PL / I» на ПОДЕЛИТЬСЯ встреча в Вашингтоне, округ Колумбия[10]
Патенты
- Система аутентификации пользователей, использующая функции шифрования, №4 590 470. «Сочетает в себе случайную аутентификацию с открытым ключом« вызов-ответ »с сокрытием алгоритма аутентификации в устройстве, которое делает доступными только входы и выходы алгоритма. Это защищает сеанс от перехвата и воспроизведения и не требует секретной информации на хосте».
- Хранение деревьев в судоходном виде, № 5 530 957. «Метод хранения деревьев (например, представлений исходных программ в среде программирования), который полностью устраняет накладные расходы на пространство, обычно связанные с хранением указателей, но при этом разрешает общие операции навигации с разумной эффективностью по времени».
- Метод и устройство для синтаксического анализа исходного кода с использованием префиксного анализа, № 5,812,853, «Методика ускорения предварительной обработки, такой как предварительная обработка макросов, в компиляторе путем запоминания полезных строк префикса входной программы в древовидной структуре данных и их ввода с помощью ключей. строки в запоминаемые состояния компилятора ".
- Способ и устройство для пейджинга альтернативных пользователей, № 6,057,782, «Идея разрешить системам пейджинга, которые поддерживают подтверждения, переупорядочивать их список адресатов для будущих страниц на основе подтверждения или отсутствия такового на предыдущих страницах».
Избранная библиография
Книги
- Кениг, Эндрю, C Ловушки и подводные камни, Ридинг, Массачусетс: Аддисон-Уэсли, 1988, c1989. ISBN 0-201-17928-8
- Кениг, Эндрю; Му, Барбара, Размышления о C ++, Аддисон-Уэсли, 1997. ISBN 0-201-42339-1
- Кениг, Эндрю; Му, Барбара, Ускоренный C ++, Аддисон-Уэсли, 2000.ISBN 0-201-70353-X
Статьи
1999
- Эндрю Кениг, Барбара Му: обучение стандартному C ++, часть 2. Журнал объектно-ориентированного программирования (JOOP) 11 (8): 64-67 (1999)
- Эндрю Кениг, Барбара Му: Обучение стандартному C ++, часть 3. JOOP 11 (9): 59-63 (1999)
1998
- Тихая революция. JOOP 10 (8): 10–13, 16 (1998)
- Репортаж из Морристауна. JOOP 10 (9): 5-8 (1998)
- Революция программирования в языках, основанных на объектной логике. JOOP 11 (1): 13-16 (1998)
- Абстракция - это хорошо? JOOP 11 (2): 66-69 (1998).
- Моделирование динамических типов в C ++, часть 1. JOOP 11 (3): 76–78, 80 (1998)
- Моделирование динамических типов в C ++, часть 2. JOOP 11 (4): 63-67 (1998)
- Почему векторы эффективны? JOOP 11 (5): 71-75 (1998).
- Стандартная закуска C ++. JOOP 11 (6): 85-87 (1998).
- Эндрю Кениг, Барбара Му: преподавание стандартного C ++. JOOP 11 (7): 11-17 (1998)
1997
- C ++ в классе: взгляд в будущее. JOOP 10 (1): 59-61 (1997).
- Вывернув интерфейс наизнанку. JOOP 10 (2): 56-58 (1997)
- Какому контейнеру мы должны учить в первую очередь? JOOP 10 (3): 10-12 (1997)
- А ++ десятилетие C ++. JOOP 10 (4): 20–23, 34 (1997)
- Наследование и сокращения. JOOP 10 (5): 6–9, 21 (1997)
- Репортаж из Лондона. JOOP 10 (6): 11-16 (1997)
- Вычисление типа во время компиляции. JOOP 10 (7): 11-14 (1997)
- Важность - и опасности - измерения эффективности. JOOP 9 (8): 58-60 (1997).
- Итераторы Итераторы и временные последовательности. JOOP 9 (9): 66–67, 71 (1997).
1996
- Идиоматический дизайн - приглашенный доклад на ACM OOPSLA '95; опубликовано в материалах после конференции и переиздано в сокращенной форме в CACM Vol. 39, No. 11, ноябрь 1996 г.
- Функциональные адаптеры. JOOP 8 (8): 51-53 (1996).
- Совместимость против прогресса. JOOP 8 (9): 48-50 (1996).
- Общие итераторы ввода. JOOP 9 (1): 72-75 (1996).
- Распределение памяти и совместимость с C. JOOP 9 (2): 42–43, 54 (1996).
- C ++ как первый язык. JOOP 9 (3): 47-49 (1996).
- Дизайн, поведение и ожидания. JOOP 9 (4): 79-81 (1996).
- Интерфейс и инициатива. JOOP 9 (5): 64-67 (1996).
- Итераторы арифметической последовательности. JOOP 9 (6): 38–39, 92 (1996).
- Сборник на C ++: нет панацеи, но полезно. JOOP 9 (7): 55-57 (1996).
1995
- Введение в адаптеры итераторов. JOOP 7 (8): 66-68 (1995).
- Полиморфные отражения. JOOP 7 (9): 65–67, 80 (1995).
- Паттерны и антипаттерны. JOOP 8 (1): 46-48 (1995).
- Программирование похоже на фотографию? JOOP 8 (2): 73-75 (1995).
- Завершение стандарта. JOOP 8 (3): 60-62 (1995).
- Пример дизайна с учетом языка. JOOP 8 (4): 56–58, 61 (1995).
- Функциональные объекты, шаблоны и наследование. JOOP 8 (5): 65–68, 84 (1995).
- Вариации на тему ручки. JOOP 8 (6): 77-80 (1995).
- Другой вариант ручки. JOOP 8 (7): 61-63 (1995).
- Идиоматический дизайн. Посланник OOPS 6 (4): 14-19 (1995)
- Эндрю Кениг, Бьярн Страуструп: основы программного обеспечения для нативных стилей C ++, Практик. Exper. 25 (S4): S4 / 45-S4 / 86 (1995)
1994
- Анекдот о выводе типов машинного обучения, Симпозиум USENIX по языкам очень высокого уровня, октябрь 1994 г., Санта-Фе
- Когда писать программы с ошибками. JOOP 7 (1): 80-82 (1994).
- Библиотеки в повседневном использовании. JOOP 7 (2): 68–72, 80 (1994).
- Шаблоны и общие алгоритмы. JOOP 7 (3): 45-47 (1994).
- Суррогатные классы в C ++. JOOP 7 (4): 71–72, 80 (1994).
- Универсальные итераторы. JOOP 7 (5): 69-72 (1994).
- Мысли об абстракции. JOOP 7 (6): 68-70 (1994).
1992
- Компактные деревья в C ++. Конференция C ++ 1992: 117-130
1991
- Эндрю Кениг, Томас А. Каргилл, Кейт Э. Горлен, Роберт Б. Мюррей, Майкл Вилот: Насколько полезно множественное наследование в C ++? C ++ Conference 1991: 81-84
1990
- Эндрю Кениг, Бьярн Страуструп: Обработка исключений для C ++. C ++ Conference 1990: 149-176.
1988
- Ассоциативные массивы в C ++, конференция Usenix летом 1988 г. (стр. 173–186), Сан-Франциско
1986
- Язык программирования Snocone, Bell Labs Computing Science Technical Report # 124, 19 августа 1986 г.
1984
- Автоматическое распространение программного обеспечения,[11] Лето 1984 г. Конференция Usenix (стр. 87–106), Портленд, Орегон
1977
- «Ловушки и ловушки PL / I», представленные на ПОДЕЛИТЬСЯ конференция, 1977.
Рекомендации
- ^ "Сеймур Кениг, доктор философии, 16 июля 1927 - 19 февраля 2018", Международное общество магнитного резонанса в медицине, 2018.
- ^ Наир, Р. Б (2013) 'АНДРЕЙ Р. КЕНИГ | LBS kuttipedia '. https://lbsitbytes2010.wordpress.com/2013/04/07/andrew-r-koenig/
- ^ Саттер, Херб (Март 1998 г.). «Что в классе? - Принцип интерфейса». Отчет C ++. Получено 21 февраля 2010.
- ^ Саттер, Херб (22 октября 2000 г.). «Протокол заседания ISO WG21, 22 октября 2000 г.» (PDF). Рабочая группа ISO 21. Получено 21 февраля 2010.
- ^ "ACCU представляет: семинары по Java и C / C ++ (15–18 сентября 1999 г.)". АККУ. 23 сентября 1999 г. Архивировано с оригинал 11 августа 2011 г.. Получено 21 февраля 2010.
- ^ "Сеймур Х. Кениг", Колумбийский университет истории вычислительной техники
- ^ Кениг, Харриет; Кениг, Сеймур Х., Ткачество навахо, способы навахо, Катона, Нью-Йорк: Галерея Катона, 1986. ISBN 0-915171-03-1
- ^ "Известные выпускники", Веб-сайт Средней школы наук Бронкса
- ^ да Круз, Франк (6 февраля 2010 г.). "История вычислительной техники Колумбийского университета". Информационные технологии Колумбийского университета. В архиве из оригинала 11 марта 2010 г.. Получено 21 февраля 2010.
- ^ Ср. Кениг, предисловие к "Ловушкам и подводным камням".
- ^ Макилрой, М.Д. (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 (PDF) (Технический отчет). CSTR. Bell Labs. 139.