2009년 5월 18일 월요일

SCIP


컴퓨터 프로그램의 구조와 해석 - 6점
해럴드 애빌슨 외 지음, 김수정 외 옮김, 이광근 감수/인사이트
...
"새로 보는 프로그래밍 언어"와 짝으로 보면 좋을 만한 책이다.

LISP를 근간으로 하기 때문에, LISP를 아예 접해보지 못해본 사람에게는 무슨 소리인가 싶기도 하겠지만, 반대로, 이번 기회를 빌어 두 권의 책으로 LISP도 배울 겸, 프로그래밍의 원리를 심도깊게 파보겠다는 이들에게는 교과서로 매우 훌륭하다. 줄여서 SCIP로 불리우는 유명한 책이다.

아시다시피, 세상의 모든 프로그래밍 랭귀지 중에 절대반지라고 불리울 만한 언어가 있다면 LISP일 것이고, 플라톤의 이데아에 해당하는 언어가 있다면 LISP일 것이다. 물론 이건 LISP진영의 이야기이다. Fortran계열, C계열, Java계열에서는 또 다른 소리를 하겠지만.

이렇게 말하는 나 자신은 LISP에 대해 교양 수준으로 배운 것이 전부이다. 엄밀히 말하자면, 한번 배운 후 실무에서 써본 적이 단 한번도 없기 때문에 체화할 기회가 없었던 것. 사실, Ruby를 학습할 때 잠깐 회고하는데 LISP의 개념이 도움이 되긴 했다.

어쨌거나 LISP를 비롯한 함수형 언어들의 특징이라면 자기조직적이면서도 명료한 알고리즘이라 할 수 있겠다. 이러한 함수형 언어계열의 특징을 이용하여 컴퓨터 프로그래밍 원리를 설명하는 책이니 두 마리 토끼를 다 잡는데 유용.

다만, LISP자체가 그리 녹록한 언어는 아닌데다 SCIP 책도 그리 친절하게 쉽게 쓰여진 책은 아니라 진도가 매우 느리게 나간다는 게 단점이라면 단점.

Ruby를 익히기 전에 함수형 언어에 대해 더 폭넓은 이해를 하기 원한다거나, 반대로 Ruby를 익힌 후, 함수형 언어의 매력을 느껴보고자 하는 이에게 추천.

ps1. 그렇긴 한데, 아마 내가 LISP로 뭔가 직접 만들어볼 일은 앞으로 평생 없을 것 같기는 하다.
ps2. 번역서에 오타가 좀 많다고, 원서로 보기를 추천하던데, ps1.과 같은 이유로 그냥 읽고 치워버리다. 혹시 나중에라도 LISP를 할 일이 있다면 그때 다시 보겠음.

댓글 1개:

  1. sicp 번역본 구입하시는 분들중 같은 이유로 drop 해 버리는 분들 많으시더군요. 이 책은 lisp의 효용성보다 구조와 해석에 충실할 수 있다는 것을 목적으로두고 보는것이 좋을겁니다. 함수형언어 하나 익혀놓고 보면 더 좋구요. 중간에 덮어버릴 책이라면 호기심에 샀다라고밖에 볼수 없습니다. 오프라인에서 함 보시고 구매여부를 결정하시는 것을 권합니다. 저도 완독은 못했지만, 반복해서 읽다보면 재미가 붙더군요..

    답글삭제