Эндрю Кениг (программист)
редактировать
Эндрю Ричард Кениг (IPA: ; родился в июне 1952 года) - бывший ATT и Bell Labs исследователь и программист. Он является автором C Traps and Pitfalls и соавтором (с Барбарой Му ) Accelerated C ++ и Ruminations on C ++, и его имя связано с поиск имени, зависящий от аргументов, также известный как «поиск Кёнига». Он работал редактором проекта комитета стандартов ISO / ANSI для C ++, автор более 150 статей по C ++ и внесен в список изобретателей по четырем патентам.
Содержание
- 1 граф y жизнь и карьера
- 2 Патенты
- 3 Избранная библиография
- 3.1 Книги
- 3.2 Статьи
- 3.2.1 1999
- 3.2.2 1998
- 3.2.3 1997
- 3.2.4 1996
- 3.2.5 1995
- 3.2.6 1994
- 3.2.7 1992
- 3.2.8 1991
- 3.2.9 1990
- 3.2.10 1988
- 3.2. 11 1986
- 3.2.12 1984
- 3.2.13 1977
- 4 Ссылки
- 5 Внешние ссылки
Ранние годы и карьера
Кениг родился в Нью-Йорке и является сыном физика доктора Сеймура Х. Кенига, бывшего директора лаборатории IBM Watson, и Харриет Кениг, автора и коллекционера индейского искусства индейцев.
Он окончил Высшую научную школу Бронкса в 1968 году и получил степень бакалавра наук и степень магистра наук в Колумбийском университете в Нью-Йорке. Он был видным членом Центра вычислительной деятельности Колумбийского университета (CUCCA) в конце 1960-х и 1970-х годах. Он написал первую программу электронной почты, используемую в университете.
В 1977 году он присоединился к техническому персоналу Bell Labs в Мюррей-Хилл, Нью-Джерси, из которого он позже вышел на пенсию.
Первая книга, которую он написал в 1987 году, C Traps and Pitfalls, была мотивирована его предыдущей работой и работой, в основном в качестве сотрудника Колумбийского университета, над другим компьютерным языком, PL / Я. В 1977 году, будучи недавно нанятым сотрудником Bell Labs, он представил доклад под названием «Ловушки и ловушки PL / I» на встрече SHARE в Вашингтоне, округ Колумбия
Патенты
- Система аутентификации пользователей, использующая функции шифрования, №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
- Кениг, Эндрю; Му, Барбара, Accelerated C ++, Addison-Wesley, 2000. ISBN 0-201-70353-X
Papers
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, November, 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 Messenger 6 (4): 14-19 (1995)
- Эндрю Кениг, Бьярн Страуструп: Основы для программного обеспечения стилей Native C ++, Pract. Exper. 25 (S4): S4 / 45-S4 / 86 (1995)
1994
- Анекдот о выводе типа ML, USENIX Very High Level Languages Symposium, октябрь 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 ++ Conference 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 Технический отчет по вычислительной науке № 124, 19 августа 1986 г.
1984
- Автоматическое распространение программного обеспечения, Конференция Usenix летом 1984 г. (стр. 87–106), Портленд, Орегон
1977
- "PL / I Traps and Ловушки », представленный на конференции SHARE, 1977 г.
Ссылки
Внешние ссылки