BLOG main image
끄적 끄적 (57)
일상이 그러하다 (14)
떠다니기 (12)
구경하기 (27)
먹기 (0)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2015. 6. 7. 23:45

 


브루스 테이트의 세븐 랭귀지

저자
브루스 테이트 지음
출판사
한빛미디어 | 2015-05-01 출간
카테고리
컴퓨터/IT
책소개
폴리글랏 프로그래머를 위한 최고의 가이드 일주일에 하나씩 7가지...
가격비교 글쓴이 평점  

 제목을 처음 접했을 땐 브루스테이트라는 사람이 발상한 '세븐 랭귀지'라는 새로운 언어라고 생각했는데, 부제를 보고 그게 아님을 눈치챘다.

 표지엔 영어로 되있어서 상대적으로 눈에 띄진 않지만 '한 주에 한 언어씩 7주를 학습'하는게 목표인, 7개 언어의 학습서이다.

나는 책으로 새로운 언어를 처음 접할 땐
보통 기본서 - 설치부터 역사(?), 프로젝트급 예제로 이어지는- 라고 불리는 책과
레퍼런스로 사용할 수 있는 백과사전형 책을 통해 공부하는 걸 선호한다.
아무래도 이런 책은 목록만 봐도 언어의 특성과 기능, 차이점, 상황에 따른 구현 방법을 일목요연하게 살펴보기 쉽기때문이다. 
사실 기본서를 통해 읽다보면 그 과정이 지루해서 점점 더뎌지기도 하고,
막상 닥치면 필요한 것이 있나 검색을 하게되지만 그래도 언어가 특정 상황에 어떻게 사용하는 지 등
활용할 만한 범위를 미리 가늠해 두는게 안심이 되기 때문이다.

 나의 평소 언어 습득 방법과 소요시간을 고려하면 7주에 7언어를 학습한다는 건
마치 만병통치약을 파는 사기꾼을 본 기분이었지만
한빛출판사고
번역가도 임백준씨고(이 분 책을 제대로 읽은 적은 없지만 친숙해서인지 신뢰가 갔다.)
졸트 상도 탔다하고 (무슨 상인지 모른다. 그저 표지에 언급할 정도니 뭔가 있겠지..)
이런 주변 요소들 때문에 반신반의하며 책을 열었다.

 이 책은 반드시 서문을 읽어보길 권한다.
다른 책을 읽을 때 처럼 서문을 넘어가서 놓치기엔 아쉬운 중요한 대목이 있다.
바로 저자의 의도 및 학습 방법!

7가지 언어를 이 정도 분량의 책에서 해내겠다는 점을 선뜻 믿기 어려웠기 때문에,
그저 개론서 수준으로 언어의 특징을 서술하는 정도겠지라고 생각했으나
서문을 다 읽을 때 쯤 '믿습니다! 선생님!'의 자세가 되있었다.

애초에 저자도 이 책만을 통해 해당 언어를 완전하게 습득하는 것은 어렵다는 걸 잘 알고 있었다.
다른 기본서처럼 설치를 친절하게 도와주고, 각 환경에 따라 어떻게 하고 이런 게 아니라
설치방법 정도는 알아서 찾아볼 수 있고 당신에게, 'hello world'를 출력하는 게 아닌
왜 이런 언어가 탄생하게 되었고, 이 언어의 장점은 뭔지 느낌이 퐉! 오는 예제들로 진한 정수를 선보인다.

회사에서 빠르게 언어를 스터디할 때 사용했던 방법 - 보다 많이 아는 사람의 지도 하에 자질구레한 것은 털고 핵심만 접하는-과 유사한데 이런 방향으로 출판 책은 드물어서 좀 새롭기도 했다.

서문을 읽으며 부러움을 많이 느꼈는데
하나는 저자가 해당 언어의 창시자들에게 직접 사사(라는 건 적절한 표현이 아니지만 그런 기분에 가까웠다.)하거나 해당 분야의 권위자들에게 직접 도움을 받았다는 점과
그 잘나가는 루비의 창시자가 옆나라 일본의 생존해 계신 분이었다는 거다.
루비 자체가 신생 언어라 발안자가 살아있을 수 있겠지만 먼 곳이 아닌 근처의 일본에 계신 분이라니
부럽기도 하고 멋지기도 해서 보다 현실감있게 배가 아팠다.


저자는 나름의 조사와 기준으로 객체 지향형, 함수형 등 각기 다른 발안점과 처리과정을 가진 7가지 언어를 선정하고,
해당 언어의 핵심을 선보이며 프로그래머의 사고를 확장시켜준다. 

 C, C++, MFC에서 C#으로 넘어갈 때, 그리고 Python을 접했을 때 굉장히 큰 문화 충격을 받았고
새로운 사고 영역을 접하는 경험을 했던지라 이렇게 다른 언어를 접했을 때
내가 얼마나 더 새로운  세계를 접하게 될 지 두근거렸고, 책을 읽은 지금도 꽤 만족스럽다.

기존에 C계열 언어만 했을 땐,
'지금 하는 언어도 잘 못하는 데 무슨 다른 언어를 배우나.
그저 얇고도 넓은 지식만 배워 다양한 언어로 'hello world'나 출력하겠지'라고 생각 했었으나
파이썬을 접하며 그 다양성과 자유로움에 반해, 기존에 하던 작업에 어떻게 적용할 수 있을까 고민하면서
간만에 머리가 말랑말랑해진 기분이라 무척 즐거웠었는데
이름도 모르고, 그 처리과정도 낯선 언어들을 접한 후를 생각하니 설레었다.

즉 서문만 읽어도 '어떻게 학습하겠어. 어떻게 나오나 보자'라는 불신은 지워지고
마지막 페이지를 덮은 후 자신의 모습을 기대하게 만들어 책을 읽을 큰 동기를 부여해 준다.

각 언어들마다 소개, 3일치 학습, 정리로 구성해서 이렇게 5일간 공부하고 주말은 쉬는,
 무려 주 5일제!를 보장하는 학습 과정 같지만
예제나 부가적으로 찾는 시간, 생업 등에 쏟는 시간을 고려하면 개인 마다 차이가 있겠지만 막상 5일내 읽기는 좀 빠듯했다.

여름휴가도 미리 다녀온 지라 10여일의 시간동안  책에서 언급한 과제들을 하며 진행하는 것은 시간 상 어려웠고,
(저자는 비추했지만) 대신 가능한 머리로 이미지트레이닝 코딩을 하며 읽었다.

좀 급하게 읽었던 지라 다시 시간의 여유를 가지고 읽을 참인데, 낯설고 하니 좀 어렵긴 한데 그래도 꽤 즐겁다

언어에 관계 없이 개발하는 사람이라면 말랑말랑한 사고를 위해서라도 한번 쯤 읽어보길 권한다.

아쉬운 점은 책 소개글에는 중견개발자라 명시되있지만, 그간 봐왔던 책과 다르게 책 자체에 난이도 표시가 되있질 않았다.
일반 초보자가 읽었을 땐 어려움에 배신감을 느끼지 않을까 싶다.
기본적으로 어떤 언어를 습득해보고 나름 써본 경험이 있는 사람이
기존에 자신이 잘 쓰던 언어와 비교하고, 나름 겪어본 문법을 조금 변형하는 식으로 접해야 보다 쉽고 빠르게 읽을 수 있는 책이다.