Clojure
개인적인 생각
Java로 만들어진 또 하나의 Lisp 방언 - Java로 만들어진 Common Lisp 구현체 ABCL과는 다름
간결한 문법과 함수형 언어적 특징의 도입은 신선함을 넘어서 충격적이었음
미리 Haskell과 Common Lisp을 약간 공부해본 적이 있었기 때문에 더 그러했을 수도 있지만, 두 언어 각각의 가려운 부분을 신기하게 잘 긁어준다고 할 수 있음
vector 타입에 대한 [] 괄호 문법은 기존의 () 괄호 선호(라고 쓰고 '신봉'이라고 읽음) 사상에 물들어 있던 나에게 매우 이질적인 느낌을 주었지만, 어마어마하게 편리한 것은 부정할 수 없는 사실
완성되지 않은 언어 - 이것은 아직도 부족한 부분이 다소 존재한다는 뜻이기도 하지만, 오픈 소스로 개발되고 있다는 점에서 그 변화를 직접 들여다 볼 수 있는 좋은 기회이기도 함
소스를 직접 받아서 기존과 달라진 부분을 구경하고 빌드해보는 재미가 있음
지속적으로 언어 스펙이 변하고 있기 때문에 오래 전에 만든 일부 소스가 더 이상 제대로 동작하지 않을 수도 있음
기존에 자바로 만들어진 것들(library, framework 등등)과 기막히게 결합하고 있고 어떤 것들은 재창조 되기도 하며 그 결과의 일부는 산업 현장에서 이미 효율적으로 쓰이고 있으므로 이 언어의 미래가 밝다고 할 수 있음
Java 외에 .NET CLR 위에 구현되고 있는 Clojure-CLR도 있음
관련 사이트
4Clojure - 대화형 문제 풀이 방식으로 Clojure를 학습할 수 있는 입문자용 사이트
관련 책
번역서: 프로그래밍 클로저 (인사이트)
번역도 잘 된 편이고 내용도 많이 어렵지 않아서 Clojure 입문서로 적격
그 외 다른 책들에 대한 정보와 비교는 아래에서 보자.
Comparing Clojure books - StackOverflow
개발 도구
Clojure Box - Windows 환경을 위한 All-in-One 환경. Emacs 및 Clojure 관련 mode를 하나로 합쳐서 설치 및 설정이 간편하도록 만들었음.
Emacs와 SLIME을 함께 사용할 때 Clojure 설정 중 주의해야 할 내용
Emacs, SLIME, swank-clojure, clojure-mode 조합의 문제 해결하기 - Kaisyu's Notes