March 13, 2021
http://www.yes24.com/Product/Goods/11101558
어느 개발자분의 블로그에서 추천해서 읽게 되었다. 크기도 작고 분량도 250페이지가 되지 않아서 금방 읽을 수 있다.
세상에는 정말 수많은 프로그래밍 언어가 있다. 그 중 하나만 배워서 평생 써먹을 수 있다면 좋겠지만 세상은 빠르게 변하고 내게 필요한 언어도 바뀐다. 그런 상황 속에서 하나의 언어를 익히는데 너무 많은 비용을 치러야한다면 살아남기 힘들다. 이 책이 말하고자 하는 바는 하나다. 프로그래밍 언어의 원리를 파악해서 새로운 언어를 빠르게 익히자. 프로그래밍 언어에는 다양한 개념과 규칙이 있다. 모든 개념과 규칙은 어떤 문제를 해결하기 위해서 만들어졌다. 프로그래밍 언어의 개념과 규칙이 무슨 문제를 해결하기 위해 탄생했는지 이해한다면, 그것들을 더 쉽고 효율적으로 익히고 활용할 수 있다. 이 책은 그걸 이해하는데 도움을 준다.
이 책은 공시적 관점과 통시적 관점으로 프로그래밍 언어를 조망한다. 우리가 현재 당연하게 여기는, 프로그래밍 언어가 지원하는 기능은 사실 예전에는 당연하지 않았다. FORTRAN, ALGOL, LISP 같은 예전 언어들을 살펴보며, 이 기능이 언제부터 도입됐고, 왜 도입됐는지, 그리고 후대 언어들이 이걸 어떤 식으로 계승했는지를 살펴본다. 또 비슷한 시기에 탄생한 언어들이 가지는 차이점은 어떤 이유로 발생했는지 살펴보면서 프로그래밍 언어 그 자체에 대한 이해를 높이는데 도움을 준다.
읽고 나서 드는 생각이지만, 사실 이 책에서 말하는 것들이 막 엄청 새롭고 놀라운 것들은 아니다. 하나의 프로그래밍 언어, 그리고 컴퓨터 공학 공부를 조금 해본 사람이라면 대부분 알고 있을 만한 것들을 잘 정리해놓은 느낌? 그래도 읽는데 엄청 시간이 오래 걸리는 것도 아니니까 개념들을 한번 정리하는 느낌으로 한번 읽어보는 것을 추천드린다.
참고로 불만 사항을 하나 말하자면 번역이랑 검수를 좀 불성실하게 했다는 느낌이 많이 든다. 오타도 많고(indent를 intend라고 쓰거나, 파이썬 코드 위에 자바라고 써놓거나 등..) ‘다르다’를 죄다 ‘틀리다’로 번역 해놓아서 굉장히 거슬렸다;; 일본어 違う(다르다, 틀리다)를 아무 생각없이 죄다 틀리다로 번역한 것 같다. 뭐 치명적인 오류는 아니지만 거슬리는건 어쩔 수 없다.