최근 수정 시각 : 2024-10-25 23:37:56

에츠허르 다익스트라


역대 튜링상 수상자 목록
{{{#!wiki style="margin:0 -10px -5px; min-height:calc(1.5em + 5px); word-break:keep-all"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -6px -1px -11px"
1966년 1967년 1968년 1969년
앨런 펄리스 모리스 윌크스 리처드 해밍 마빈 민스키
1970년 1971년 1972년 1973년
제임스 H. 윌킨슨 존 매카시 에츠허르 다익스트라 찰스 바크만
1974년 1975년 1976년
도널드 커누스 앨런 뉴웰 허버트 사이먼 미하엘 라빈
1976년 1977년 1978년 1979년
데이나 스콧 존 배커스 로버트 W. 플로이드 케네스 아이버슨
1980년 1981년 1982년 1983년
토니 호어 에드거 F. 커드 스티븐 쿡 켄 톰프슨
1983년 1984년 1985년 1986년
데니스 리치 니클라우스 비르트 리처드 카프 존 홉크로프트
1986년 1987년 1988년 1989년
로버트 타잔 존 코크 이반 서덜랜드 윌리엄 카한
1990년 1991년 1992년 1993년
페르난도 J. 코바토 로빈 밀너 버틀러 램슨 유리스 하르트마니스
1993년 1994년 1995년
리처드 스턴스 에드워드 파이겐바움 라즈 래디 매뉴얼 블럼
1996년 1997년 1998년 1999년
아미르 프누엘리 더글러스 엥겔바트 짐 그레이 프레드 브룩스
2000년 2001년 2002년
앤드루 야오 올렌-요한 달 크리스텐 니가드 로널드 라이베스트
2002년 2003년 2004년
아디 샤미르 레오나르드 아델만 앨런 케이 빈트 서프
2004년 2005년 2006년 2007년
로버트 칸 페테르 나우르 프란시스 E. 앨런 에드먼드 M. 클라크
2007년 2008년 2009년
앨런 에머슨 조세프 시파키스 바바라 리스코프 찰스 P. 태커
2010년 2011년 2012년
레슬리 밸리언트 유디 펄 샤피 골드바서 실비오 미칼리
2013년 2014년 2015년
레슬리 램포트 마이클 스톤브레이커 휫필드 디피 마틴 헬만
2016년 2017년 2018년
팀 버너스리 존 헤네시 데이비드 패터슨 제프리 힌튼
2018년 2019년
요슈아 벤지오 얀 르쿤 에드윈 캐트멀 팻 한라한
2020년 2021년 2022년
앨프리드 에이호 제프리 울먼 잭 동가라 로버트 메칼프 }}}}}}}}}

<colbgcolor=#000><colcolor=#fff> 에츠허르 비버 데이크스트라
Edsger Wybe Dijkstra
파일:에츠허르 다익스트라.jpg
출생 1930년 5월 11일
네덜란드 로테르담
사망 2002년 8월 6일 (향년 72세)
네덜란드 뉘넌
국적
[[네덜란드|]][[틀:국기|]][[틀:국기|]]
학력 레이던 대학교 (이론 물리학 / kand.)
암스테르담 대학교 ( 컴퓨터과학 / 박사)
지도 교수 아드리안 판베인하르던
Adriaan van Wijngaarden
경력 UT 오스틴 (교수)
직업 컴퓨터 과학자
종교

1. 개요2. 이름3. 생애 및 업적4. 어록5. 주요 연구6. 주요 수상 내역

[clearfix]

1. 개요

에츠허르 다익스트라, 또는 에츠허르 데이크스트라는 네덜란드 출신의 컴퓨터 과학자다. 컴퓨터과학이라는 학문의 역사를 다룰 때 절대 빼놓을 수 없는 인물로 1972년 컴퓨터과학 프로그래밍 언어 분야에 대한 공헌을 인정받아 튜링상을 수상하였다.

2. 이름

네덜란드인이기 때문에, 네덜란드어 발음인 [ˈɛtsxər ˈdɛikstra]를 기반으로 옮겼을 때 표기법대로라면 '에츠허르 데이크스트라'가 맞다. 하지만 한국에서는 으레 네덜란드인이란 걸 인식 못 하고, 또 거스 히딩크의 사례에서도 볼 수 있듯 네덜란드어 읽는 규칙에 대해 관심이 없다 보니 영어식으로 읽은 '에드거 다익스트라'라는 표기가 퍼져있다. 마찬가지로 리버풀 주전 수비수 버질 판데이크(Virgil van Dijk)도 국내 축구 팬들은 흔히 '반다이크'로 읽는다.

3. 생애 및 업적

1930년 5월 11일에 네덜란드 로테르담에서 태어났으며 레이든 대학에서 물리학을 전공하였다. 그러나 네덜란드 국립 수학 연구소에 취직해 컴퓨터를 접하게 된 것을 계기로 컴퓨터과학 분야에 관심을 보였고, 암스테르담 대학교에서 관련 연구를 지속하며 어셈블리어에 관한 논문으로 박사 학위를 취득하게 된다. 이후 에인트호번 기술 대학교, 텍사스 대학교 등을 거쳐 2000년에 은퇴하였고 오랜 암 투병 끝에 2002년 8월 6일 뉘넌에서 사망하였다.

대표적인 업적은 다익스트라 알고리즘을 개발하여 최단 경로 알고리즘 문제(Shortest Path Problem)에 대한 학문적 접근을 시작한 것이다. 다익스트라 알고리즘은 학부에서 자료 구조와 알고리즘을 배울 때 꼭 짚고 넘어가는 아주 중요한 알고리즘 중 하나이다. 또한 세마포어 개념을 정립하여 임계 구역 문제에 대한 하나의 솔루션을 제시하였다. 1968년에는 GOTO문의 해로움이라는 논문을 발표하여 프로그램을 여러 단위로 나누고 서로가 서로를 호출하는 구조적 프로그래밍이라는 새로운 패러다임을 제시하였다. 당시에는 컴퓨터 성능의 발전에 따라 코드가 점점 복잡해져 갔는데, 프로그래밍 패러다임은 여전히 구식에 머물러 있었기 때문에 GOTO문을 남발하여 스파게티 코드를 만들어내는 프로그래머들이 많았다. 이 연구 덕분에 프로그래머들은 각 서브프로그램의 관계만 알면 코드를 쉽게 수정할 수 있게 되었고 이는 훗날 객체 지향 프로그래밍과 같은 패러다임이 등장하는 데 큰 영향을 미쳤다.

문서를 작성할 때는 만년필을 애용하였다고 전해진다.

4. 어록

'메모광'이었던 다익스트라는 자신이 작성한 문서마다 이니셜인 EWD와 번호를 매겨 분류하였다. 덕분에 수많은 어록이 전해 내려온다.

EWD898에서는 앨런 튜링 기계가 생각을 하는지 여부에 대해 판단 기준을 세울 수 있을지 궁금해했던 것에 대해,
컴퓨터가 생각을 할 수 있는지에 대한 논의는, 잠수함이 헤엄을 칠 수 있는지 궁금해하는 것만큼 의미 없는 일[1]

이라고 평했다. 이 외에도 굉장히 신랄한 어록이 많다.
코볼을 사용하는 것은 당신의 머릿속을 망가트리는 짓이다. 따라서, 코볼을 가르치는 것은 범죄로 취급되어야 한다.[2]
BASIC을 접해본 학생들에게 좋은 프로그래밍을 가르치기란 사실상 불가능하다. 프로그래머로서 그들의 머릿속은 돌이킬 수 없을 만큼 망가진 상태이기 때문이다. [3]
간결함이란 훌륭한 미덕이지만, 손에 넣는 데에는 많은 노력이 필요하며 그 진가를 알아보는 데에는 교육이 필요하다. 더 나쁜 것은 복잡한 것들이 더 잘 팔린다는 것이다.[4]
디버깅이 소프트웨어에서 버그를 제거하는 작업이라면, 프로그래밍이란 소프트웨어에 버그를 넣는 작업일 테다.[5]
그러니까, 10년쯤 후에, 당신이 뭔가 간단하고 더러운 짓을 하고 있는데, 당신이 그 순간 내가 어깨너머로 당신을 보는 상상을 하게 되고, '다익스트라는 이러는 거 별로 좋아하지 않았을 거야'라고 자신에게 되뇌게 된다면, 나는 남길 건 다 남기고 떠난 셈이다.[6]

다만 이런 어록을 남긴 것에서 알 수 있듯, 오만하고 성격이 괴팍한 것으로도 유명해서 많은 뒷말을 남겼다. 2003년 튜링상 수상자이자 객체 지향 프로그래밍의 아버지라고도 불리는 컴퓨터 과학자 앨런 케이는 다익스트라에 대해 이런 말을 남겼다.
여러분 중 다익스트라를 만나신 분들이 얼마나 많이 계시는지는 모르겠지만, 컴퓨터 과학에서의 오만함은 나노다익스트라로 측정한다는 것은 아마도 아실 겁니다.[7]

5. 주요 연구

6. 주요 수상 내역

  • 1971년 Royal Netherlands Academy of Arts and Sciences 회원
  • 1972년 튜링상 수상
  • 1974년 Harry H. Goode Memorial Award 수상

[1] The question of whether a computer can think is no more interesting than the question of whether a submarine can swim. [2] The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense. [3] It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. [4] Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better. [5] If debugging is the process of removing software bugs, then programming must be the process of putting them in. [6] 원문: I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself "Dijkstra would not have liked this", well, that would be enough immortality for me. [7] I don't know how many of you have ever met Dijkstra, but you probably know that arrogance in computer science is measured in nano-Dijkstras.