2010년 06월 20일
Knuth 대제님의 자작 프로그램
최근에 프로그래머의 위기지학이란 글을 읽었습니다. 훌륭한 프로그래머가 되려면 남을 위한 프로그램을 만들기 전에 자신을 위한 프로그램을 만들라는 내용인데 이번 포스팅에서는 Knuth 대제님께서는 어떤 자작 프로그램을 만드셨는지 알아보겠습니다.
대제님의 홈페이지에서 Programs to Read 페이지에 가면, 엄청나게 많은 프로그램들을 볼 수 있습니다. 그 중에서 가장 유명한 것은 단연 TeX겠죠. Knuth 대제님께서는 The Art Of Computer Programming을 쓰다가 쓸만한 조판시스템이 없어서, TeX와 METAFONT를 만드셨다고 합니다. (TEX에 대한 자세한 정보는 위키백과 및 한글 TeX 사용자 그룹(KTUG) 참조)
그 다음으로 유명한 프로그램은 아마 CWEB일 것입니다. TeX를 만들다보니 문서 작업과 프로그래밍을 동시에 하고 싶어졌는데 그래서 만든 것이 바로 WEB(Pascal 버전)이고 나중에 C언어 버전으로 나온 것이 CWEB입니다. 이런 프로그래밍 방식을 Knuth 대제님께서는 문학적 프로그래밍이라고 정의하셨죠. 문학 작업을 하듯이 프로그래밍을 한다는 뜻이죠. (자세한 정보는 The CWEB System of Structured Documantation 및 Literate Programming 참조. 남수진님의 CWEB 한글 메뉴얼도 있음.)
그리고 Programs to Read 페이지에 보면 재미있는 정보를 얻을 수 있는데 바로 Sample Fvwm2 Config File입니다. 먼저 윈도우 매니저로 Fvwm2를 쓴다는 사실에서 X-window를 쓰신다는 것을 알 수 있습니다. 그러므로 운영체제는 UNIX 계열을 쓰고 계십니다. "The emacs-oriented desktop layouts I use on my home computer to write books."라는 문장에서 편집기로 Emacs를 쓴다는 것을 알 수 있습니다. 충격적인 사실은 Emacs로 책을 쓰신다는 점입니다. 헉. 그리고 스크린샷을 보면 운영체제는 Linux로 밝혀집니다. 참 쓸데없는 추리극이군요...
INTERCAL로 TPK 알고리즘 구현해 놓으신 것도 있는데 심심하신 분은 보는 것도 괜찮을 듯(?). 전 Esoteric programming language 쪽은 Brianf*ck, whitespace, Befunge 밖에 할 줄 몰라서... 사실 INTERCAL이 Esoteric programming language의 시초이긴 하지만 재미없어 보임...
덧. 이글루스는 TeX 태그를 지원하라! -_-)/
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- Knuth 대제님의 일화(2): 스티브 잡스의 허풍 by RedPain
- MIX of The Art Of Computer Programming by RedPain
- The Art Of Computer Programming 연습문제 난이도 by RedPain
- Knuth보다 뛰어난 RedPain? by RedPain
- 응? by RedPain
# by | 2010/06/20 17:41 | 기타 | 트랙백 | 덧글(0)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]