만들면서 배우는 리스프 프로그래밍: Land of LISP
1958년에 개발된 리스프는 현재까지 쓰이는 함수형 언어이다. 리스프 이후로 함수형 언어는 다양한 변종이 등장했으나 기본 개념은 리스프를 계승하고 있다. 현대 언어는 익명 함수, 람다 연산, 메타 프로그래밍 등의 고급 프로그래밍 기법을 채택하고 있는데, 이는 함수형 언어의 특징을 차용한 것이다.
- 저자 : 콘래드 바스키
- 번역 : 조태훈
- 출간 : 2011-11-18
Lisp이라는 언어를 아시나요??
프로그래밍 분야에서 오랜 경험을 거쳤지만, Lisp이라는 언어는 소위 SICP 로 통용되는 "컴퓨터 프로그램의 구조와 해석"책의 예제가 Scheme이라는 Lisp 언어를 사용한다는 거, 많은 해커들이 사용하는 정도로만 알고 있었습니다.
그러던 제가 요즘 자바스크립트의 매력에 푹 빠져있는데, 자바스크립트의 Functional Programming의 몇몇 개념들이 Scheme이라는 Lisp 언어에서 가져왔다는 사실을 알면서 부터는 Lisp에 좀더 많은 관심을 가지게 됐고, 그래서 이 책을 읽게 됐습니다.
이책은 국내에서 소개된 거의 유일한 Lisp 관련 책으로 Lisp 언어중 Common Lisp(CLISP) 이라는 언어를 설명하고 있습니다.
Head First 시리즈를 기대하셨다면..
이 책은 Lisp에 대한 입문서로 기대하고 구입하셨다면 좀 아쉬울 수 있습니다. 책 내용 자체가 어렵다기 보다는 Lisp 언어 자체가 생소하고 어려운 개념을 포함하고 있지만, 이에 대한 설명이 좀 부족한 것 같습니다. 때문에 저처럼 Lisp 언어에 대한 지식이 전무한 상태에서는 간단한 예제를 이해하는데도 꽤 많은 시간을 필요로 했습니다.
가령, 소스코드에서 갑자기 설명이 안된 Lisp 함수가 나온다던지 (이 부분은 인터넷에 CLISP 레퍼런스를 보면서 해결은 했습니다.) 번역이 문제인건지 Lisp 문법에 대한 설명이 제대로 이해가 안되는 부분이 좀 있었습니다.(역자분의 주석이 있었으면 좋지 않았을까 하는 대목이더라구요)
또한 이 책의 코딩 환경은 REPL (커맨드 방식의 스크립트 코드를 실행할 수 있는 쉘이라고 보시면 됩니다) 만을 설명하고 있어서, 좀더 편한 개발 환경을 구축하기가 쉽지가 않았습니다. 아시다시피 개발 환경만 제대로 구축하더라도 소스 코드의 동작 방식을 이해하기가 꽤 편하니까요.
그럼에도 불구하고.
이 책은 Lisp 언어를 배우기 위해서는 꽤 괜찮은 책입니다. 독자들이 Lisp 개발환경과 기본 문법을 어느 정도 먼저 익히고 본다는 가정하에서 말이죠 ^^
사실 국내의 Lisp 서적이 거의 전무하기 때문에 딱히 선택의 여지도 없습니다. 그렇다고 하더라도 이 책은 꽤 괜찮은 퀄리티를 가지고 있습니다.
간단한 게임, 웹서버 등 예제의 수준도 나쁘진 않습니다.
올해 Lisp을 공부하시겠다고 계획하신 분들은 이 책으로 한번 도전해보세요.~~