Кристен Нюгор

Кристен Нюгор: человек, который изобрел объект

Каждый раз, когда программист сегодня пишет «класс», «объект» или «наследование», он использует терминологию, которую норвежский специалист по исследованию операций придумал в начале 1960-х годов для моделирования морских сражений и очередей на производстве. Кристен Нюгор (Kristen Nygaard) не стремился заново изобрести разработку программного обеспечения. Он намеревался моделировать хаотичные, дискретные системы реального мира на компьютере, который был слишком мал для этой задачи, и, решая эту узкую проблему, он создал концептуальный каркас — объекты, классы, наследование — который лежит в основе почти каждого крупного языка программирования, созданного с тех пор.

От Монте-Карло до траекторий ракет

Нюгор родился 27 августа 1926 года в Осло и получил степень магистра математики в Университете Осло в 1956 году с диссертацией о теоретических аспектах методов Монте-Карло в абстрактной теории вероятностей. Его трудовая жизнь началась не в университете, а в Норвежском исследовательском институте обороны, где он провел двенадцать лет, с 1948 по 1960 год, пройдя путь от вычислений и программирования до исследования операций. К 1957 году он возглавил первые группы оборонных исследований операций в Норвегии, а в 1959 году стал соучредителем Норвежского общества исследования операций, председателем которого он был до 1964 года. Это не было академическим отступлением перед началом «настоящей» работы — именно эта работа породила проблему, для решения которой был создан Simula: как достаточно четко представить сложные, взаимодействующие вероятностные системы, такие как активные зоны ядерных реакторов или флоты судов, чтобы компьютер мог их обрабатывать.

Создание Simula

В 1960 году Норвежский вычислительный центр нанял Нюгора, чтобы помочь превратить его в настоящий исследовательский институт, и в 1962 году он стал его директором по исследованиям. Там, вместе с коллегой Оле-Йоханом Далем (Ole-Johan Dahl), он провел 1960-е годы, разрабатывая пару языков, которые тихо переделали компьютерную науку. Simula I, созданный в период с 1961 по 1965 год, и его преемник Simula 67, разработанный с 1965 по 1968 год, расширили ALGOL 60 набором идей, которые никто раньше не объединял в таком сочетании: объекты, которые связывали данные с процедурами, действующими на них; классы, которые определяли семейства таких объектов; наследование, которое позволяло одному классу расширять другой; виртуальные величины; и форма многопоточного выполнения на основе сопрограмм (coroutine). Сочетание «объекта» и «класса» как организационной единицы программы, а не процедуры или таблицы данных, является той самой идеей, в честь которой названо объектно-ориентированное программирование — и это идея Нюгора и Даля, а не более позднее улучшение чьих-то разработок.

БЕСПЛАТНЫЙ ТЕСТ
А какой у вас?

Двадцать вопросов, восемь минут на часах и процентиль, измеренный по всем, кто его проходил. Без регистрации.

Пройти тест IQ →

Карьера, которая продолжала расширяться

Академическая жизнь Нюгора развивалась на этом фундаменте, не теряя при этом прикладного инстинкта, который его породил. Он преподавал в Орхусском университете в Дании с 1975 по 1976 год, затем присоединился к Университету Осло, сначала на полставки с 1977 года, а с 1984 по 1996 год — на полный рабочий день. Его исследования все больше поворачивались в сторону социальных последствий вычислительной техники и помогли создать то, что стало известно как Скандинавская школа разработки систем, тесно связанная с партисипативным проектированием — идеей о том, что работники, которые будут использовать систему, должны помогать в ее проектировании, а не просто получать ее как готовую. С 1976 года он работал с Бентом Бруном Кристенсеном (Bent Bruun Kristensen), Оле Лерманном Мадсеном (Ole Lehrmann Madsen) и Биргером Мёллером-Педерсеном (Birger Møller-Pedersen) над BETA, еще одним языком программирования общего назначения, реализованным с 1986 года, а в 1980-х годах он возглавлял скандинавскую исследовательскую программу SYDPOL перед руководством проектом Cost-13 по расширению языков, ориентированных на профессиональную деятельность. Его последним исследовательским интересом было само начальное программистское образование в рамках инициативы под названием «Комплексное объектно-ориентированное обучение».

Активист, который победил Европейский союз

Вне компьютерных наук Нюгор вел необычайно активную политическую жизнь. Он перешел из Национального исполнительного комитета Либеральной партии в 1960-х годах в Лейбористскую партию, где с 1971 по 2001 год входил в комитеты по политике исследований. Его самое большое общественное достижение не имело никакого отношения к программированию: в 1988 году он возглавил Информационный комитет по Норвегии и ЕЭС, реорганизованный в 1990 году как Nei til EF («Нет ЕС»), и превратил его в крупнейшую политическую организацию в истории Норвегии, насчитывающую 145 000 членов из четырехмиллионного населения к 1994 году. Он стал соруководителем кампании референдума 1994 года против вступления Норвегии в ЕС вместе с лидером Партии Центра Анне Энгер Ланштейн (Anne Enger Lahnstein); страна проголосовала 52,2 процента «против» при самой высокой явке избирателей в истории — 88,8 процента. Он ушел с поста председателя в 1995 году, но продолжал работать в стратегическом комитете, а с 1996 по 1997 год помогал координировать «Европейское антимаастрихтское движение» — европейскую сеть, выступающую против валютного союза.

Признание

Награды накапливались постепенно, а затем обрушились все сразу в конце его карьеры. Лундский университет присвоил ему почетную докторскую степень в 1990 году, Ольборгский университет сделал его своим первым почетным доктором в 1991 году, и в том же году организация «Компьютерные профессионалы за социальную ответственность» вручила ему премию Норберта Винера за социальную и профессиональную ответственность. В 1999 году он и Даль разделили премию Розинга от Норвежской ассоциации данных; в 2000 году Object Management Group сделала его почетным членом «за создание концепций объектных технологий», а король Харальд V сделал его командором Королевского норвежского ордена Святого Олафа. Технический пик пришелся на 2001 год, когда он и Даль совместно получили медаль Джона фон Неймана IEEE «за введение концепций, лежащих в основе объектно-ориентированного программирования посредством разработки и реализации Simula 67» — а затем, через несколько месяцев, премию А.М. Тьюринга от Ассоциации вычислительной техники (ACM), высшую награду в области вычислений, «за идеи, фундаментальные для возникновения объектно-ориентированного программирования, посредством разработки языков программирования Simula I и Simula 67». AITO, Международная ассоциация объектных технологий, уже учредила премию Даля-Нюгора в их честь в 2004 году, что стало постоянным ежегодным подтверждением того, что отрасль считает их своими основателями.

Почему Кристена называют гением

Здесь доводы необычайно весомы, потому что награды — это не почетные знаки внимания, а высшие технические призы отрасли, присуждаемые людьми, которые каждый день работают на основе его достижений: премия Тьюринга и медаль фон Неймана отмечают конкретное концептуальное достижение — изобретение объектно-классовой модели, — а не общие заслуги всей жизни. Эта конкретика имеет значение. Гениальность Нюгора не заключалась в чистом математическом виртуозности; его собственная диссертация была солидной, но ничем не примечательной теорией Монте-Карло, и коллеги обычно приписывают Далю больше строгости в формальном проектировании Simula. Уникальный вклад Нюгора был концептуальным: осознание того, что дискретно-событийное моделирование требует совершенно новой единицы организации программы, и дисциплина обобщить эту единицу до тех пор, пока она не станет парадигмой, а не трюком для одной предметной области. Это более редкий, трудноопределимый вид гениальности — не решать известную проблему быстрее всех остальных, а заметить, что целая категория будущих проблем разделяет скрытую структуру, которую еще никто не назвал. Честный контраргумент заключается в том, что идеи Simula добирались до мейнстрима через Smalltalk, C++ и Java более десятилетия, а Нюгор большую часть своей поздней карьеры посвятил политической активности, а не продвижению своего технического преимущества — поэтому его влияние было реальным, но медленно действующим, получив институциональное признание лишь в последние два года его жизни.

Наследие

Нюгор скончался от сердечного приступа 10 августа 2002 года в возрасте 75 лет в Осло, будучи женатым на Йоханне Нюгор (Johanna Nygaard) с 1951 года и воспитав троих детей, которые подарили ему семерых внуков. Он также возглавлял Комитет по охране окружающей среды Норвежской ассоциации охраны природы и потратил годы, помогая строить экспериментальное социальное учреждение для маргинализированных алкоголиков — в целом, это была жизнь, которая относилась к вычислительной технике, политике и социальному обеспечению как к продолжению одного инстинкта, а не как к отдельным карьерам. Почти каждая объектно-ориентированная программа, написанная сегодня, от корпоративного ПО до мобильных приложений, до сих пор работает на словаре, который он и Даль изобрели для моделирования кораблей и реакторов полвека назад.

Сравнить с великими

Charles Babbage vs Gregor MendelDavid Hume vs Mark TwainBaruch Spinoza vs Terence Chi Shen TaoBill Gates vs Pierre De Fermat
Все рейтинги →Все сравнения →

Вундеркинды

Shakuntala DeviShakuntala DeviMultiplied two 13-digit numbers in her head in 28 secondsJeremy ShulerCornell University at 12 — Reading at 21 Months, Top-Decile SAT…Akiane KramarikSelf-Taught Painter from Age 4 — Paintings Sold for Up to…Marko ČalasanWorld's Youngest Microsoft Certified Systems Engineer — Age 8…
Вундеркинды →

Сыграй и возвращайся завтра

Ежедневный вызов гения · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
Нажмите ответ ↓
Какой ты гений? Бесплатный IQ-тест