로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
서평보기
Practical Common LISP
Peter Seibel | APRESS | 원서 | 2005-04-07
종합평점
도서수준
근접하기 어려운 LISP에 가까이 가기 2006-12-23 오전 2:21:43 
평점
도서수준
조회수 (1382)
공감 (0)
조희연 님의 블로그
 처음에 LISP코드를 보면 도대체 뭘 하는건지를 모르겠다는 생각이 들고, 이게 언어이긴 한건가? 하고 망연 자실하게 됩니다. 처음에 어셈블리 볼때보다 더더욱 황당합니다. 그런 LISP지만 어느 정도 익숙해면 정말 대단한 언어라는 생각이 들고 그 매력에 깊이깊이 빠져듭니다.
 본업은 C++코딩을 99%정도 하지만, 간간히 Perl과 더불어 LISP로 짦은 코딩을 합니다. Perl도 정말 재미있는 언어이지만 LISP도 정말 놀랍습니다.  이책을 처음부터 정독하면서 실습해나가면 너무도 어려운 언어처럼 보이던 LISP가 예상외로 쉽게 다가 옵니다.  아마도 (( ))의 연속,... 짧고 난해한 키워드로 인한 낯설을 때문에 LISP가 주류 언어가 안되지 않았나 합니다. 그래도, 오랜새월 주류는 못되어도 아직도 CLISP, SBCL, ECL, GNU-LISP 등 다양한 공개 구현 프로젝트가 존재하며 명맥을 유지하는걸 보면 LISP의 매력도 쉽게 버려지기 어려운듯 합니다. 객체지향쪽은 잘 다루지 않았지만 대부분 기초적인 부분은 매우 충실하게 잘 다루었습니다.  LISP를 도전해 보고자 하시는분은 이책을 시작점으로 한다면 LISP를 얻게 되실겁니다. Ruby보다 더더욱 코딩하면서 "이런게 언어차원에서 지원 되는구나" 라는 놀라움에 혀를 내두르실 겁니다. 정말 즐거운 언어 입니다.
 
(defun make-cd (title artist rating ripped)
   (list :title title :artist artist :rating rating :ripped ripped))
   (make-cd "Roses" "Kathy Mattea" 7 t)

   (defvar *db* nil)
   (defun add-record (cd) (push cd *db*))
 
(add-record (make-cd "Roses" "Kathy Mattea" 7 t))
(add-record (make-cd "Fly" "Dixie Chicks" 8 t))
(add-record (make-cd "Home" "Dixie Chicks" 9 t)) 

*db*
(defun dump-db ()
  (dolist (cd *db*)
    (format t "~{~a:~10t~a~%~}~%" cd)))


(dump-db)   

이 코드가 바로

ARTIST:   Dixie Chicks
RATING:   9
RIPPED:   T

TITLE:    Fly
ARTIST:   Dixie Chicks
RATING:   8
RIPPED:   T

TITLE:    Roses
ARTIST:   Kathy Mattea
RATING:   7
RIPPED:   T

 
어떻습니까? 프로그래밍 언어 같아 보이십니까?

 
코멘트 0   공감 0
코멘트작성
 
이메일주소수집거부