Dreaming In Code
Scott Rosenberg / Stuart Krichevsky Literay Agency, Inc
이책은 챈들러라는 오픈소스 PIMS(개인일정관리) 프로젝트를 관찰하면서 본것과 느낀 것들을 기록한 이야기다.
저자는 서문에서 "비프로그래머들을 위한 책"이라고 썼다. 그 목적이 달성되었을까?
프로그래머들 조차도 현대에는 지나치게 세분화 되어 각자의 영역에 대해서 서로 다르게 이해하는 정도에 이르고 있다.
모든 사람들을 위한 책은 아니더라도, 소프트웨어 공학에 대한 간략한 리뷰(체계적이지는 않지만)와 세분화된 각 영역의 프로그래머 들에게 공감과 관심을 부여해주는데는 조금은 성공할수 있지 않을까 싶다.
여기서 한가지 재미있게 읽은 부분을 이야기 해보고 싶다.
3장을 보면, 개발언어를 선택하는 것과 관련뙨 논쟁이 나온다.
그들이 파이썬을 선택한 기준을 보면
오픈소스 기반, 크로스 플랫폼, 성숙함(ruby같은 다른 최신 언어에 비해 다양한 라이브러리가 제공된다. '배터리가 포함' 되어있다.) 등이었다. 그당시 (2002년) 만으로 본다면 데스크탑 애플리케이션에 스크립트 언어를 사용하는 것은 초기 java의 애플릿 뜨는 시간동안 커피 한잔 마시고 오세요.. 하는 것과 같이 도전적인 선택이었다.
뭐 모든 선택이 최고일수는 없으니까 그렇다 치자.
재미있는건 그후 2년뒤(2004) 파이썬 개발자인 필립 J. 에비가 챈들러 소스를 리뷰하고
"파이썬은 자바가 아닙니다." 라는 글을 작성했다. http://dirtsimple.org/2004/12/python-is-not-java.html
"이 코드는 파이썬을 익힌 지 얼마 안 된 자바 개발자들이 작성했고, ...
자바에서는 말이 되지만 파이썬에서는 엉뚱한 코드를 잔뜩 작성했음을 확인할 수 있었습니다...."
스크립트 언어의 장점을 고려하여 채택했는데, 이미 손은 다른 언어에 길들여져 있었다?
도구와 방법론도 중요하지만, 역시 그 도구와 방법을 사용하는 사람이 얼마나 그것들을 잘 이해하고 쓸수있는가도 고려해야할 사항인것 같다.
noting..
p.95 TMTOWTDI(팀토우디)
There's more than one way to do it 무슨 작업을 하든 한 가지 이상의 방법이 있다. -> Perl의 슬로건
TOOWTDI
There's only one way to do it. 동일한 문제를 해결하는 해법은 반드시 하나여야 한다. -> 파이썬 반 로썸
p.157 "프로그래머에서 관리자로 변이되는 과정은 종종 '전두엽 절개술"에 비유되곤 합니다. 이같은 수술과정을 거친 행복한 사람이 쓰는 블로그입니다." - 마이클 토이의 블로그 머릿글 일부
p. 176 제임스 고슬링의 블로그에서 다룬 글.
여기에는 두가지 어두운 면이 있다. 사람들이 가장 이야기를 많이 하는 부분은 도끼날 가는 일을 끝내고 실제로 나무 베는 일을 시작하는 것이 중요하다는 사실이다. 종종 도구를 만드는 일은 원래 주어진 업무를 하는 것보다 재미있다.
하지만 나의 경우 도끼날을 가는 것에 있어 가장 커다란 문제는 이것이 재귀적이라는 데 있다. ... 하지만 도구를 개선하는 일은 또한 다른 도구를 필요로 한다. ...
... 하지만 소프트웨어 개발에서는 그렇지 않다. 도구를 만드는 일은 점점 더 커지기 일쑤며, 곧 원래 개발하고자 했던 프로그램이 무엇이었는지조차 잊어버릴지도 모른다.
-> 야생소 털깎이 현상. http://www.faqs.org/docs/jargon/Y/yak-shaving.html
.... 이렇게 즐거운 도구를 만드는 작업을 멈추게 해야 하는지를 결정하는 건 무척 어려운 일이다.
p.388 "세상은 분밍히 2038년에 끝나버립니다. 좋은 소식은 2038년 이후에는 우리가 더이상 나이를 먹지 않게 된다는 사실이죠."
-> 모든 유닉스 기반 컴퓨터는 2038년 이후에 0이 되어버린다.
p.366 피에트 하인
지혜로 가는 길? 그것은 간단하다
그리고 그것을 설명하는 것 또한 쉽다
시도하고 실패하라
그리고 실패하라
그리고 다시 실패하라
하지만 더 적게
그리고 더 적게
그리고 더 적게
이 글은 스프링노트에서 작성되었습니다.