2016.02.17 13:15

소프트웨어 역사의 주요 인물


소프트웨어 발전에 기여하신 분들을 출생 연도 순으로 정리했습니다. 기술 혁신, 알고리즘 개발 등 학문 및 공학 발전에 이바지 한 분들로 한정한 것입니다.

 

한글 이름 영문 이름 출생 연도
찰스 베비지 Charles Babbage 1791

에이다 러브레이스

Augusta Ada King 1815
조지 George Boole 1815
폰 노이만 John von Neumann 1903
알론조 처치 Alonzo Church 1903

그레이스 호퍼

Grace Murray Hopper 1906
모클리 John William Mauchly 1907
엘런 튜링 Alan Mathison Turing 1912
J 에커트 J Presper Echert 1919
에드가 코드 Edgar Frank "Ted" Codd 1923
더글러스 엥겔바트 Douglas C. Engelbart 1925
메카시 John McCarthy 1927
마빈 민스키 Marvin Minsky 1927
에츠허르 데이크스트라 Edsger Wybe Dijkstra 1930
찰스 앤터니 리처드 호어 Sir Charles Antony Richard Hoare 1934
니클라우스 비르트 Niklaus Wirth 1934
도널드 커누스 Donald Ervin Knuth 1938
엘런 케이 Alan Curtis Kay 1940
데니스 리치 Dennis MacAlistair Ritchie 1941
브라이언 커니핸 Brian Wilson Kernighan 1942
게리 킬달 Gary Arlen Kildall 1942
톰프슨 Kenneth Lane Thompson 1943
찰스 시모니 Charles Simonyi 1948
비야네_스트롭스트룹 Bjarne Stroustrup 1950
리처드 스톨먼 Richard Matthew Stallman 1953
조이 William Nelson Joy 1954
팀 버너스 리 Sir Timothy John "Tim" Berners-Lee 1955
제임스 고슬링 James Arthur Gosling 1955
조슈아 블로흐 Joshua Bloch 1961
마틴 파울러 Martin Fowler 1963
리누스 토르발스 Linus Benedict Torvalds 1969
로버트 마틴 Robert Cecil Martin



[인물 소개 및 업적]


찰스 베비지


영국의 수학자이자 철학자, 발명가, 기계공학자로서 "프로그램이 가능한 컴퓨터" 개념을 창안했다. 배비지는 기계식 컴퓨터를 최초로 개발한 인물로 평가 받고 있으며, 그의 연구 이후 더욱 복잡한 형태의 컴퓨터들이 등장하게 된다. 배비지는 인간의 수작업에 이한 계산으로 인해 자주 오차가 발생하는 것을 확인하고, 이를 개선하기 위해 기계를 이용한 계산 방법을 고안하려 애썼다. 그의 기계적 컴퓨터는 데이터와 메모리를 분리하고, 명령을 입력할 수 있으며, 입/출력 장치를 분리하는 등 현대적 컴퓨터에 사용되는 기법을 포함하고 있었다.


이다 러브레이스


영국 시인 조지 고든 바이런의 유일한 법적 친자이며, 세계 최초의 프로그래머로 알려져 있다. 에이다는 찰스 배비지의 연구에 대한 좋은 이해자이자 협력자였고, 배비지가 고안한 해석기관을 위한 공동작업을 수행한 것으로 널리 알려져 있다. 배비지의 해석기관에서 처리될 목적으로 작성된 알고리즘이 최초의 컴퓨터 프로그램으로 인정되고 있으며, 해석기관을 단순한 계산기 정도로 생각했던 당대의 과학자들과 달리 훨씬 다양한 목적으로 활용될 가능성에 주목해 현대 컴퓨터의 출현을 예측했다. 프로그래밍 언어에 사용되는 중요한 개념인 루프, GOTO 문, IF 문과 같은 제어문의 개념을 소개했다. 또한 서브루린(subroutine)에 대한 개념을 고안하였다.


조지 불


영국의 수학자, 논리학자이다. 논리 대수인 불 대수(Boolean Algebra)를 창안해, 기호논리학 분야에 큰 업적을 남겼다. 부울 대수는 현대 컴퓨터의 논리 연산 기능의 기본 원리이다.


폰 노이만


현대적 컴퓨터의 구조를 설계한 사람이다. 지금까지 거의 모든 컴퓨터는 폰 노이만이 정립한 아키텍쳐를 따르고 있기 때문에 "폰 노이만 머신"이라고도 부른다. 프로그램 내장 방식, 이진법을 컴퓨터에 도입했으며, 순서도와 서브루티, 몬테카를로법을 최초로 사용했다. 1945년 병합 정렬(merge sort)를 만들었고, 간단한 원칙만으로 스스로 진화하는 복잡한 프로그램을 구상했고 이를 오토마톤이라고 명명했다. 유명한 일화는 제자들이 어셈블리어를 만들 당시에 노발대발 했다는데, 그 이유가 '완벽한 신의 언어가 있는데, 그걸 놔두고 저런 조잡한걸 만들려고 하느냐?'였다.


알론조 처치


알론조 처치는 미국의 수학자이자, 논리학자이다. 전산학의 이론적인 기초를 세운 사람 중의 한 명이다. 1936년 람다 대수에 대한 논문을 썼고, 람다 셈법에 대한 처치의 연구는 리스프(LISP) 계열의 프로그래밍 언어 뿐만 아니라, 일반적인 함수형 언어 전반에 큰 영향을 끼쳤다.


그레이스 호퍼


미국의 프로그래머, 수학 교수이자 해군 제독으로 제대한 여성 군인.1906년 뉴욕에서 태어나 후일 바서대학에서 부교수로 수학을 강의했다. 2차대전 발발 직후, 1943년 미 해군에 입대했고 수학적 재능을 이용해 탄도를 계산하는 일과 최초의 컴퓨터 중 하나인 마크Ⅰ의 프로그램을 개발하는 일을 수행하며, 전쟁 이후에는 최초의 상업용 컴퓨터인 유니박(UNIVAC) 개발팀과 함께 프로그램을 개발하고 최초의 컴파일러를 개발하는데 참여했다. 그 후 해군에 복귀해 코볼(COBOL) 언어와 컴파일러 개발에 참여했고 후일 해군 제독으로 전역했다. 또한, 그는 컴퓨터에서 버그라는 단어를 최초로 사용한 것으로 유명하다. 1946년 하버드대학의 컴퓨터 마크Ⅱ를 사용하던 중 컴퓨터에 고장이 발생했는데 컴퓨터에 나방이 붙어 장애를 일으킨 것을 확인하고, 일지에 고장을 일으킨 벌레를 테이프로 붙인 후, 컴퓨터 버그란 이름을 붙였다


존 모클리


J 프레스퍼 에커트와 함께 최초의 전자 컴퓨터인 애니악을 만든 미국의 물리학자이다. 1943년 미국 전쟁성(지금의 국방부)은 펜실베니아 대학교의 공학 교수였던 모클리를 ENIAC 개발을 위한 프로젝트 총괄 책임자로 임명했다. J. 프레스퍼 에커트와 함께 ENIAC을 제작하였으며 이후 EDVAC, UNIAC 등의 컴퓨터를 설계했다.


엘런 튜링


영국의 수학자, 암호학자, 논리학자이자 컴퓨터 과학의 선구적 인물이다. 이론 컴퓨터 과학과 인공지능 분야에 지대한 공헌을 했기 때문에 "컴퓨터 과학의 아버지"라고 불린다. 튜링 기계는 튜링이 알고리즘을 설명하기 위해 도입한 가상의 기계이다. 이 기계는 한정된 종류의 기호 중 하나를 기록할 수 있는 칸들이 무한히 이어진 띠와 각 칸의 정보를 읽고 수정하는 기계로 이루어져 있다. 그리고 튜링 머신의 상태와 칸에 기록된 기호에 따라 지정된 절차를 수행한다. 튜링 머신이 수행하는 절차는 1. 현재 기계가 위치하는 칸의 기호를 수정 2. 띠의 위치 이동 3. 튜링 머신의 상태 변경 이 있다. 현대적 소프트웨어는 그 기본 원리가 튜링 머신에 기초한다.


J 에커트


존 모클리의 제자로서 ENIAC을 설계 및 개발하는 프로젝트에서 수석 엔지니어로 참여했다.


에드가 코드


관계형 데이터 베이스 이론의 창안자. 미국 미시간대학교에서 컴퓨터과학 박사 학위를 받은 후, IBM 에서 근무하다 "A Relational Model of Data for Large Shared Data Banks"라는 논문을 썼다. 코드의 관계형 모멜에 대한 논문에 크게 감명 받은 래리 앨리슨(Larry Ellison)은 지금의 오라클(ORACLE)로 이름을 바꾼 회사를 설립했다.


더글러스 엥겔바트


더글러스 엥겔바트(Douglas C. Engelbart, 1925년 1월 30일 ~ 2013년 7월 2일, 오리건 주 출생)는 노르웨이/스웨덴계 미국인 발명가이다. 그는 특히 컴퓨터 마우스의 발명자로 유명하다. 또한 그래픽 사용자 인터페이스, 하이퍼텍스트, 네트워크 컴퓨터 등 인간과 컴퓨터 상호 작용 분야의 선구자이다.


존 메카시


존 매카시(John McCarthy, 1927년 9월 4일 - 2011년 10월 24일)는 미국의 전산학자이자 인지과학자이다. 인공지능에 대한 연구 업적을 인정받아 1971년 튜링상을 수상했다. 리스프 프로그래밍 언어를 발명했으며, 1956년에 다트머스 학회에서 처음으로 '인공지능'(Artificial Intelligence)이라는 용어를 창안했다.


마빈 민스키


마빈 리 민스키(Marvin Lee Minsky, 1927년 8월 9일 ~ 2016년 1월 24일)은 인공지능(AI) 분야를 개척한 미국인 과학자이다. MIT의 인공지능 연구소의 공동 설립자이며, AI와 관련된 몇 개의 책의 저자이기도 하다.


에츠허르 데이크스트라


데이크스트라는 전산학이 아직 학문으로 완전하게 정립되지 않았던 시절에 전산학의 여러 분야에 걸쳐 많은 공헌을 했다. 그의 다방면에 걸친 업적은 다음과 같다. 데이크스트라 알고리즘을 개발하여 최단경로 알고리즘에 대한 학문적 연구를 시작했다. GOTO문을 사용하지 말 것을 주장했으며, 그의 주장은 1968년에 그의 논문 "GOTO문의 해로움"(Go To Statement Considered Harmful)에 정리되었다. 세마포어에 대한 연구를 처음으로 시작하였다.


찰스 앤터니 리처드 호어


찰스 앤터니 리처드 호어 경, Kt (Sir Charles Antony Richard Hoare, 1934년 1월 11일 ~ )은 영국의 컴퓨터 과학자이다. 애칭 토니 호어(Tony Hoare)로도 불린다. 가장 널리 쓰이는 정렬 알고리즘의 하나인 퀵 정렬을 고안해낸 것으로 유명하다. 그는 호어 이론, 형식 언어의 한 종류로 병행 프로세스간 통신을 기술하는데 이용되는 커뮤니케이팅 시퀀셜 프로세스(CSP)의 개발, 프로그래밍 언어인 Occam에도 영향을 끼친 것으로 알려져 있다.


니클라우스 비르트


스위스의 컴퓨터 과학자이며, 파스칼을 포함한 다양한 프로그래밍 언어를 설계한 것으로 가장 유명하다. 


도널드 커누스


커누스는 컴퓨터 과학 분야에서 가장 권위있는 책인 《The Art of Computer Programming》의 저자로 가장 널리 알려져 있다. 알고리즘 분석 분야를 실질적으로 창조했으며, 이론 컴퓨터 과학의 여러 분야에서 기초적인 중요한 공헌을 했다. TEX 조판 시스템과 메타폰트 폰트 디자인 시스템을 만들었으며 문학적 프로그래밍 (literate programming)의 개념을 처음으로 주장했다.


엘런 케이


앨런 커티스 케이는 미국의 전산학자이다. 객체 지향 프로그래밍과 사용자 인터페이스 디자인 분야의 선구자로 잘 알려져 있다. 


데니스 리치


켄 톰슨(Ken Thompson) 등과 함께 최초의 유닉스(Unix) 시스템을 개발했고, 1971년 최초의 〈Unix Programmer's Manual〉을 썼다. 또한 C 언어를 개발한 후 브라이언 커니핸과 함께 〈C 프로그래밍 언어〉(The C Programming Language)를 기술했다. 커니핸과 〈C 프로그래밍 언어〉책을 썼기에 커니핸이 C 언어 개발에 참여한 것으로 종종 오해받으나 커니핸의 말에 따르면 자신은 C언어 개발에 참여하지 않았다고 한다. 그는 ALTRAN, B언어, BCPL, Multics 등의 개발에도 영향을 끼친 것으로도 알려져 있다.


브라이언 커니핸


C를 만든 데니스 리치와 함께 최초의 C언어 해설서인 〈C 언어 프로그래밍〉를 써서 널리 알려져 있다. 커니핸은 자신은 C 언어의 탄생에 전혀 기여하지 않았다고 밝혔다. 그는 dirtroff를 비롯한 수많은 유닉스 프로그램을 작성했다. 선 린과 함께 그래프 분할과 외판원 문제를 푸는 유명한 휴리스틱을 개발하였다. 전자는 커니핸-린 알고리즘 (줄여서 KL), 후자는 린-커니핸 알고리즘 (줄여서 LK)이라고 부른다.


게리 킬달


게리 알렌 킬달은 운영 체제 CP/M과 GEM의 개발자이며, 디지털 리서치(Digital Research)의 설립자이다. 윈도와 메뉴로 동작하는 사용자 인터페이스를 갖춘 선점형 멀티태스킹 운영 체제를 도입했다. 최초의 디스크 트랙 버퍼링 체계, 미리 읽기 알고리즘, 파일 디렉터리 캐시와 램 디스크 에뮬레이터의 창조, 1980년대에 바이너리 재컴파일러의 도입, 최초로 마이크로프로세서에 특화된 프로그래밍 언어와 컴파일러 제작 등의 업적을 이루었다.


켄 톰프슨


케니스 레인 톰프슨은 미국의 컴퓨터 프로그래머로, AT&T 벨 연구소에서 유닉스와 플랜 9 운영 체제의 개발을 주도했다. C언어의 모체가 된 B언어를 개발하기도 했다. 2006년부터 구글에서 근무하면서 고 언어의 개발에 참여했다. 그밖에 정규표현식, QED 편집기, UTF-8 인코딩 등의 개발에도 기여했고, 체스 기계 벨의 개발에도 동참했다. 1983년에 유닉스 개발과 관련된 공로로 데니스 리치와 함께 튜링상을 수상했다.


찰스 시모니


헝가리 태생의 미국 소프트웨어 개발자, MS에서 근무하면서 MS Word 와 Excel을 개발했다. "헝가리안 명명법"이라 불리는 코딩 스타일을 창안했다.


비야네_스트롭스트룹


리처드 스톨먼


빌 조이


팀 버너스 리


제임스 고슬링


조슈아 블로흐


마틴 파울러


리누스 토르발스


로버트 마틴



켄트 벡,  조엘 스폴스키, 제프 맷우드, 앤디 루빈, 롭 파이크, 마츠모토 유키히로, 귀도 반 로섬, Robert Donner, Curt Johnson (mine sweeper), Robert sedgewick, GoF, three amigos, 허먼 훌러리스, 레이 오지, 와츠 험프리, 마크 안드레센, 마가렛 해밀턴, 앤더스 해즐스버그, John Vincent Atanasoff, 제프리 리처

Posted by 善 곽중선