임인건님은 서울대 기계공학과 재학시절 "터보C정복"라는 제목의 원조 벽돌책을 집필합니다. (서울대 기계공학과 출신 개발자로 유명한 분들이 많죠. 이찬진님도 기계공학 전공) C언어의 바이블로 칭송받으며, C 개발자라면 한 권씩 두고 개발하면서 계속 보는 그런 책이 됩니다. 총 1271쪽인데요. C언어에 대한 내용도 알차지만, 이 책은 출판업계에 충격파를 일으킨 책이기도 합니다.

그 전에 책은 DTP(DeskTop Publishing)라 불리우는 소프트웨어로  편집, 출판하는 것이 정석이었어요. 하지만 터보C 정복은 하안글(아래아 한글) 1.52L, 즉 워드프로세서로 작성되어 출판됩니다. 특히 하안글로 1000쪽이 넘는 문서를 편집할 수 있다는 사실을 실증한 책이기도 하죠. 제가 기억하는 바로는 각 장별로 파일을 만들고 이어서 편집하기 기능으로 책이 완성되었다는 이야기를 들은 적이 있습니다.

당시 하이텔에서 임인건님의 아이디는 터보28(터보이빨)이었습니다.  임인건님은 이후 도스 환경에서 한글을 자유롭게 사용할 수 있도록 만들어 주는 <한라프로>를 만들기도 하셨습니다. 한라프로를 이용하면 SVGA를 지원하는 화려한 한글 지원 도스 애플리케이션을 개발할 수 있었습니다.

대학 졸업 이후 전공인 성진씨앤씨(DVR업체)에 연구소장으로 계신다는 이야기를 들었는데, 지금은 저도 잘 모르겠네요. 이 글을 읽으신다면 고마운 마음을 전합니다.

 


임인건님이 작성한 것으로 알려진 프로그래밍 10계명

시작부터 경지에 이르기까지…

1. 정보를 모음에 소홀히 하지 말고 설명서를 읽음에 게을리 하지 말지어다. 오늘 필요 없는 정보는 내일 필요하리라. 가장 가치 있고도 저렴한 지식은 책 속에 있느니라. 서점과 동료의 책꽂이에 무엇이 꽂혀 있는지 때때로 살피어라. 무심코 흘렸던 종이 한 장이 너의 근심을 풀어 주었으리라. 설명서는 충분히, 꼼꼼히 읽을지어다. 모든 의문은 설명서를 안 보는 데서 생기니라. 그렇더라도 모두 다 읽을 필요는 없느니라.

2. 너의 PC가 안전하다고 믿지 말지어다. 5분 후에 정전이 되고 내일 너의
하드가 맛이 가리라. 그러하니 너의 소중한 소스 코드는 정기적으로 여 러 군데에 단계별로 백업해 두어라.

3. 변하는 수를 다룰 때에는 늘 조심할지어다. 정수가 절대로 그 한계를 넘지 않으리라 가정하는 것은 어리석음이라. 127, -128, 255, 32767, -32768, 65535, 이 숫자들을 너의 골수에 새기어라. 0.0은 0이 아니니 실수는 원래부터 결코 정밀하지 않느니라. 부호 없는 것과 있는 것을 어울리거나 정수끼리 나눌 때에는 늘 조심하여라.

4. 무슨 일을 반복시킬 때에는 처음과 끝에 유의할지어다. 너의 컴퓨터는 1보다는 0을 좋아 하니라. 배열의 첨자가 그 범위를 넘지 않을지 손 댈때마다 따져 보아라. 수식에 1을 더하거나 뺄 때에는 늘 긴장하라. 너의 프로그램은 단지 한 번 덜해서 틀리고 한 번 더해서 다운되느니라.

5. 항상 모든 경우의 수를 고려하고 섣불리 생략하지 말지어다. 절대로 일
어나지 않을 일은 반드시 일어나고, 가장 드물게 일어날 일이 가장 너를괴롭히리라. 그러하니 언제나 논리에 구멍이 없는지 꼼꼼히 따져 보고, if를 쓸 때에는 else부터 생각하라.

6. 함수 안에서 매개 변수값은 결코 믿지 말지어다. 지금 그 매개 변수가
결코 가질 수 없다는 값을 내일부터는 가지리라. 그러하니 매개 변수값이 올바름을 항상 검사할지어다. 그렇더라도 처리 속도가 문제가 되는 경우는 예외이니라.

7. 오류를 알려 주는 기능은 있는 대로 모두 활용할지어다. 컴파일러의 경고는 모두 켜 두어라. 경고는 곧 오류이니라. 오류를 알리는 함수의 결과를 확인하지 않는 우를 범하지 말지어다. 모든 파일 입출력과 모든 메모리 할당은 조만간 실패할 것이라.

8. 한 번의 수정과 재컴파일만으로 연관된 모든 것이 저절로, 강제로 바뀌도록 할지어다. 어떠한 것을 수정했을 때에 연관된 것이 따라서 변하지 않는다면 그것이 곧 벌레이니라. 컴파일러로 하여금 매개 변수 리스트를 완전하게 검사하도록 하고, 언젠가 손대야 하거나 따라서 변해야 하는 수치는 전부 매크로로 치환하며, 형 정의를 적극 활용하여라.

9. 사용자가 알아서 잘 써 주리라고 희망하지 말지어다. 너의 프로그램은 항상 바보와 미친놈만이 쓰느니라. 사용 설명서를 쓸 때에는 결코 빠뜨리지 말아라. 빠뜨린 만큼 사용자는 너를 괴롭힐 것이니라.

10.매사에 겸손하고 항상 남을 생각할지어다. 가장 완벽한 프로그램일수록 가장 완벽하게 숨은 벌레가 있느니라. 네가 이 세상 최고의 프로그래머라고 떠들며 자만할 때, 옆집 곳간에서는 훨씬 더 뛰어난 것을 묵묵히 만들고 있느니라. 아무렴 프로그래밍은 혼자 잘나서 할 게 아니니, 너로 인해 다른 사람들도 더불어 잘 되면 그얼마나 좋은 것이냐. 이 모든 것을 깨닫고 지키려 애쓰는 자는, 있어도 없어도 되어도 아니 되어도 늘 평온하리라.있나니 너희는 모든 프로그램에 대해서 위의 프로시줘를 따를 지니라.

임인건의 포인터 강좌

 

+ Recent posts