더글러스 매킬로이
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
더글러스 매킬로이는 미국의 컴퓨터 과학자이다. 매크로 프로세서의 선구자이며, 유닉스 운영 체제 개발에 기여했다. 벨 연구소에서 근무하며 유닉스 관련 프로그램들을 개발했고, 유닉스 파이프라인 아이디어를 도입했다. 또한, 프로그래밍 언어 설계에도 참여했으며, 알고리즘 개발에도 기여했다. 미국 과학 진흥 협회 회원이며, USENIX 평생 공로상 등을 수상했다.
더 읽어볼만한 페이지
- 유닉스 관계자 - 켄 톰프슨
켄 톰프슨은 미국의 컴퓨터 과학자로, 데니스 리치와 함께 유닉스 운영 체제를 개발하고 B 및 Go 프로그래밍 언어 개발에 참여했으며, 정규 표현식 구현과 톰프슨 구성 알고리즘 발명에 기여하여 1983년 튜링상을 수상했다. - 유닉스 관계자 - 브라이언 커니핸
브라이언 커니핸은 프린스턴 대학교 컴퓨터 과학과 교수이자 벨 연구소에서 유닉스 철학을 대중화하고 "유닉스" 용어를 만든 컴퓨터 과학자로, "Hello, World!" 프로그램을 통해 프로그래밍 교육에 기여했으며 AWK 개발 및 C 프로그래밍 언어 저술에도 참여했다. - 다트머스 대학교 교수 - 존 매카시 (컴퓨터 과학자)
존 매카시는 LISP 프로그래밍 언어를 개발하고 '인공지능'이라는 용어를 처음 사용하는 데 기여한 인공지능 분야의 선구적인 컴퓨터 과학자로서, 가비지 컬렉션 기법 발명, 유틸리티 컴퓨팅 개념 제시 등 컴퓨터 과학 발전에 혁신적인 공헌을 했다. - 다트머스 대학교 교수 - 호세 도노소
호세 도노소는 1924년 칠레에서 태어나 칠레 가톨릭대학교 교수, 잡지 편집자 등을 역임했으며, 상류층의 몰락과 퇴폐를 고발하는 작품을 통해 국제적인 명성을 얻은 칠레의 소설가이다. - 매사추세츠 공과대학교 동문 - 길버트 뉴턴 루이스
길버트 뉴턴 루이스는 열역학, 화학 결합, 산-염기 반응 등 다양한 분야에서 업적을 남긴 미국의 물리화학자이다. - 매사추세츠 공과대학교 동문 - 정몽준
정몽준은 현대중공업 대표이사 사장, 7선 국회의원, 대한축구협회 회장, FIFA 부회장을 역임하고 2002년 FIFA 월드컵 유치에 기여했으며, 아산나눔재단을 설립하여 사회 공헌 활동을 한 대한민국의 기업인, 정치인, 축구 행정가이다.
더글러스 매킬로이 - [인물]에 관한 문서 | |
---|---|
기본 정보 | |
![]() | |
출생일 | 1932년 4월 24일 |
출생지 | 뉴버그, 뉴욕 |
국적 | 미국 |
분야 | 컴퓨터 과학 수학 공학 |
모교 | 코넬 대학교 (B.S., 1954) 매사추세츠 공과대학교 (Ph.D., 1959) |
학위 논문 제목 | 원추 껍질의 미분 방정식 해법에 관하여 (On the Solution of the Differential Equations of Conical Shells) |
지도교수 | 에릭 라이스너 |
알려진 업적 | 매크로 유닉스 파이프라인 유닉스 철학 소프트웨어 컴포넌트 echo diff sort join RUNOFF tr 유닉스 매뉴얼 |
웹사이트 | 더글러스 매킬로이 개인 웹사이트 |
경력 | |
직장 | 벨 연구소 |
고용주 | 다트머스 대학교 |
수상 | |
수상 | USENIX STUG 상 |
2. 생애 및 경력
매킬로이는 1958년 벨 연구소에 입사하여 1965년부터 1986년까지 컴퓨팅 기술 연구 부서(유닉스 운영 체제의 발상지)의 책임자로 있었으며, 1997년 벨 연구소 은퇴후 다트머스 대학교 컴퓨터 과학과의 겸임 교수로 임명되었다.[4] 그는 컴퓨터 협회 전국 강사, 튜링상 위원장, 출판 계획 위원회 위원, ''ACM 통신'', ''ACM 저널'', ''ACM 프로그래밍 언어 및 시스템 거래''의 부편집자로 활동했고, CSNET의 집행 위원회에서도 활동했다.[4]
2. 1. 학력
코넬 대학교에서 공학 물리학 학사 학위를 받았고,[4] 1959년 MIT에서 ''원뿔 껍질의 미분 방정식 해법에 관하여''(지도교수 에릭 레이스너)로 응용수학 철학 박사 학위를 받았다.[3] 1954년부터 1958년까지 MIT에서 가르쳤다.[4]2. 2. 주요 경력
연도 | 경력 |
---|---|
1954년 - 1958년 | MIT 강사[4] |
1958년 - 1997년 | 벨 연구소 입사[4] |
1965년 - 1986년 | 벨 연구소 컴퓨팅 기술 연구 부서 책임자[4] |
1967년 - 1968년 | 옥스퍼드 대학교 객원 강사[4] |
1997년 - 현재 | 다트머스 대학교 컴퓨터 과학과 겸임 교수[4] |
기타 | 컴퓨터 협회 전국 강사, 튜링상 위원장, 출판 계획 위원회 위원, ACM 통신, ACM 저널, ACM 프로그래밍 언어 및 시스템 거래 부편집자, CSNET 집행 위원회 위원[4] |
매킬로이는 매크로 프로세서의 선구자로, 1959년 벨 연구소에서 더글러스 E. 이스트우드와 함께 SAP 어셈블러에 조건부 및 재귀 매크로를 도입하여 매크로 SAP를 만들었다.[7] 1960년 논문은 (고급 프로그래밍 언어를 포함한) 모든 프로그래밍 언어를 확장하는 매크로 프로세서 분야의 핵심 기여로 평가받으며,[9][7] 벨 연구소에서 매크로 언어 전통("L6와 AMBIT에서 C까지 모든 것")을 시작했다.[10] 그의 매크로 처리 아이디어는 TRAC 매크로 프로세서 개발에 주요 영감을 주었다.[11] 그는 또한 FORTRAN IV용 M6 매크로 프로세서를 공동 저술했으며,[12] 이는 ALTRAN에서 사용되었고[24] 나중에 초기 유닉스에 포함되었다.[14]
3. 연구 및 업적
1960년대와 1970년대에 걸쳐 매킬로이는 멀틱스(Multics) 운영체제(예: RUNOFF[13])와 유닉스 운영체제(예: ''diff'', ''echo'', ''tr'', ''join'' 및 ''look''[14])를 위한 프로그램을 기여했으며, 이러한 프로그램들은 POSIX 표준과 유닉스 계열 운영체제의 채택을 통해 오늘날까지 널리 사용되고 있다. 그는 유닉스 파이프라인의 아이디어를 도입했다.[13] TMG 컴파일러-컴파일러를 PDP-7 및 PDP-11 어셈블리로 구현하여 유닉스에서 실행되는 최초의 고급 프로그래밍 언어가 되었고, 켄 톰슨의 B 프로그래밍 언어[13]와 스티븐 존슨의 Yacc 파서-생성기에 영향을 미쳤다.[15] 매킬로이는 데니스 리치로부터 유닉스 매뉴얼 컴파일을 넘겨받아 버전 7 유닉스 매뉴얼 페이지의 1권을 편집했다.[16] 샌디 프레이저에 따르면, "매뉴얼이 존재한다는 사실, 즉 그가 매뉴얼에 높은 기준을 고집했다는 것은, 문서화된 모든 프로그램에 대해 높은 기준을 고집했다는 것을 의미한다."[17]
매킬로이는 SNOBOL 프로그래밍 언어 설계 및 구현에 영향을 미쳤다. 그의 문자열 조작 매크로는 1962년 SNOBOL 초기 구현에 광범위하게 사용되었으며, 이후 작업에서도 두드러지게 나타났고, 결국 기계 독립적인 구현 언어 SIL로 이어졌다. 1969년 매킬로이의 주장에 따라 SNOBOL4에 테이블 형식(연관 배열)이 추가되었다.[18] 1960년대에 그는 PL/I 프로그래밍 언어 설계에 참여했다.[19][20] 그는 언어를 설계한 IBM–SHARE 위원회 멤버였으며,[21] 로버트 모리스와 함께 Multics 프로젝트를 위해 TMG로 초기 PL/I(EPL) 컴파일러를 작성했다.[22][23] 1965년경, 매킬로이는 W. 스탠리 브라운과 함께 IBM 7094 컴퓨터용 ALTRAN 프로그래밍 언어 초기 버전을 구현했다.[24][7] 매킬로이는 또한 프로그래밍 언어 C++ 설계에도 상당한 영향을 미쳤다(예: 그는 스트림 출력 연산자 `<<`를 제안했다).[25]
매킬로이는 1969년 그래프에서 모든 신장 트리를 생성하는 효율적인 알고리즘 개발에 기여했다. 이 알고리즘은 1965년 조지 J. 민티가 처음 발견했다.[7][27] 1990년대에는 정렬 기술 개선 작업을 진행했으며, 존 벤틀리와 함께 최적화된 qsort를 공동 개발했다.[26]
3. 1. 매크로 프로세서
매킬로이는 매크로 프로세서의 선구자로 여겨진다.[9][5][6] 1959년, 벨 연구소의 더글러스 E. 이스트우드와 함께 조건부 및 재귀 매크로를 널리 사용되는 SAP 어셈블러에 도입하여 매크로 SAP라고 알려진 것을 만들었다.[7] 그의 1960년 논문은 (고급 포함) 모든 프로그래밍 언어를 확장하는 매크로 프로세서 분야의 핵심적인 기여로 평가받는다.[9][7] 이러한 기여는 벨 연구소에서 매크로 언어 전통("L6와 AMBIT에서 C까지 모든 것")을 시작했다.[10] 매킬로이의 매크로 처리 아이디어는 TRAC 매크로 프로세서 개발에 주요 영감을 주었다.[11]
그는 또한 FORTRAN IV용 M6 매크로 프로세서를 공동 저술했으며,[12] 이는 ALTRAN에서 사용되었고[24] 나중에 초기 유닉스에 포함되었다.[14]
3. 2. 유닉스에 대한 기여
매킬로이는 1960년대와 1970년대에 걸쳐 멀틱스(Multics) 운영체제(예: RUNOFF[13])와 유닉스 운영체제(예: ''diff'', ''echo'', ''tr'', ''join'' 및 ''look''[14])를 위한 프로그램을 기여했으며, 이러한 프로그램들은 POSIX 표준과 유닉스 계열 운영체제의 채택을 통해 오늘날까지 널리 사용되고 있다. 그는 유닉스 파이프라인의 아이디어를 도입했다.[13] TMG 컴파일러-컴파일러를 PDP-7 및 PDP-11 어셈블리로 구현했으며, 이는 유닉스에서 실행되는 최초의 고급 프로그래밍 언어가 되었고, 켄 톰슨의 B 프로그래밍 언어[13]와 스티븐 존슨의 Yacc 파서-생성기에 영향을 미쳤다.[15]
매킬로이는 데니스 리치로부터 유닉스 매뉴얼 컴파일을 넘겨받았다. 그는 버전 7 유닉스 매뉴얼 페이지의 1권을 편집했다.[16] 샌디 프레이저에 따르면, "매뉴얼이 존재한다는 사실, 즉 그가 매뉴얼에 높은 기준을 고집했다는 것은, 문서화된 모든 프로그램에 대해 높은 기준을 고집했다는 것을 의미한다."[17]
3. 3. 프로그래밍 언어 설계
매킬로이는 SNOBOL 프로그래밍 언어 설계 및 구현에 영향을 미쳤다. 그의 문자열 조작 매크로는 1962년 SNOBOL 초기 구현에 광범위하게 사용되었으며, 이후 작업에서도 두드러지게 나타났고, 결국 기계 독립적인 구현 언어 SIL로 이어졌다. 1969년 매킬로이의 주장에 따라 SNOBOL4에 테이블 형식(연관 배열)이 추가되었다.[18]
1960년대에 그는 PL/I 프로그래밍 언어 설계에 참여했다.[19][20] 그는 언어를 설계한 IBM–SHARE 위원회 멤버였으며,[21] 로버트 모리스와 함께 Multics 프로젝트를 위해 TMG로 초기 PL/I(EPL) 컴파일러를 작성했다.[22][23]
1965년경, 매킬로이는 W. 스탠리 브라운과 함께 IBM 7094 컴퓨터용 ALTRAN 프로그래밍 언어 초기 버전을 구현했다.[24][7]
매킬로이는 또한 프로그래밍 언어 C++ 설계에도 상당한 영향을 미쳤다(예: 그는 스트림 출력 연산자 `<<`를 제안했다).[25]
3. 4. 알고리즘
매킬로이는 1969년 그래프에서 모든 신장 트리를 생성하는 효율적인 알고리즘 개발에 기여했다. 이 알고리즘은 1965년 조지 J. 민티가 처음 발견했다.[7][27]
1990년대에는 정렬 기술 개선 작업을 진행했으며, 존 벤틀리와 함께 최적화된 qsort를 공동 개발했다.[26]
4. 수상 및 인정
1995년, 미국 과학 진흥 협회(AAAS) 회원으로 선출되었다.[28] 2004년에는 USENIX 평생 공로상 ("The Flame")[29]과 소프트웨어 도구 사용자 그룹(STUG) 상을 모두 수상했다.[30] 2006년에는 미국 공학 한림원(NAE) 회원이 되었다.[31]
5. 컴퓨팅에 대한 관점
맥킬로이는 "프로그래밍의 진정한 영웅은 '음수 코드'를 작성하는 사람이다"라는 말을 남긴 것으로 알려져 있다.[32] 여기서 '음수 코드'란 소스 코드 변경을 통해 프로그램의 품질, 가독성, 속도를 향상시키면서 코드 라인 수를 줄이는 것을 의미하며, 이는 애플 개발자 빌 앳킨슨의 유명한 일화와 유사하게 이해된다.[33]
6. 참고 문헌
- 데이비드 C. 브록(David C. Brock), 맬컴 D. 매킬로이(Malcom D. McIlroy), ''McIlroy, Malcom (Doug) Douglas oral history, part 1 of 2'', 컴퓨터 역사 박물관, 59쪽, 2019년 9월 30일.
- 데이비드 C. 브록(David C. Brock), 맬컴 D. 매킬로이(Malcom D. McIlroy), ''McIlroy, Malcom (Doug) Douglas oral history, part 2 of 2'', 컴퓨터 역사 박물관, 52쪽, 2019년 11월 6일.
- 피터 H. 살러스, 『UNIX의 1/4세기』, 애디슨-웨슬리, 1994년 5월 31일 (ISBN 0-201-54777-5, ISBN 4756136591)
참조
[1]
웹사이트
First International Conference on Ada (R) Programming Language Applications for the NASA Space Station, volume 2 - NASA-TM-101202
https://ntrs.nasa.go[...]
1986-06-02
[2]
웹사이트
Mass produced software components
http://homepages.cs.[...]
Scientific Affairs Division, NATO
1969-01
[3]
웹사이트
M. Douglas (Malcolm) McIlroy
https://www.genealog[...]
2020-02-07
[4]
간행물
Douglas McIlroy
http://hopl.info/sho[...]
[5]
학술지
Macro memories, 1964–2013
https://tug.org/TUGb[...]
[6]
서적
Generative and Component-Based Software Engineering
Springer
[7]
웹사이트
Computing Science Technical Report No. 99 – A History of Computing Research at Bell Laboratories (1937–1975)
http://cm.bell-labs.[...]
Bell Labs
2020-02-02
[8]
간행물
Macro SAP – Macro compiler modification of SAP
http://hopl.murdoch.[...]
[9]
학술지
The History of Macro Processors in Programming Language Extensibility
[10]
간행물
Bell SAP – SAP with conditional and recursive macros
http://hopl.murdoch.[...]
[11]
서적
Proceeding ACM '65 Proceedings of the 1965 20th national conference
[12]
서적
Macro Processors
CUP Archive
[13]
학술지
The Evolution of the Unix Time-sharing System
http://cm.bell-labs.[...]
[14]
논문
A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986
http://www.cs.dartmo[...]
[15]
논문
Yacc: Yet Another Compiler-Compiler
http://dinosaur.comp[...]
AT&T Bell Laboratories
2020-01-31
[16]
웹사이트
History of UNIX Manpages
https://manpages.bsd[...]
[17]
웹사이트
The Creation of the UNIX Operating System
http://csdev.cas.upm[...]
Bell Labs
[18]
학술지
A history of the SNOBOL programming languages
ACM
[19]
서적
A Handbook of Software and Systems Engineering: Empirical Observations, Laws, and Theories
Pearson Education
[20]
웹사이트
The World's First COBOL Compilers
http://www.computerh[...]
1997-06-12
[21]
웹사이트
Interview with M.D. McIlroy
https://www.princeto[...]
1989-08-18
[22]
웹사이트
The Multics PL/1 Compiler
http://www.multician[...]
[23]
웹사이트
The Choice of PL/I
https://multicians.o[...]
[24]
뉴스
The ALTRAN System for Rational Function Manipulation — A Survey
Communications of the ACM
1971-08
[25]
웹사이트
A History of C++: 1979−1991
http://www.stroustru[...]
[26]
학술지
Engineering a sort function
1993-11
[27]
서적
Graph Theory with Applications to Engineering and Computer Science
Prentice-Hall
[28]
웹사이트
Elected Fellows: Listing of Fellows who are current members
https://www.aaas.org[...]
American Association for the Advancement of Science
[29]
웹사이트
Flame Award
https://www.usenix.o[...]
USENIX
2020-02-05
[30]
웹사이트
STUG Award
https://www.usenix.o[...]
USENIX
2020-02-05
[31]
웹사이트
Dr. M. Douglas McIlroy
https://www.nae.edu/[...]
National Academy of Engineering
2020-02-05
[32]
문서
[33]
웹사이트
MacPaint and QuickDraw Source Code
http://www.computerh[...]
2010-07-18
[34]
웹인용
STUG Award
https://www.usenix.o[...]
USENIX
2020-02-05
[35]
웹인용
First International Conference on Ada (R) Programming Language Applications for the NASA Space Station, volume 2 - NASA-TM-101202
https://ntrs.nasa.go[...]
1986-06-02
[36]
웹인용
Mass produced software components
http://homepages.cs.[...]
Scientific Affairs Division, NATO
1969-01
[37]
서적
A Handbook of Software and Systems Engineering: Empirical Observations, Laws, and Theories
Pearson Education
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com