나무 숲
[인물] 다익스트라 Dijkstra 본문
다익스트라 Dijkstra
에츠허르 비버 다익스트라, 또는 에츠허르 비버 데이크스트라(네덜란드어 : Edsger Wybe Dijkstra, 1930년 5월 11일 ~ 2002년 8월 6일) 는 네덜란드의 컴퓨터 과학자로, 1972년 전산학 및 프로그래밍 언어 분야에 대한 지대한 공헌을 인정받아 튜링상을 수상하였다.
(네덜란드인이기 때문에, 네덜란드어 발음으로 읽었을 때 표기법은 "에츠허르 데이크스트라"가 맞지만 한국에서는 영어식으로 읽은 "다익스트라"라는 표기가 퍼져있다.)
어록
만년필로 문헌을 즐겨 작성했으며 문서에 이니셜인 EWD와 번호를 매겨 분류하였고, 수많은 어록이 전해 내려온다.
EWD898에서 알란 튜링이 기계가 생각을 할 수 있을지 궁금해했던 것에 대해, 잠수함이 헤엄을 칠 수 있는지 궁금해하는 것만큼 의미없는 일이라고 평했다.
"Testing shows the presence, not the absence of bugs"
"2 or more, use a for"
생애
1930. 5. 11 |
네덜란드 로테르담에서 출생. 아버지는 화학자, 어머니는 수학자였다. |
1942 |
12살에 Gymnasium Erasminium라는, 매우, 극도로 똑똑한 학생들만 갈 수 있는 고등학교에 입학하여 다양한 것을 배웠다. |
1945 |
법조계를 고민했으나 부모님의 권유에 따라 레이던 대학교에 입학하여 이론물리학을 전공. 이후 컴퓨터 분야에 관심이 생겨 전공을 바꾸게 된다. |
1951 |
캠브리지 대학교 programmingelectronic computing devices(M.V. Wilkes)를 수강하였고 수학, 물리학 박사 학위를 취득했다. |
1952. 3 |
암스테르담 Mathematical Center 에서 파트 타임 일 시작. 네덜란드의 공식적인 첫 '프로그래머'가 되었다. |
1956 |
최단 경로 알고리즘(다익스트라 알고리즘) 개발 |
1959 |
암스테르담 대학에서 'Communication with an Automatic Computer' 로 PhD(박사 학위) 취득. 해당 논문의 내용은 네덜란드에서 발명된 첫 상업적인 컴퓨터(X1)의 어셈블리어에 공헌하였다. |
1960's |
논문 "GOTO문의 해로움"(Go To Statement Considered Harmful). 논문의 제목은 데이크스트라가 직접 지은 것이 아니라, 당시 편집장이었던 니클라우스 비르트가 지었다. |
1962 |
네덜란드 남부의 Eindhoven University of Technology에서 수학 교수로 활동했다. 당시 학교에서는 컴퓨터 관련 학과가 없었고, 수학과는 이것을 충족시켜주지 못했기 때문에 1960년대 후반에 다익스트라는 직접 THE operating system을 학교 내에 만들었고 이는 후에 운영 체제에 영향을 주게 된다. |
1971 |
Royal Netherlands Academy of Arts and Sciences 회원으로 활동했다. |
1972 |
튜링상을 수상했다. |
1973 |
Burroughs Corporation에서 일하게 된다. 해당 회사는 당시 혁신적인 하드웨어 구조를 기반으로 한 컴퓨터를 생산했다. 이곳에서 일하는 동안 그는 혼자 약 500개의 연구 논문을 썼다. 그의 생애 중 가장 많은 연구 결과를 얻은 시기이다. 어쨌거나 이렇게 많은 연구들로 인해 그는 학교에 일주일 중 화요일 하루만 출근할 수 있었는데, 이것이 유명한 Tuesday Afternoon Club이다. 이곳에서 그는 동료들과 과학적인 기사 등을 다양한 관점(notation, organisation, presentation, language, content)으로 토론했다. |
1974 |
Harry H. Goode Memorial Award 를 수상했다. |
1984 |
University of Texas at Austin (USA)로 옮겨가면서 Tuesday Afternoon Club이 Austin에서 행해졌다. 컴퓨터 과학부의 Schlumberger Centennial Chair (의장)을 역임했다. |
2000 |
은퇴 |
2002. 8. 6 |
오랜 투병 끝에 암으로 사망하였다. |
업적 및 연구
다익스트라 알고리즘(최단 경로 문제) Dijkstra's algorithm (single-source shortest path problem)
GOTO문을 사용하지 말 것을 주장
세마포어Semaphore에 대한 연구를 시작, 개념을 정립
ALGOL 60 컴파일러 첫 구현
프림 알고리즘 (최소 생성나무) DJP algorithm (minimum spanning tree problem)
구조적 분석 Structured analysis
구조적 프로그래밍 Structured programming
추상화 계층을 통한 운영체제 시스템 디자인 접근 Layered approach to operating system design
THE 멀티프로그래밍 시스템 THE multiprogramming system Concept of levels of abstraction
다중작업 개념
추상화 계층 개념
소프트웨어 구조에서 계층화된 구조 Concept of layered structure in software architecture (layered architecture)
협력 순차 프로세스(cooperating sequential processes) 개념
프로그램 가족(program families) 개념
가드 개념
스레드 Multithreaded programming
병행 컴퓨팅 Concurrent programming
병렬 알고리즘 Concurrent algorithms
분산 컴퓨팅 Principles of distributed computing
분산 알고리즘 Distributed algorithms
동기화 (컴퓨터 과학) Synchronization primitive
상호 배제 Mutual exclusion
임계 구역 Critical section
데커의 알고리즘 일반화 Generalization of Dekker's algorithm
삼색 표시 알고리즘 Tri-color marking algorithm
콜 스택 Call stack
장애 허용 시스템 Fault-tolerant systems
자기 안정화 Self-stabilizing distributed systems
기아 상태 Resource starvation
교착 상태 Deadly embrace
데드락 방지 알고리즘 Deadlock prevention algorithms
차량기지 알고리즘 Shunting-yard algorithm
은행원 알고리즘 Banker's algorithm
식사하는 철학자들 문제 Dining philosophers problem
잠자는 이발사 알고리즘 Sleeping barber problem
생산자-소비자 문제 Producer–consumer problem (bounded buffer problem)
네덜란드 국기 문제 Dutch national flag problem
술어 변환자 시맨틱 Predicate transformer semantics
보호 명렁어 언어 Guarded Command Language
최약 사전조건 계산(Weakest precondition calculus)
무한정 비결정론 Unbounded nondeterminism
다익스트라-스홀턴 알고리즘 Dijkstra-Scholten algorithm
스무스 정렬 Smoothsort
관심의 분리 Separation of concerns
형식 검증 Program verification
프로그램 도출 Program derivation
소프트웨어 위기 Software crisis
소프트웨어 구조 Software architecture
하향식과 상황식 디자인 프로그램 조합
소프트웨어 개발 프로세스에 대한 수학적 접근
너어어무나 굉장히 많이 접하는 다익스트라 님입니다. 자주 본다 싶었는데 정말 자주 봴 만 하네요..ㅎㅎ..... 개인적으로는 생각보다 최근 분?? 이셔서 조금 놀랐습니다.
-
https://namu.wiki/w/%EC%97%90%EC%B8%A0%ED%97%88%EB%A5%B4%20%EB%8B%A4%EC%9D%B5%EC%8A%A4%ED%8A%B8%EB%9D%BC
https://ko.wikipedia.org/wiki/%EC%97%90%EC%B8%A0%ED%97%88%EB%A5%B4_%EB%8D%B0%EC%9D%B4%ED%81%AC%EC%8A%A4%ED%8A%B8%EB%9D%BC
https://en.wikipedia.org/wiki/Edsger_W._Dijkstra
http://cs-exhibitions.uni-klu.ac.at/index.php?id=52
https://www.thocp.net/biographies/dijkstra_edsger.htm
'Career' 카테고리의 다른 글
폰 노이만 구조 vs 하버드 구조 vs 수정된 하버드 구조 (0) | 2017.03.30 |
---|---|
MIT App Inventor 소개 (0) | 2017.03.28 |
Big endian, Little endian 에 대해 (0) | 2017.03.18 |
그레이 코드 Gray Code? (0) | 2017.03.15 |
시스템에서 코드의 오류를 검사하는 방법들 (0) | 2017.02.27 |