자바만 가르치는 대학 편. 정말 공감가지 않았다. 포인터와 함수형 언어를 대학에서 배우지 않으면 안된다고 한다. 정말? 대학 내내 프로그래밍의 진수라고 기묘한 방법을 보여줘서 트라우마를 갖게 할 필요는 없지 않을까. 필요하면 익히면 된다고 본다. 프로그래밍 언어도 도구이다. 문제에 적합하면 쓰면 된다. 어쩌면 이건 내 경험 때문에 더욱 그럴지도 모른다. 나는 실업계 고등학교의 전산과를 졸업했다. 몇 개의 프로그래밍 언어를 배웠다. C 수업도 있었다. 운명의 포인터 수업날. 2중 포인터까지는 괜찮았다. 교사는 한발 더 나갔다. 3중 포인터, 4중 포인터... 이제는 10중 포인터라고 해도 코웃음칠 수 있지만, 당시 3중 이상의 포인터 개념은 내게 불가해의 영역이었다. 나는 C 언어는 너무 어렵다고 단정했다. 그리고 깨끗이 포기했다. 30번째 생일을 맞고, 프로그래머가 되기 위해 C를 공부할 수록 궁금했다. 왜 교사는 나를 그토록 좌절시켰는지 말이다. 자질을 시험하고 싶다면 ACM(http://acm.uva.es/) 문제를 푸는 편이 나을 성 싶다. 참, 나도 함수형 언어는 꼭 배우고 싶다. 그 중 LISP는 언젠가 꼭 프로젝트에 써보고 싶다.
반면 ‘우선 순위를 정하세요’ 편은 나중에 꼭 시도하고 싶은 내용이었다. 표에 기능을 나열하고 비용과 산출을 따지는 방식. 우선순위를 정하는 것. 프로젝트를 수행하며, 이것보다 중요한 건 없음을 느낀다. 금보다 소중한 시간은 늘 부족하기 때문이다. 올해 NHN DeView 컨퍼런스를 온라인으로 들었다. 그 중에 끌렸던 세미나는 ‘꾸준히 자라나는 소프트웨어 만들기: 테스트 자동화, 리팩토링(http://deview.naver.com/2010/file/A2.pdf) 이었다. 다른 것보다 소프트웨어 개발을 정원일(gardening)으로 언급한 부분이 특히 기억에 남는다. 반복과 꾸준함이 필요하기 때문이다. 과거에는 소프트웨어를 제품으로 보았다. 최근 즐긴 게임 중에 ‘다크랜드(Darklands, http://en.wikipedia.org/wiki/Darklands_(video_game))’란 것이 있다. 고등학교때 출시된 게임으로 10년도 넘었다. 중세 독일 지방을 여행하며 이야기를 즐길 수 있는 멋진 게임이었다. 자유도가 높고 즐길 꺼리가 많아 명작으로 칭송받았다. 유감스러운 일은 버그로도 악명이 높았다. 패치를 모두 적용한 지금도, 세이브/로딩을 하다보면 인물의 옷 색상이 엉망으로 변한다. 제작사는 패치를 제작했지만, 나로서는 구할 도리가 없었다. 알지도 못했다는 편이 맞겠다. 이런 불편한 환경으로 돌아갈 소비자는 없다.
기기들이 네트워크로 연결되면서 소프트웨어는 서비스 개념으로 바뀌고 있다. 변화의 와중인지라 기존의 많은 개념들이 도전받고 있다. 변화의 시기가 왔다. 저자의 신선한 관점과 식견이 필요한 시점이다. 예외가 goto보다 안 좋다는 걸 알려준 조엘에게 감사한다. CD를 정리하지 말고 상자에 처넣으라는 그의 글을 명심하려 한다. 이 책을 읽고 나의 고정 관념을 몇 개라도 깰 수 있어서 기쁘다.
'나 > 감상문' 카테고리의 다른 글
메트로 2033 (0) | 2010.10.14 |
---|---|
보이지 않는 국경선 (0) | 2010.10.14 |
로마제국 최후의 100년 (0) | 2010.10.06 |
원점에 서다 (0) | 2010.10.04 |
르몽드 세계사 (0) | 2010.09.28 |