-
-
거침없이 배우는 커피스크립트 - 더 빠른 자바스크립트 개발을 위한
트레버 번햄 지음, 이현남 옮김 / 지&선(지앤선) / 2013년 12월
평점 :
CoffeeScript는 jQuery같은 JavaScript Library가 아닌 Ruby로 만들어진 Complier로 실행되면서 JavaScript로 변환되는 JavaScript를 단축시키는 언어이다.
Github에서는 2011년 부터 매우 주목받기 시작했으며, Ruby, Python같은 효율적인 언어로 알려진 것들로 부터 영감을 얻었다고 한다.
CoffeeScript는 간단한 문법적 특징이 있다.
- 스페이스바 공백을 block 구분하는 데 쓴다.
- 세미콜론( ; ) 을 사용할 필요는 없다.
- { } 대신 들여쓰기로 그 기능을 대신한다.
- 파라미터를 전달하는 function call시 () 도 필요없다. 공백 한칸을 주고 파라미터를 주면 바로 () 의 역할을 한다. ( 파라미터가 없는 경우에는 함수임을 표시하기 위해 () 가 필요하다. 일관성을 위해서 항상 () 써주는 것도 한 방법이다. )
JavaScript의 이러한 문법도
if (opposite) {
number = -42;
}
CoffeeScript에서는 이렇게 한 줄로 변한다.
number = -42 if opposite
함수도 매우 간단하다. JavaScript에서는
square = function(x) {
return x * x;
};
하지만, CoffeeScript에서는
square = (x) -> x * x
이렇게 한 줄이 되어버린다.
보면 알겠지만, 불필요하게 반복되는 단어들은 제거해 버린 것이 CoffeeScript의 특징이다.
이 책의 경우에는 보편적으로 가지고 있는 구성이 아니여서 다소 보기가 쉽지 않다.
보통 책들의 구성을 살펴보면 문화권의 영향을 많이 타는 듯한 느낌인데, 일본 번역서의 경우 매우 간결한 구조와 쉬운 설명을 특징으로 가지고 있는 반면, 미국 번역서의 경우 이런 절차적인 방식보다 유연성 있게 풀어나가는 방식이 많다.
그런데 이 책의 경우에는 유연성을 넘어 다소 산만하게 느껴질 정도로 파악하기 어렵다. 본인은 Node.js를 경험해 보았지만, 만약에 Node.js를 경험해 보지 않은 독자라면 어디서 부터 실행을 해야 할지 난감할 듯 싶다.
"Command Prompt창에서 'coffee'라는 실행어를 치시오" 라는 간단한 말 한 마디로 끝날 수 있는 방식을 독자의 선택에 맡기는 느낌이다.
Editor를 선택하는 것도 한국서의 경우에는 Sublime Text를 어디에서 다운 받아 실행하세요. 라고 하지만, 이 책은 'Vim, Emacs, Cloud9도 있다.' 라고 이야기 한다.
방법을 가르치는 동양의 문화와 선택권을 중시하는 서양의 문화권의 차이에서 오는 갭일지도 모른다.
그것을 감안해도 이 책은 더욱 저자 만의 낯선 흐름과 풀어내는 방식이 독자의 흐름과 생경하게 느껴질 수 있을 것 같다.