
В 1945 году, когда Норвегия отмечала освобождение от немецкой оккупации, семнадцатилетний выпускник гимназии Фагерборг в Осло подал документы в университет. Его звали Кристен Нюгор, и тогда никто не мог знать, что этот студент с интересом к астрономии и прикладной математике через двадцать лет изменит способ мышления всей индустрии программирования.
Отец, Уильям Мартин Нюгор, был школьным учителем, литературным консультантом и инструктором Национального театра в Бергене, затем программным секретарём Норвежского национального вещания. Мать, Дина Серине Осен, — учительницей. В этой семье ценились слова, идеи и ответственность перед обществом. Все три ценности Кристен унесёт с собой — в математику, в программирование и в политику.
Он окончил гимназию Фагерборг в 1945 году, затем поступил на естественный факультет Университета Осло, где первоначально его главным интересом была астрономия, а затем прикладная математика.
Как и все молодые норвежцы послевоенных лет, Нюгор был обязан пройти военную службу. Но, в отличие от других, кто мог служить солдатами или матросами, он попал в Исследовательский институт обороны Норвегии.
В 1948 году он начал работу в Норвежском оборонном исследовательском учреждении — в качестве помощника Яна В. Гарвика, отца норвежской информатики. Их первой главной задачей были вычисления резонансного поглощения, связанные со строительством первого норвежского ядерного реактора.
Здесь, среди оборонных задач и математических расчётов, он в 1949–1950 годах впервые познакомился с методами Монте-Карло — статистическими моделями, позволявшими имитировать случайные процессы и оценивать вероятностные исходы. Эти методы станут отправной точкой всей его дальнейшей научной карьеры — и приведут его к идее симуляции как универсального инструмента познания.
В 1956 году он получил степень магистра математики в Университете Осло. Его диссертация по абстрактной теории вероятностей называлась «Теоретические аспекты методов Монте-Карло».
Именно в оборонном институте он впервые встретился с Оле-Йоханом Далем. Встреча двух умов, которые через несколько лет создадут SIMULA, произошла не в университетской аудитории, а среди военных расчётов и оперативных исследований.
В мае 1960 года Нюгор покинул оборонный институт, чтобы строить Норвежский вычислительный центр как исследовательский институт в области информатики и операционных исследований.
Задача, которую он поставил перед собой и Далем, была сформулирована просто: создать язык для описания сложных систем. Промышленные процессы, корабельное движение в портах, организационные структуры — всё это нужно было моделировать, и существовавшие языки программирования не давали для этого удобных инструментов.
Это сотрудничество привело к созданию первого языка SIMULA — SIMULA I — на основе языка ALGOL-60. SIMULA I изначально рассматривался как язык описания и симуляции систем, а не как язык программирования общего назначения. Дал и Нюгор быстро поняли, что концепции симуляции могут применяться в программировании вообще. В результате этого осознания они разработали Simula 67.
Ключевое открытие было концептуальным. Нюгор и Даль поняли: реальный мир состоит из объектов — вещей, обладающих свойствами и способных взаимодействовать друг с другом. Если язык программирования отразит эту структуру, программист сможет описывать проблему так, как её видит человек, а не так, как её воспринимает машина.
Все основные аспекты парадигмы объектно-ориентированного программирования — классы, подклассы, наследование, динамическое создание объектов — берут начало в Simula.
SIMULA, разработанная в Норвежском вычислительном центре в 1960-х годах, заложила основы для всего объектно-ориентированного программирования — включая языки C++ и Java, а также графические интерфейсы пользователя, такие как Mac OS от Apple и Windows от Microsoft.
Из работы над SIMULA Нюгор вынес наблюдение, которое стало его любимым афоризмом и которое глубже, чем кажется на первый взгляд.
Один неожиданный результат состоял в том, что люди часто обнаруживали: создание модели в Simula оказывалось более полезным, чем сами результаты симуляции. Процесс описания задачи сам по себе давал ценное понимание. Это привело Кристена к формулировке одного из его любимых афоризмов: «Программировать — значит понимать».
Это не просто красивые слова. Они описывают фундаментальную идею: акт написания программы — это не технический перевод уже решённой задачи в машинный код. Это само мышление. Программируя систему, ты вынужден понять её структуру, её элементы, их взаимодействие — до того, как напишешь первую строку. Объектно-ориентированное программирование, по замыслу Нюгора, — это не методология написания кода, а методология понимания мира.
После SIMULA Нюгор мог бы сосредоточиться на академической карьере и международном признании. Он выбрал иное.
В конце 1960-х годов Норвежский союз рабочих металла и железа обратился к Кристену за помощью в связи с новыми вычислительными технологиями. Нюгор понял: компьютеры входят на производство — и работники должны понимать последствия этого вхождения.
Его работа в Орхусе и Осло включала исследования и преподавание в области разработки систем и социального воздействия компьютерных технологий. Он был членом исследовательского комитета Норвежской федерации профсоюзов и сотрудничал с профсоюзами в нескольких странах.
Так сформировалась «Скандинавская школа» — подход к разработке программных систем, ставящий в центр не технические требования заказчика, а участие будущих пользователей в процессе проектирования. Политическое и научное мировоззрение Нюгора шло рука об руку: его активное сотрудничество с профсоюзами и роль горячего сторонника Скандинавской школы разработки систем и партиципаторного проектирования были двумя сторонами одной медали.
Убеждение было простым и радикальным: разработчик программного обеспечения несёт ответственность перед теми, кто будет с ним работать. Технология не нейтральна — она всегда несёт в себе чьи-то интересы.
Нюгор всегда был вовлечён в политику. В юности он участвовал в стратегической работе для партии Venstre — социально-либеральной партии в центре норвежской политики. Партию он покинул в конце 1960-х: «Я начал сомневаться в своей вовлечённости в традиционную партийную политику и ушёл из Либеральной партии, когда понял, что стал социалистом».
С 1971 по 2001 год Нюгор был членом Норвежской рабочей партии и входил в её комитеты по научной политике.
Главным политическим сражением его жизни стала борьба против членства Норвегии в Европейском союзе. В августе 1990 года он возглавил кампанию за то, чтобы Норвегия осталась вне Общего рынка, который впоследствии стал Европейским союзом. Нюгор настаивал: кампания направлена не против Европы, а против определённых политических тенденций в ЕС — таких как Маастрихтское соглашение, которое, по его убеждению, угрожало скандинавскому государству всеобщего благосостояния.
Норвегия проголосовала «нет» на референдуме 28 ноября 1994 года. Нюгор не успокоился: в 1996 году он работал над созданием Европейского антимаастрихтского движения, объединявшего противников Маастрихтского договора и Экономического и валютного союза как внутри ЕС, так и за его пределами.
В феврале 2002 года Нюгор получил вместе с Оле-Йоханом Далем премию Тьюринга ACM 2001 года с формулировкой: «За идеи, фундаментальные для возникновения объектно-ориентированного программирования, воплощённые в языках программирования Simula I и Simula 67».
Это была высшая награда в информатике — «Нобелевская премия программирования». Два норвежца, работавшие вместе десятилетиями, получили её вместе.
Но триумф оказался омрачён. Оле-Йохан Даль скончался 29 июня 2002 года. Нюгор умер от сердечного приступа в Осло 10 августа 2002 года — через несколько недель после смерти своего соавтора, некролог которому он успел написать.
Два создателя объектно-ориентированного программирования ушли в одном году. Летом. С разницей в сорок два дня.
Среди его наград и почестей — премия Норберта Винера за социальную и профессиональную ответственность (1990), почётные докторские степени Лундского университета (1990) и Университета Ольборга (1991), членство в Норвежской академии наук, командорство Королевского норвежского ордена Святого Улава (2000), медаль Джона фон Неймана IEEE (2002).
В 2004 году Международная ассоциация объектных технологий учредила ежегодную премию имени Оле-Йохана Даля и Кристена Нюгора, присуждаемую двум учёным, внёсшим значительный технический вклад в область объектной ориентации.
Это наследие трудно переоценить. Каждый раз, когда программист пишет слово class или создаёт объект, он мыслит в категориях, изобретённых в Норвежском вычислительном центре в 1960-х годах. Каждый раз, когда разработчик спрашивает будущего пользователя системы, как она должна работать, — он следует принципам Скандинавской школы.
Математик, увлёкшийся астрономией. Военный аналитик, придумавший язык для моделирования мира. Учёный, убеждённый, что технология несёт политическую ответственность.
И афоризм, переживший его создателя: «Программировать — значит понимать».
Кристен Нюгорд - фотография из архивов сайта
Посмотреть фото
| Родился: | 27.08.1926 (75) |
| Место: | Осло (NO) |
| Умер: | 10.08.2002 |
| Место: | Осло (US) |