Java 에 대한 아쉬움으로 Scala 나 Haskell 을 본지는 몇년 되었고, 최근 들어 RxJava 프로젝트를 몇 달 째 참여하고 있으면서 이 책을 기다렸다.  번역 하신분( 오현석님 책은 다 구입을 한 것 같다)이나 주제가 분명히 나에게 도움이 될 거라고 생각했기 때문이였다.
(뭔가 어색한 제목은... 기분탓이다. 저자분도 이거에 대한 고민을 하셨다고... - 어디서 봤지?Slack이었나...)


 

Sodium 이라는 프레임웍을 기반으로 Swing을 확장한 swidget.* 으로 설명을 시작한다. 처음에는 웬 스윙..? 이라고 생각했으나 중간 중간 나오는 그림과 스윙 기반의 예제는 나름 도움이 되는 보조역을 해주었다. 하지만 너무 많은 UI 쪽 코드가 집중력이 분산된 건 좀 아쉬웠다. 그리고 처음 보는 Cell, Stream 단어를 가지고 설명을 해서 좀 어려웠던 것 같다  

(오히려 나는 기본에 내가 알던 지식에 이 책을 끼워 맞추려고 노력하느라 더 좀 혼란 스러웠던 것 같다. 오른쪽 사진이 책의 일부분인데 실제로 익숙한 건 map , orElse 정도였다)






개인적으로는 초반의 개념이나 기초 펑션에 대한 설명보다는 오히려 10장이후의 내용들이 많이 도움이 되었다. 고민되는 부분이나, 평소에 궁금했던 내용들을 언급해 주어서 많은 생각을 해주게 했다.

책 자체는 400 page 정도로 두꺼운 편은 아니지만,  빨간책 스칼라 만큼이나 천천히 읽고, 다시 읽고, 읽어도 뭔소리야? 라고 많이  생각한 것 같다. 한 2-3번 더 읽어보면 놓쳤던 부분을 좀 더 내것으로 만들 수 있지 않을까? 라고 생각이 든다.

신고


개인적으로는 스칼라나 하스켈 못지 않게 어려운 (그리고 생각과는 많이 다른) 언어가 자바스크립트인 것 같다. 그 난해함에 추가되는 문제는 생태계가 가장 빠르게 변화하는 언어라 단순히 언어 스펙을 공부하는 것만으로는 충분하지 못하다는 것이다. 이 책은 이러한 문제를 조금은 해결 할 수 있는 책이 아닌가 생각이 된다.

프로그래밍을 전혀 모르는 사람에게는 의미 없는 책이지만, ES3 부터 자바스크립트를 사용한 개발자나, 다시 한번 ES6 수준에서 알고 있는 지식을 정리하려는 사람들에게 추천할 만한 내용을 가지고 있다.

예를 들면 "30"* 3 = 90 이 나온다던가 let a = [1,2,3,] 처럼 마지막 콤마를 허용한다는 것 같은 것... 
arrow function 에서 this나 arguments가 펑션과 좀 다른다는 것은 제대로 정리가 안된다면 매번 헷갈려 하는 이슈 들이다. (물론 "30"*3 처럼 난해한 표현식을 추천하는 것은 아니다)


책을 쭈욱 읽어가면서  이 책의 장점을 정리해 보았다.

1. 30페이지 정도 나뉜 챕터들은 주제가 명확히 분리되어 있고, 그 안에서는 원리/이론 - 기초 - 심화로 이어진다. 처음부터 읽어가지 않아도 필요한 부분만 참고할 수 있다.

2. 중간중간 NOTE 도 도움이 되고, 챕터별 마지막 요약은 한 번 리마인드 할 수 있는 기회를 줬다.

3. 책의 내용뿐 아니라 번역 역시 책의 퀄리티를 결정하는 중요한 요소인데 (개인적으로는 ) 만족스러웠고, 단어 옆에 원래 영어단어가 충분히 표현되어 있어서 헷갈림이 없었다.   


본문 중 일부분


하지만  책의 본래 목적이기도 하지만 타겟 독자층이 애매하지 않나 생각이 들었고,  책 내용적으로는 ES6 부분은 별도 표시를 해 줬더라면 좋지 않았을 까 해본다.  

6개월전 Vue.js를 운영툴에 적용한 이후, Java와 Kotlin, Scala로만 프로젝트를 진행하고 있었는데, 이 책을 한번 읽음으로서 다시 한번 자바스크립트를 복습 할 수 있는 좋은 기회가 되었다. 

신고


티스토리 툴바