서평: 해커와 화가
http://www.yes24.com/24/goods/11775130?scode=032&OzSrank=1
제목에도 있지만 "해커와 화가"의 비유를 통해 결국은 프로그래머 = 예술가 임을 말하고 싶은게 아닌가 싶다. 사실 일맥 상통하는 점이 많은데, 결국 프로그래밍은 창작이고, 좋은 프로그램은 "아름다운" 프로그램이라는 점이다. 열줄 써야 하는 코드가 5줄로 줄을때, 하지만 그렇다고 perl 의 one-liner 와 같은 난해한 코드가 아니라 딱 보고 금방 이해가 가는 "아름다운" 코드를 볼 때 더욱 그러하다.
결론은 강추천. 사실 이 책은 총 15장인데 프로그래밍에 대한 이야기는 10장부터 나오니까 2/3 은 사실 프로그래밍과 직접 관련은 없는 내용 들이다. 이분의 이야기는 이래저래 사실 내 취향에 직격인데... (perl 이나 FreeBSD 이야기도 종종 나오고) 1장부터 시작해서 계속. 몇가지만 인용해 보면
"... 비아웹에서 우리가 가진 규칙 중 하나는 어려운 상황과 마주쳤을 때 아래층이 아니라 위층으로 뛰어 올라가는 것이었다... 위로 뛰는 것은 어려운 일이지만 (나를 쫗아오는) 그 덩치 큰 친구에게는 훨씬 더 어려운 일일 것이다"
"우리가 리스프를 사용하고 있는 사실을 경쟁자가 안다고 해도 그들은 이 이유를 이해하지 못할 것이기 때문이었다. " "그 이유를 알 정도로 영리하다면 그들도 이미 리스프를 사용하고 있었을 것이다"
그리고 책에서 인용되는 그린스펀의 프로그래밍 규칙 중 열 번째. 원문 그대로 인용한다.
Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of CommonLisp.
여담으로, lisp 에 대해서는 사실 그렇게 많이 써 본건 아니지만, 예전에 emacs lisp 패키지 중 ps-print.el 을 수정해서 버퍼에 들어 있는 한글을 프린터로 출력 가능하게 한 적이 있었다. emacs 내부 구조와 elisp 의 동작에 대해서 잠깐 살펴볼 수 있는 좋은 기회였는데, 처음에는 꽤 힘들었지만 일단 완성된 프로그램에 대해서는 꽤 만족했던 기억.
제목에도 있지만 "해커와 화가"의 비유를 통해 결국은 프로그래머 = 예술가 임을 말하고 싶은게 아닌가 싶다. 사실 일맥 상통하는 점이 많은데, 결국 프로그래밍은 창작이고, 좋은 프로그램은 "아름다운" 프로그램이라는 점이다. 열줄 써야 하는 코드가 5줄로 줄을때, 하지만 그렇다고 perl 의 one-liner 와 같은 난해한 코드가 아니라 딱 보고 금방 이해가 가는 "아름다운" 코드를 볼 때 더욱 그러하다.
결론은 강추천. 사실 이 책은 총 15장인데 프로그래밍에 대한 이야기는 10장부터 나오니까 2/3 은 사실 프로그래밍과 직접 관련은 없는 내용 들이다. 이분의 이야기는 이래저래 사실 내 취향에 직격인데... (perl 이나 FreeBSD 이야기도 종종 나오고) 1장부터 시작해서 계속. 몇가지만 인용해 보면
"... 비아웹에서 우리가 가진 규칙 중 하나는 어려운 상황과 마주쳤을 때 아래층이 아니라 위층으로 뛰어 올라가는 것이었다... 위로 뛰는 것은 어려운 일이지만 (나를 쫗아오는) 그 덩치 큰 친구에게는 훨씬 더 어려운 일일 것이다"
"우리가 리스프를 사용하고 있는 사실을 경쟁자가 안다고 해도 그들은 이 이유를 이해하지 못할 것이기 때문이었다. " "그 이유를 알 정도로 영리하다면 그들도 이미 리스프를 사용하고 있었을 것이다"
그리고 책에서 인용되는 그린스펀의 프로그래밍 규칙 중 열 번째. 원문 그대로 인용한다.
Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of CommonLisp.
여담으로, lisp 에 대해서는 사실 그렇게 많이 써 본건 아니지만, 예전에 emacs lisp 패키지 중 ps-print.el 을 수정해서 버퍼에 들어 있는 한글을 프린터로 출력 가능하게 한 적이 있었다. emacs 내부 구조와 elisp 의 동작에 대해서 잠깐 살펴볼 수 있는 좋은 기회였는데, 처음에는 꽤 힘들었지만 일단 완성된 프로그램에 대해서는 꽤 만족했던 기억.