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

에츠허르 다익스트라


파일:acm-turing-award.png
역대 튜링상 수상자 목록
{{{#!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.