2008. 11. 27. 11:57

David Parnas


일전에 한번도 뵌 적도 없고 이야기를 나누어 본적도 없지만, 막무가내로 김창준님께 문의 메일을 보낸 적 있습니다. 답장이 없길래, 바쁘신가 하고 지나쳤는데 3주만에 답장이 왔어요~

제가 질문한 건 '초보 개발자를 위한 학습 가이드'가 있냐는 것이었습니다.
초보 개발자가 곧바로 디자인 패턴을 공부해봐야 제대로 학습할 수 있느냐하는 애기도 적었는데,
그 점에 대해서도 공감해 주시더군요.

답장을 요약하면 다음과 같습니다.

1. 영어 공부하세요~ (쿨럭)
2. 고전을 읽어보면 많은 도움이 됩니다.
3. Divide & Conquer 전략 보다는 Conquer & Divide 순서로 개발된 프레임워크가 더 많다.

3번 문제는 직접 개발해봐야 안다는 얘기이니까, 각자가 노력해봐야 할 문제 같고, 1,2 번 문제를 어떻게 실천해야 하는가 싶어서 추천해주신 논문 저자 David Parnas에 대한 자료를 조사해 봤습니다.

대학에서 컴퓨터 공학을 전공했고, 은사님이 쏘공(Software Engineering) 담당 교수님인데도 불구하고 데이비드 페르나스에 대해 몰랐다는 사실이 부끄럽더군요. 페르나스라는 분이 알고 보니 Software Engineering의 아버지라고 합니다. 그런데, 더 황당한 건 초기 소프트웨어 엔지니어링의 창시자들은 폭포수 모델 방법론에 대해 극히 회의적이었는데 수십년 동안 현장에게 가장 널리 활용된 방법론들은 폭포수 모델이라는 겁니다. (페르나스 성하, 분노하고 계실런지도...) 참고로, 대학에서 쓰이는 Software Engineering 교과서들에서도 가장 먼저, 가장 많이 언급되는게 폭포수 모델입니다. 게다가, 최신 이론인줄 알았던 관점 지향 프로그래밍도 알고보니 초기 SE 선구자들이 이미 제시한 이론이더군요. (이건 대체 어찌된 노릇인지... 어제 내내 머리가 띵해서 할 일도 못하고...)

그런데 막상 구글 검색을 해보니 쓸만한 한글 자료는 없더군요. 위키에 조금 페르나스와 그 외 선구자들에 언급이 좀 있고 몇몇 블로그에서 소개하는 자료가 좀 나오고~ 그래서, 이왕에 조언 받은 거 페르나스 논문을 원전으로 읽어보고 공부해보는 건 어떨까 하는 생각을 해봤습니다. 다들 바쁘실텐데 따로 스터디 모임을 만들자는 얘기는 아니고~ 그렇다고 번역을 해보자는 것도 아닙니다. 일개 개발자들이 고전을 어찌 번역하겠습니까? 그저 원전을 학습하고 이해한 것을 글로 적어보면 어떨까 하는 겁니다.

같이 해보실 분 있으신가요? 아니면, 페르나스 논문 자료를 쉽게 구할 방법을 아시는 분 좀 알려주세요.
(이 글의 분류는 잡담하기 입니다~ 심각하게 읽지 않으셔도 됩니다.)