크리스틴 니가드: 객체를 발명한 사람
오늘날 프로그래머가 "클래스", "객체", "상속"을 작성할 때마다 그들은 1960년대 초 노르웨이의 한 운영 연구자가 해군 전투와 공장 대기열을 시뮬레이션하기 위해 고안한 어휘를 사용하고 있는 것입니다. 크리스틴 니가드 (Kristen Nygaard) 는 소프트웨어 공학을 재창조하려던 것이 아니었습니다. 그는 너무 작은 컴퓨터에서 복잡하고 이산적인 현실 세계 시스템을 모델링하려고 시도했으며, 그 좁은 문제를 해결하는 과정에서 객체, 클래스, 상속 등 이후 작성된 거의 모든 주요 프로그래밍 언어의 토대가 된 개념적 구조를 구축했습니다.
몬테카를로에서 미사일 궤적까지
니가드는 1926년 8월 27일 오슬로에서 태어났으며 1956년 오슬로 대학교에서 추상 확률 이론의 몬테카를로 방법의 이론적 측면에 관한 논문으로 수학 석사 학위를 받았습니다. 그의 직장 생활은 대학이 아니라 노르웨이 국방 연구소에서 시작되었으며, 그곳에서 1948년부터 1960년까지 12년간 컴퓨팅과 프로그래밍에서 운영 연구로 나아갔습니다. 1957년에는 노르웨이 최초의 국방 운영 연구 그룹을 이끌었고, 1959년에는 노르웨이 운영 연구 학회를 공동 설립하여 1964년까지 의장을 맡았습니다. 이것은 "진짜" 작업이 시작되기 전의 학문적 우회로가 아니라, Simula가 해결하기 위해 만들어진 문제를 생성한 작업이었습니다. 즉, 원자력 발전소 노심이나 선단과 같은 복잡하고 상호 작용하는 확률적 시스템을 컴퓨터가 실행할 수 있을 만큼 깔끔하게 표현하는 방법이었습니다.
Simula 구축
1960년 노르웨이 컴퓨팅 센터는 니가드를 영입하여 진정한 연구 기관으로 만드는 것을 도왔고, 1962년 연구 이사가 되었습니다. 그곳에서 그는 동료 올레-요한 달 (Ole-Johan Dahl) 과 함께 1960년대 내내 컴퓨터 과학을 조용히 재편할 두 가지 언어를 개발했습니다. 1961년에서 1965년 사이에 구축된 Simula I과 1965년에서 1968년까지 개발된 후속작 Simula 67은 ALGOL 60에 이전에는 결합된 적 없던 일련의 아이디어를 확장했습니다. 이는 데이터를 해당 데이터를 처리하는 절차와 묶는 객체, 그러한 객체군을 정의하는 클래스, 한 클래스가 다른 클래스를 확장할 수 있게 하는 상속, 가상 수량, 그리고 코루틴 기반의 다중 스레드 실행 형태였습니다. 절차나 데이터 테이블이 아닌 프로그램의 조직 단위로서 "객체"와 "클래스"를 결합한 것은 객체 지향 프로그래밍이라는 이름의 기원이 된 단 하나의 아이디어이며, 이는 타인의 아이디어를 나중에 개선한 것이 아니라 니가드와 달의 아이디어입니다.
넓어지는 경력
니가드의 학문적 삶은 그 토대에서 시작되어 이를 낳은 응용 본능을 잃지 않고 퍼져 나갔습니다. 그는 1975년부터 1976년까지 덴마크 오르후스 대학교에서 가르쳤고, 이후 1977년부터 파트타임으로, 1984년부터 1996년까지 풀타임으로 오슬로 대학교에 합류했습니다. 그의 연구는 점차 컴퓨팅의 사회적 결과로 향했고, 참여형 디자인과 밀접하게 연결된 스칸디나비아 시스템 개발 학파를 확립하는 데 기여했습니다. 이는 시스템을 사용할 노동자가 단순히 시스템을 받는 것이 아니라 디자인에 참여해야 한다는 생각이었습니다. 1976년부터 그는 벤트 브룬 크리스텐센 (Bent Bruun Kristensen), 올레 레르만 마센 (Ole Lehrmann Madsen), 비르거 묄러-페데르센 (Birger Møller-Pedersen) 과 함께 1986년부터 구현된 범용 객체 지향 언어인 BETA 작업을 했으며, 1980년대에는 스칸디나비아 SYDPOL 연구 프로그램을 의장으로 이끌고 전문직 지향 언어 확장에 관한 Cost-13 프로젝트를 지휘했습니다. 그의 마지막 연구 관심사는 포괄적인 객체 지향 학습이라는 이니셔티브를 통한 입문 프로그래밍 교육 그 자체였습니다.
유럽연합을 이긴 활동가
컴퓨터 과학 밖에서 니가드는 비정상적으로 중요한 정치적 삶을 살았습니다. 그는 1960년대 자유당 전국 집행 위원회에서 노동당으로 옮겨 1971년부터 2001년까지 연구 정책 위원회에서 활동했습니다. 그의 가장 큰 공적은 프로그래밍과 아무 관련이 없었습니다. 1988년 그는 노르웨이와 EEC 정보 위원회를 인수하여 1990년 Nei til EF ("EU 반대")로 개편했고, 이를 1994년까지 400만 인구 중 145,000명의 회원을 보유한 노르웨이 역사상 가장 큰 정치 조직으로 키웠습니다. 그는 1994년 중앙당 당수 안네 엥게르 란슈타인 (Anne Enger Lahnstein) 과 함께 노르웨이의 EU 가입 반대 국민투표 캠페인을 공동 주도했습니다. 노르웨이는 투표율 88.8%로 역사상 가장 높은 투표율을 기록하며 52.2%의 반대로 투표했습니다. 그는 1995년 의장직에서 물러났지만 전략 위원회에서 계속 일했으며, 1996년부터 1997년까지 통화 연합에 반대하는 유럽 네트워크인 '마스트리히트 반대 유럽 운동'을 조정하는 것을 도왔습니다.
인정
경력 말년에 영예가 꾸준히 누적되다가 한꺼번에 쏟아졌습니다. 룬드 대학교는 1990년에 명예 박사 학위를 수여했고, 올보르 대학교는 1991년에 첫 명예 박사 학위를 수여했으며, 같은 해 사회적 책임을 위한 컴퓨터 전문가 협회는 그에게 '사회적 및 전문적 책임을 위한 노버트 위너 상'을 수여했습니다. 1999년 그와 달은 노르웨이 데이터 협회로부터 로싱 상을 공동 수상했으며, 2000년 객체 관리 그룹은 "객체 기술 개념의 창시자"로 그를 명예 펠로우로 임명했고, 하랄드 5세 국왕은 그에게 성 올라프 왕립 훈장 지휘관 칭호를 수여했습니다. 기술적 정점은 2001년에 찾아왔는데, 그와 달은 "Simula 67의 설계 및 구현을 통해 객체 지향 프로그래밍의 기초가 되는 개념을 도입한 공로"로 IEEE 존 폰 노이만 메달을 공동 수상했고, 몇 달 후 컴퓨터 과학의 최고 영예인 컴퓨터 기계 협회(ACM)의 A.M. 튜링 상을 "프로그래밍 언어 Simula I과 Simula 67의 설계를 통해 객체 지향 프로그래밍의 출현에 근본적인 아이디어를 제공한 공로"로 수상했습니다. 국제 객체 기술 협회(AITO)는 2004년에 그들을 기리기 위해 달-니가드 상을 이미 제정했으며, 이는 현장에서 그들을 창시자로 간주한다는 것을 영구적으로 인정하는 연례 행사입니다.
크리스틴이 천재라고 불리는 이유
이 경우 명예가 단순한 찬사가 아니라 매일 그의 작업을 기반으로 구축하는 사람들이 수여하는 현장의 최고 기술상이기 때문에 증거가 이례적으로 탄탄합니다. 튜링 상과 폰 노이만 메달 모두 평생의 일반적인 업적이 아니라 객체-클래스 모델 발명이라는 구체적인 개념적 업적을 명시합니다. 그 구체성이 중요합니다. 니가드의 천재성은 날것의 수학적 기교가 아니었습니다. 그의 대학원 논문은 탄탄했지만 평범한 몬테카를로 이론이었고, 동료들은 일반적으로 Simula의 더 공식적인 언어 설계 엄격함을 달의 공으로 돌립니다. 니가드의 독특한 기여는 개념적이었습니다. 이산 사건 시뮬레이션이 완전히 새로운 프로그램 조직 단위를 요구한다는 인식과, 그것을 하나의 문제 영역을 위한 트릭이 아니라 패러다임이 될 때까지 일반화하는 훈련입니다. 이것은 더 희귀하고 이름을 붙이기 어려운 종류의 천재성입니다. 즉, 알려진 문제를 다른 누구보다 빨리 해결하는 것이 아니라, 미래의 전체 문제 범주가 아직 아무도 이름을 붙이지 않은 숨겨진 구조를 공유하고 있음을 알아채는 것입니다. 정직한 반론은 Simula의 아이디어가 Smalltalk, C++, Java를 통해 주류에 도달하는 데 10년 이상이 걸렸고, 니가드는 기술적 우위를 주장하기보다 후기 경력의 많은 부분을 정치적 활동에 보냈다는 것입니다. 따라서 그의 영향력은 실질적이었지만 서서히 나타났으며, 그가 사망하기 마지막 2년 동안에야 제도적으로 인정받았습니다.
유산
니가드는 2002년 8월 10일 75세의 나이로 오슬로에서 심장마비로 사망했습니다. 1951년 요한나 니가드 (Johanna Nygaard) 와 결혼하여 세 자녀를 두었으며 일곱 명의 손주를 두었습니다. 그는 또한 노르웨이 자연 보호 협회의 환경 보호 위원회 의장을 맡았으며 소외된 알코올 중독자를 위한 실험적 사회 기관을 설립하는 것을 수년 동안 도왔습니다. 총체적으로 그는 컴퓨팅, 정치, 사회 복지를 분리된 경력이 아니라 하나의 본능의 연속으로 다룬 삶을 살았습니다. 오늘날 기업용 소프트웨어에서 모바일 앱에 이르기까지 작성된 거의 모든 객체 지향 프로그램은 여전히 그와 달이 반세기 전 선박과 원자로를 시뮬레이션하기 위해 발명한 어휘 위에서 실행됩니다.
