최근 Typescript에 대해 더 깊게 알고싶어서 여러 Typescript 기본서를 읽어보고 있다.
이 책은 부제에서 알 수 있듯 함수형 프로그래밍에 대한 예제도 담고 있는데,
끝까지 다 읽어본 결과, Typescript 기본서라기 보다는 함수형 프로그래밍 입문 서적에 가까웠다.
보통 Typescript에 대해 관심을 갖고 공부하는 사람이라면 일정 수준의 ES6 문법을 학습한 Javascript 개발자라고 생각한다. 그러나 책은 기본적인 Javascript 문법에 대한 내용도 담고 있다. 또한 Javascript와 Typescript를 구분짓지 않고 모조리 Typescript라고 설명한다. 아예 Javascript를 접해보지 않았던 독자를 대상으로 한다면 나름 이해하기 편한 설명이 될 수도 있겠지만, Javascript를 잘 알고 있는 독자라면 다소 불편하게 느껴질 수도 있을 거라 느꼈다.
타입을 곁들인 모던 Javascript 문법에 대한 설명이 끝난 후, 대뜸 Ramda 라이브러리에 대한 설명과 Haskell의 문법을 Typescript로 재현하고 응용하는 챕터가 나온다. 이러한 설명을 따라가면서 고차 함수에 대한 타입 추론을 구현해보면 Generic에 대한 이해도가 올라가고, Haskell의 그 악명 높은 Monad에 대한 편린을 맛볼 수 있다.(그마저도 Typescript의 문법적 한계 때문에 재대로 구현이 되지 않는다.) 그러나 책 제목이 타입스크립트 프로그래밍이라는 걸 생각해보면 다소 멀리 가버린 내용이 아닐까 싶었다. 오라일리의 타입스크립트 프로그래밍이나 러닝 타입스크립트 같은 책을 기대하고 이 책을 접한다면 상당히 낭패를 보지 않을까 싶다.
내용에 대한 배분도 상당히 아쉽게 느껴졌다. ES6 Javascript+Typescript+함수형 프로그래밍의 광범위한 내용이 담겨져있으니 어쩔 수 없지만, 함수형 프로그래밍 기법을 기대하고 읽는 사람들에게는 너무나도 많은 Javascript 기본 내용(12장 중 8장)이 쓸모 없을 거라 느껴졌고, Typescript 학습을 기대하는 사람들에게는 난해한 함수형 프로그래밍을 다루는 이 책의 학습법이 너무나도 실용적인 접근법과 거리가 있을 거라 생각했다.
또한 앞서 언급했듯이 Typscript 문법의 한계 때문에 책에서 Haskell의 Monad를 완벽하게 다루지도 못하며, 예제에도 실제 Typescript 환경에서 에러를 발생시키는 코드도 많이 있었다. 이걸 수정해보면서 나름의 공부가 되긴 했지만, 썩 유쾌한 경험은 아니었다. 함수형 프로그래밍을 배운다면 차라리 Haskell이나 Scala 등 책에서 다루고자 한 개념을 잘 다룰 수 있는 언어로 학습하는 게 낫지 않을까?
'서평' 카테고리의 다른 글
전문가를 위한 C++ (5판) 리뷰 (0) | 2023.04.23 |
---|---|
타입스크립트 프로그래밍(더 빠르고 안정적인 자바스크립트 앱 개발을 위한 핵심 기능과 활용법) 리뷰 (0) | 2023.04.03 |
이것이 리눅스다(with Rocky Linux) 3판 리뷰 (0) | 2023.03.26 |
자바스크립트로 배우는 SICP 리뷰 (0) | 2023.02.26 |
한빛미디어 도서 서평단 <나는 리뷰어다 2023> 선정 (0) | 2023.02.02 |