본문 바로가기
책을통해세상보기

프로그래밍과 글쓰기

by redcrow 2008. 2. 1.

프로그래밍은 작문의 일종이라 할 수 있다. 작문을 배우는 가장 직접적인 방법은 써보는 것이지만, 읽어 보는것도 방법이다.
이는 모든 종류의 작문에 적용되는 명제다.
좋은 예든 아니든 간에 예제를 많이 읽으면 도움이 된다.

- 프로그래밍 심리학 중에서- 제랄드.M.와인버그

프로그래밍과 글쓰기는 많은 면에서 닮아 있습니다.
글쓰기의 전략(정희모,이재성)을 보면 글을 쓰는 단계로 글감을 찾는 발상단계, 발상을 구체화시키는 계획단계, 실제로 작성에 앞서 글의 구성을 짜는 구성단계 등으로 나눌 수 있다고 되어있습니다.
이러한 발상,계획,구성단계가 잘 준비되어 있으면 실제 글을 쓰는것은 그리 어렵지 않다고 합니다.
프로그래밍도 마찬가지이지요. 잘 정의된 요구사항, 잘 작성된 설계문서가 있어야 제대로 된 프로그램이 만들어 질 수 있을테니까요.

프로그래밍 심리학의 첫장에는 다른 프로그램을 읽는것의 중요성에 대해 말하고 있습니다.
작성된 코드로 부터 배우는것 뿐만 아니라 그 안에 숨겨진 더 많은것을 얻을 수도 있다는 말을 덧붙이면서 말이죠.(인간의 심리적인 문제들을 말합니다)
책이 씌여진 70년대에는 코드를 서로 공유하는데 많이 인색했었나봅니다.
요즘은 Agile의 Pair Programming 이나 code review, peer review 등에 대한 개발자들의 인식수준이 높아져서 자신의 코드를 남에게 공개하고 남의 코드를 읽는것이 많이 일반화 되어있습니다.
CMM이 적용된 조직의 경우는 code inspection이라는 프로세스가 도입되어 있을테니 말할 나위가 없겠죠.
게다가 Open source라는 멋진 기반이 있어 좋은 코드예제를 볼 기회도 많습니다.

옛 송나라의 문인 구양수는 글을 잘 쓰기위해서는 '삼다(三多)'가 필요하다고 했습니다. 다독(多讀), 다작(多作), 다상량(多商量). 많이 읽고 많이 쓰고 많이 생각하는것이 글쓰는데 반드시 필요하다는 말입니다.
좋은 프로그램을 만들기 위해서도 많이 읽고 많이 만들고 많이 생각해야 할것입니다.

팀내에서 쓸 FTP서버 프로그램을 구하다 Source Forge에서 Filezilla를 구해 설치했습니다.
아직 버전이 낮기는 하지만 빠르고 안정적인 멋진 프로그램입니다.
사용한지 얼마 안되는데 소소한 버그가 보여 바로 소스코드 뒤지고 있습니다. 버그 리포팅은 이미 된듯 싶습니다.
근데 이렇게 코드 많이 읽으면 저도 좋은 FTP 서버 만들 수 있을까요?

댓글