본문 바로가기
3_ 매콤한 컴퓨터세상

C 언어의 창시자 Goodbye World, 데니스 매캘리스테어 리치(Dennis MacAlistair Ritchie) 돌아가심 ㅠ

by 준환이형님_ 2011. 10. 13.

printf("Goodbye world! ㅠㅠ \n");


Unix와 C를 만드신 Dennis MacAlistair Ritchie 님이 10월9일 올해 70세로 사망하셨습니다.

컴퓨터의 전설은 아직 모두 살아 있었는데.. 점점 한 분씩 돌아가시는군요.. 

왜 뉴스에 크게 보도되지 않았을까요. 세상은.. 모두 C로 돌아가잖아요..ㅠ


참, 이건 여담이지만


매트릭스의 아키텍트 컨셉은, 컴퓨터 세상의 아키텍트셨던 데니스리치의 이미지를 배낀 것 같지 않나요? 



출처 : 위키백과
출처 : http://cafe.naver.com/comil.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=4179&

데니스 매캘리스테어 리치(Dennis MacAlistair Ritchie) (1941년 9월 9일 ~ 2011년 10월 12일) ALTRAN, B언어, BCPL, C, Multics, 유닉스 등의 개발에 끼친 영향으로 유명한 전산학자이자 현대 컴퓨터의 선구자이다.
미국의 뉴욕, 브롱스빌(Bronxville)에서 태어났으며. 하버드에서 물리학과 응용수학 학위를 얻었다. 1967년부터 벨 연구소 컴퓨터 연구 센터에서 일하고 있다. 현재는 루슨트 테크놀로지스의 시스템 소프트웨어 연구부장이다.
켄 톰슨(Ken Thompson) 등과 함께 최초의 유닉스(Unix) 시스템을 개발했고, 1971년 최초의 〈Unix Programmer's Manual〉을 썼다. 또한 C 언어를 개발한 후 브라이언 커니핸과 함께 〈C 프로그래밍 언어〉(The C Programming Language)를 기술했다. 커니핸과 〈C 프로그래밍 언어〉책을 썼기에 커니핸이 C 언어 개발에 참여한 것으로 종종 오해받기도 한다.
1983년에 켄 톰프슨과 "범용 운영체제 이론개발, 특히 유닉스 운영체제의 구현에 대한 공로"로 튜링상을 수상했다.
많은 유즈넷 뉴스그룹에선 종종 그는 줄여 “DMR”로 지칭된다. 책 〈C 프로그래밍 언어〉를 줄여 말할 때의 K&R중에 R이다.

 

1967년 벨 연구소 컴퓨터 연구 센터 근무
1971년 최초의 'Unix Programmer's Manual' 저술
켄 톰슨, 브라이언 커니핸과 함께 C 언어를 개발
커니핸과 독창적인 명저 'C 프로그래밍 언어 - The C Programming Language' 저술
現 루슨트 테크놀로지스의 시스템 소프트웨어 연구부장

Dennis M. Ritchie (Dennis MacAlistair Ritchie)

 

본명 : Dennis MacAlistair Ritchie
직업 : 시스템설계분석가
출생일 : 1941년 9월 9일
소속 : 루슨트 테크놀로지스 시스템 소프트웨어 연구부장
학력 : 하버드대학교물리학과

1983년 튜링상

C 프로그래밍 언어 - 공저(1978)
유닉스 프로그래머 매뉴얼(1971)

 

------------------------------------------------------------------------------------------------------------------------

Dennis Ritchie : Bell lab Computing Science Research : Unix 와 C 언어 발명

데니스 리치 (Dennis MacAlistair Ritchie) 은 현대 컴퓨터의 선구자들 중에 한 명이다. 켄 톰슨(Ken Thompson)등과 함께 최초의 유닉스(Unix) 시스템을 개발하고, 1971년 첫번째 Unix Programmer's Manual을 썼다. 톰슨과 브라이언 커니간(Brian Kernighan) 과 C 언어를 개발했고, 그와 커니간은 독창적인 The C Programming Language 을 펴냈다. ....... 미국 뉴욕, 브롱스빌(Bronxville) 태생이며. 하바드에서 물리학과 응용수학을 공부했다. 1967년부터 벨 연구소 컴퓨터 연구 센터에서 일하고 있다. B언어와 Unix에 관련되기 이전까지 그는 MulticsBCPLALTRAN등에 관여했다. 현재 루슨트 테크놀로지스의 시스템 소프트웨어 연구부장이다.

C 와 Unix 를 만든사람들 : '우리의 목적은 우리 자신을 위해 좋은 컴퓨팅 환경을 만드는 것이다. 그리고 다른 사람도 그것을 좋아했으면 하는 것이다. '이것은 데니스리치가 1983년 유닉스 운영체제를 개발하고 실용화한 공로로 켄 톰슨 (Kenneth Thompson) 과 함께 튜링상 수상 소감으로 했던 말이다. ....  데니스 리치는 1941년 미국 뉴욕에서 태어났다. 그의 아버지는 벨연구소의 교환시스템 공학연구소에서 책임자로 일하고 있었다. 리치는 하버드 대학에서 물리학을 전공하고 1963년에 졸업했다. 그 다음 5년 동안 같은 대학에서 응용수학을 전공하며 박사과정을 밟았다. 리치는 대학원에 다닐 때 인생의 전환점을 맞게되었는데 1960년대 시작된 MT 분할 프로젝트인 MAC 계획에 파트타임으로 일하게 된 것이다. 그는 그 후 계속 컴퓨터분야에서 일했다.1968년 리치는 벨연구소에 몸담게 됐는데 컴퓨터과학에서 흥미 있는 분야를 집중 탐구하는 것이 그의 일이었다.

켄 톰슨은 1943년 미국 뉴올리언스에서 태어났다. 어렸을 적에 그는 라디오 가게를 들락거리며 전기와 무선 라디오에 대해 많은 것을 배웠다. 그 당시 새로운 상품이 있던 트랜지스터가 개당 10달러에 팔리던 시절이었다. .... 그는 그것을 사려고 돈을 모으고있었는데 하루는 1달러 50센트에 파는 것을 보고 기뻐하며 샀다. 나중에야 아들의 취미에 관심을 가졌던 아버지가 미리 8달러 50센트를 줬다는 사실을 알게 되었다고 한다. ......  1960년 톰슨은 캘리포니아 버클리 대학에서 전기공학을 전공한 그는 1962년 전산실의 프로그램 개발 자리를 찾아냈다. 1963년과 1964년 샌디에고의 한 회사에서 산학협동 프로그램에 참여했으며 1965년 버클리를 졸업하고 1년후 같은 학교에서 전기공학으로 석사 학위를 받았다. 하지만 졸업 이후 전기는 뒷전이었다. 오로지 컴퓨터에만 관심이 있었고, 1965년 톰슨은 벨연구소에서 일하기 시작했다.

리치와 톰슨은 벨연구소에서 만났다. 벨연구소가 멀틱스(Multics)운영체제를 포기한다는 사실이 명확해지자 그들 스스로 운영체제를 만들기로 했고, PDP-7컴퓨터를 찾아내 운영체제를 만들기 시작했다. 운영체제를 만드는 과정에서 리치와 톰슨은 우선 기계에 데이터를 저장하는 방법, 즉 파일 시스템의 구조에 대해 먼저 연구하기 시작했다. '우리는 이 파일 시스템을 위한 조작코드를 작성해야만했다.'라고 리치는 당시를 회상한다고 한다. 그래서 키보드로 타이핑해 낳은 파일 복사 또는 삭제 명령어 등이 파일에서 실제로 동작하도록 만드는 명령 해석기를 만들었다. '우리는 완전히 처음부터 시작했다. 기계 위에는 어떠한 소프트웨어도 없었다. 그리고 프로그램을 작성하는 방법은 대향 GE 컴퓨터에서 크로스 어셈블러에 의한 것이었다. 우리는 GE 컴퓨터에서 프로그램을 짜고 이를 기계에 객체 프로그램으로 바꿔 종이 테이프에 전공한 뒤 그것을 다시 PDP-7로 갖고 내려가서 작업했다.'고 리치는 말했다.

톰슨은 실제로 PDP-7의 어셈블러 역할을 했던 GE 컴퓨터에서 작은 어셈블러를 작성했다. 또한 그들은 작은 에디터도 만들었다. 그들의 작업은 정말로 아무 것도 없는 '무에서 유를 창조'하는 작업이었다. 1971년 말 유닉스 개발이 완료되면서 유닉스는 벨연구소 안팎에서 서서히 성장해나가기 시작했다. 연구소 내부에서는 여러 가지 연구용 버전틀이 라이선스 받아 사용되고 있다. 유닉스는 원래 어셈블러 언어로 작성돼 프로그램간 호환성이 없었지만 운영체제를 고급언어고 만드는 것은 비효율적이고 비실용적인 것이었다. 그래서 리치와 톰슨은 C 언어라는 새로운 고급언어를 만들기로 했다. C는 고급이면서 저차원 언어의 특성을 내포하고 있으며, 시스템 프로그래머에게는 다양한 기능을 제공했다. 리치와 톰슨은 자신들을 위해 편리한 환경을 만들겠다는 생각밖에 없었지만 결국 그들은 유닉스와 C 언어를 개발함으로써 당초 목표보다 더 많은 것을 이루어 놓았다.

Unix, C 는 장난?,  유닉스 운영체제, 그리고 C 프로그래밍 언어 : 김도형 : 우린 멀틱스를 보고 `가능한 아주 복잡하고 암호같이 모호해서' 일반 사용자들은 아예 사용할 엄두를 내지도 못할 새로운 시스템을 설계했습니다. 그리고, 멀틱스의 패러디로 이름을 유닉스로 정했죠. 뭐 일부는 좀 비꼬는 듯한 암시를 주기 위한 이유도 있었지만요. 그 다음 데니스와 브라이언은 파스칼을 완전히 뒤섞어놓은 듯한 언어를 만들고 이름을 `A'라고 했습니다. 그 뒤 사람들이 그 언어로 진짜 중요한 프로그램을 개발하려고 시도하고 있다는 것을 알고나서 우리는 재빨리 언어를 암호화해서 더욱 사용하기 어렵게 만들었고 이 언어는 `B'언어를 거쳐 BCPL 그리고 결국 C가 되었습니다. ..... 현대의 프로그래머들이 이렇게 암호같은 문장을 허용하는 개떡같은 언어를 사용할 것이라고는 전혀 생각지 못했습니다. 그건 우리의 상식밖이었죠. 우린 실제로 이걸 소련에 팔아서 소련의 컴퓨터 과학 기술을 20년이상 퇴보하게 만들 생각이었거든요. 상상해보세요. AT&T와 아른 미국 회사들이 실제로 유닉스와 C를 사용하려고 발악하기 시작했을 때 우리가 얼마나 놀랐겠는지 ....... 우리의 장난을 꿰뚫어 본 사람이 있었다. 그는 Stroustroup 이라는 사람으로 우리의 장난을 꽤 재미있어 했다. 그리고 그도 우리의 놀이 동참하기 시작하였다. 그는 C를 더욱 복잡하게 만들어 도저히 사용할 수 없도록 만들기 시작했다. 그리하여 나온 것이 바로 C++ 라고 하는 언어였다. 그가 C++를 발표하자 모든 사람들은 다시 C++를 지원하려고 노력을 하기 시작했고 ANSI 에서도 표준화 연구를 위해 대거 인원이 투입되었다. 그러자 Stroustroup은 당황하기 시작하였다. 그래서 더욱 햇갈리도록 하기 위해 탬플릿을 추가하였고 예외처리도 넣었다. 그래도 사람들이 계속 따라오려고 노력을 하자 다중상속을 추가하여 컴파일러 구현을 거의 불가능하게 만들었지만 vendor들은 기를 쓰고 이를 구현하려고 노력을 하였던 것이다.

-------------------------------------------------------------------------------------------------------

C는 현재 널리 이용되고 있는 언어 중의 하나이다. C는 고급 프로그래밍 언어이면서도 하위 수준의 언어이고, 특수 목적 언어이면서도 범용 언어인 양면성을 가진 언어로도 유명하다. ALGOL을 개발한 사람들과는 달리 C를 개발한 Dennis Ritchie는 인기있는 프로그래밍 언어를 만들려고 시도한 것이 아니라 좀더 나은 운영 체제를 개발하려 하였다.
1960년대에 Ritchie가 입사한 Bell연구소의 과학자들은 Multics라는 운영 체제에서 실험을 하고 있었다. 이 다중 사용자, 시분할 시스템은 이전까지 수고스럽게 작업하던 프로그래머에게는 급속도로 친한 친구처럼 되었다. 카드 뭉치를 오퍼레이터에게 건네고 출력된 결과를 받기 위해 서너 시간 기다리는 대신 Multics는 사용자가 키보드로 명령을 입력하고 즉각적인 응답을 받을 수 있게 된 것이다. 그러나 경부비 문제로 Bell 연구소는 Multics의 사용을 포기하기로 하였다. 그러나 Thomsom와 Ritchie는 자신들과 연구소의 프로그래머들을 위해 새로운 운영체제인 UNIX를 개발하기로 하였다. 1971년에 UNIX 개발이 완료되었으나 UNIX는 어셈블리어로 작성되어 있었으므로 PDP-11 이외의 컴퓨터에는 이식성이 없었다.


Cambridge 대학과 London 대학의 합도 위원회는 고급 언어이면서도 동시에 하위 수준인 언어를 개발하기로 하였다. 이 언어는 특정 컴퓨터에만 종속되지 않도록 고급 언어이면서도 특정한 비트를 조작할 수 있도록 하였다. 그 결과로 만들어진 언어가 CPL이다. CPL은 Cambridge Programming Language의 약자이다. 이 언어는 60년대 초기에 개발되었고, 크고 어려운 언어이므로 인기가 없었고, Martin Richard가 1967년에 BCPL로 확장하였다. BCPL은 UNIX 운영 체제를 만든 Bell 연구소의 연구진에 의해 연구된 후, 시스템 프로그래밍을 위한 B라는 언어로 계승되었다. 그러나 이 언어에는 명시적인 데이텨 형이 없기 때문에 부적합한 언어로 판명되었다. 1972년 Dennis Ritche는 B에 CPL의 기능 중에 다양한 데이터형과 같은 기능을 추가하여 C라는 언어를 개발하였고, C를 이용하여 UNIX를 다시 작성하였다. 1978년에 Ritchie와Kernighan은 C에 관한 책을 출판하였고, 소위 K&R C를 설명하는 이 책은 그 후 10년뒤에 ANSI C가 만들어지기까지 C를 설명하는 표준 문서가 되었다.