웹을 풍부하게 만들어주는 자바스크립트는 많은 단점을 갖고 있음에도 불구하고 여전히 개발자에게 가장 인기 있는 프로그래밍 언어 중 하나입니다. 그럼 이렇게 때때로 위험하지만, 이따금 유용한 자바스크립트를 어떻게 하면 안전하게 사용할 수 있을까요?

JSON의 창시자인 더글러스 크락포드(Douglas Crockford)는 《JavaScript: The Good Parts》에서 자바스크립트의 좋은 부분들을 발견한 것으로 알려져 있습니다.그는 이 책에서 자바스크립트의 나쁜 부분들을 피하면, 좋은 프로그램을 만들 수 있다고 이야기하였습니다.

자바스크립트는 왜 그 모양일까?》는 10년 만에 나온 더글러스 크락포드의 두 번째 책으로, 자바스크립트에 대해 느낀 가장 최근의 생각을 담고 있습니다. 그는 10년 전과 비교했을 때 자바스크립트가 점점 쓸데없는 기능만 추가되어 덩치만 불어난 이상한 모습을 하고 있다고 지적하면서도 좋은 부분은 훨씬 더 좋아졌다고 말하고 있습니다.

저자는 이 책에서 자바스크립트를 철저하게 재평가하고, 자바스크립트는 어떻게 동작하며, 어떻게 더 나은 언어가 될 수 있는지, 그리고 어떻게 더 잘 사용될 수 있는지를 알려줍니다. 즉, 이 책을 통해 자바스크립트를 대하는 방법과 자바스크립트로 생각하는 방법을 알려줍니다.

이름, 숫자, 불(boolean) 타입, 문자열, 그리고 빈 값(bottom value)과 같은 자바스크립트의 기본을 살펴보는 것으로 시작합니다. 자바스크립트의 숫자형은 문제도 많고 한계도 많은 것처럼 보이지만, 저자는 이 문제를 어떻게 해결하면 되는지 보여 줍니다. 그러고 나서 자료구조와 함수 들을 살펴보고, 자바스크립트의 기저에서 동작하는 방식들을 알아봅니다. 그 다음, 고차원 함수를 사용해서 어떻게 하면 클래스 없이도 객체 지향 프로그래밍을 할 수 있는지 보여줍니다.

또한 비동기 프로그래밍, 테스팅, 순수한 프로그래밍과 같이 다음 세대 언어(next language)에 꼭 필요할 만한 요소들을 다룹니다. 네오(Neo)라는 허수아비 언어를 만들어서 어떻게 완전한 트랜스파일러를 만들고 언어를 구현할 수 있는지도 보여줍니다.

이 책에 수록된 내용은 꼭 자바스크립트에만 적용되는 것은 아닙니다. 저자는 개발자로서 자신이 생각하는 좋은 프로그램, 훌륭한 프로그래밍, 완벽한 프로그래밍 언어에 대해서 이야기하고 있습니다. 따라서 다른 언어가 어떻게 동작하는지 이해하고자 하는 숙련된 프로그래머들에게도 도움이 될 것입니다.

FullStackCon 2018에서의 강연

자바스크립트를 사용해 봤지만, 자바스크립트는 어떻게 동작하며 자바스크립트를 어떻게 잘 사용할 수 있는지에 대해서 제대로 깊이 있게 이해하길 원한다면 이 책을 읽어보길 권합니다.

《자바스크립트는 왜 그 모양일까?》는 다음 서점에서 구입하실 수 있습니다.

교보문고 | YES24 | 알라딘 | 인터파크