한빛리더스 8기 2차 미션 우수 리뷰어 '강인지' 님의 
도서 리뷰 입니다. [원본: http://km2168.blog.me/130189743221]



 모든 것을 알 필요가 없다고 해서 어떤 하나의 언어와 평생을 함께해도 좋다는 뜻은 아니다. 좋은 프로그래머가 되려면 기본적으로 능숙하게 다루는 언어가 두세개 정도는 되어야 한다. 그 밖에 다른 언어들에 대해서도 개략적인 흐름 정도는 의식하고 있어야 한다. 자기가 다루는 언어 하나만으로 평생을 '우려먹으려는' 생각을 가지고 있는 사람은 언젠가 도태될 수 밖에 없다. 예컨대 C언어나 자바를 사용하는 프로그래머 중에서 자기 것 이외에 다른 도구는 바라볼 생각조차 하지 않는 사람이 적지 않은데, 어떤 의미에서 이 책은 그러한 사람들에게 새로운 인식의 지평을 제공하기 위하여 쓰였다고 봐도 좋을 것이다.

지은이의 말

 

 이 책에서 우리는 자바를 비롯하여 C#과 스칼라 같은 몇몇 프로그래밍 언어에 대해서 살펴보게 될 것이다. 객체지향이나 함수형 프로그래밍 같은 패러다임과 여러 가지 추상적인 개념에 대해서도 이야기하게 될 것이다. 어떤 것들은 쉽게 이해하기 어려운 딱딱한 개념일 수 있다. 하지만 걱정할 것은 없다. 이 책을 다 읽고 나서 이것 하나만 기억해두면 충분하기 때문이다. 모든 언어의 '발전'은 추상수준을 상승시켜서 프로그래머가 작성해야 하는 행사코드의 분량을 줄이는 방향으로 움직인다는 것. 다른 것은 몰라도 이 명제만큼은 잘 기억하기 바란다. 최근 관심을 끌고 있는 스칼라나 F# 같은 함수형 프로그래밍 언어, 웹 개발 과정에서 널리 사용되는 루비나 파이썬 같은 동적 언어, 새로 발표된 C++ 언어의 표준이 모두 마찬가지다. 그들은 모두 추상수준을 한 단계 상승시켜서 전보다 압축적인 표현이 가능하도록 만드는 방향으로 질주하며 경쟁을 펼치고 있다.

프롤로그

 

내가 프로그래밍이라는 세계에 입문한지는 그리 오래되지 않았으므로, 내가 프로그래밍을 시작했을 때가 바야흐로 자바의 전성기였지 않나 싶다. 기존에 사용하던 C언어와는 또 다른 특색을 가진 자바, 녹음이 아름다운 학교 창가에 앉아 새로운 언어 자바를 배우고 있는 것은 그 로고인 커피잔 처럼 상당히 로맨틱한 일이었다. 나는 어렸고, 무엇이든 새로운 것은 다 배워나갈 수 있을 것만 같았다.

하지만 그 후 강산이 반쯤 바뀌고 나니 스스로 익숙한 언어에 안주하는 경향이 뚜렷하게 느껴졌다. 비교적 자세하게 공부했던 C와 JAVA, 그와 유사하게 확장가능했던 C# 그 외의 언어는 '배우고 싶다, 공부하고 싶다' 하면서도 이런저런 프로젝트와 일에 치여 차일피일 공부를 미루기만 하였다. 그리고 그렇게 시간이 계속 흘러가면서 '도태'에 대한 두려움이 새록새록 피어올랐는데 그런 와중에 이 책은 참으로 많은 도움이 되었던 것 같다. 이 책은 위에 인용한 지은이의 말처럼 나같이 '자기 것 이외에 다른 도구는 바라볼 생각조차 하지 않는' '언젠가 도태될 수 밖에 없는' 사람에게 새로운 인식의 지평을 제공하는 책으로써 본래의 목적에 합당하게 언어의 흐름에 대해 충실히 기술하였다.

 

이 책은 크게 3부로 이루어져 있다.

처음에 간략한 프롤로그로 글을 시작한 후, 1부 자바, 2부 C#, 3부 스칼라를 통해 프로그래밍의 세계에서 언어가 어떤 방향으로 발전하고 어떤 식으로 도태되는지를 설명한다. 그 모든 얘기를 요약하면 프롤로그에서 밝히는 이 책의 주요 명제 '모든 언어의 발전은 추상수준을 상승시켜서 프로그래머가 작성해야 하는 행사코드의 분량을 줄이는 방향으로 움직인다는 것'이 된다. (책에서 행사코드란 해도 그만 안해도 그만인 것, 지루하게 반복되는 것, 무의미하게 반복되지만 사실은 사용하고 싶지 않은 문법적인 코드를 의미한다.) 개인적인 견해로 이는 이 책의 목적인 '도태되어 가는 사람에게 새로운 인식의 지평을 제공'하는 데에 굉장히 주요하게 작용하는데, 일반적으로 언어 하나에 목매여있는 사람은 해당 언어의 '행사코드'에 대하여 전혀 인식조차 하지 못하기 때문에 내가 이 책을 읽고 그러하였던 것 처럼 그 존재를 인식시키는 것 만으로도 언어에 대한 인식을 새로이 할 수 있고 나아가야할 방향에 대하여 새로운 시각에서 생각해볼 수 있기 때문이다.

 

나는 프로그래밍이라는 분야는 하루가 새롭게 새로운 기술, 새로운 언어가 나오고 그러한 흐름에 따라가지 못하면 언젠가 결국 도태되는 분야라고 생각한다. 이런 나의 생각에 공감이 가는 사람, 혹은 그렇지 않더라도 자신이 안주하고 있는 언어, 개발환경에 정말 안주해도 되는 것일까 의구심이 드는 사람이라면 꼭 한번 읽어보면 좋을 책이다. 게다가 이 책은 공학자가 쓴 것 치곤 정말로 '재미있게' 쓰여있으므로, 그 안에 담긴 내용이 진중하더라도 그냥 가볍게 읽어나갈 수 있다는 엄청난 장점이 있다. 지은이 스스로 얘기하듯 재미있고 의미도 있는 '잡설'이기 떄문에, 편한 마음 편한 자세로 읽어볼 것을 추천한다.

+ Recent posts