메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

제대로 된 스칼라 바이블 "프로그래밍 스칼라"

tee***

|

2016-07-08

프로그래밍 스칼라

이 책은 다양한 코드 예제가 포함된 실전 바이블이다. 초보자와 고급 사용자를 한데 아우를 뿐 아니라, 실제 개발자들의 실용적 관심사에 초점을 맞추어 실전 활용법을 안내한다. 2.11.x 버전에 대응한 최신 스칼라 언어의 특징부터 패턴 매칭, for 내장(comprehension), 고급 함수형 프로그래밍 등의 새로운 내용을 소개한다. 또한 스칼라 명령행 도구와 서드파티 도구, 라이브러리, IDE의 스칼라 지원에 대해 살펴보고, 그 과정

  • 저자 : 딘 왐플러 , 알렉스 페인
  • 번역 : 오현석
  • 출간 : 2016-06-01

[스칼라]

 

스칼라는 함수형 언어다. 그러나 호환성과 대중성을 위해 객체지향 언어의 특징과 문법을 상당수 유지했다. 스칼라는 문제가 있을 때 단 하나의 풀이방식을 취하려는 언어들과는 다르다. 작성자의 수준과 취향에 따라 다양한 해법이 존재한다. 심지어는 함수형 언어의 특징을 전혀 사용하지 않고도 코딩할 수 있다. 사용자의 이해 정도에 따라 구현하는 방식이 천차만별이다. 인터넷에 널린 정보로는 왕도를 찾기 힘든 이유다.

 

흔히 제대로 된 가이드가 없으면 삽질(?)하기 좋은 언어로 스칼라를 꼽는다. 대학에서 이론에 기반을 두고 만든 언어이므로, 함수형 이론이나 타입 시스템 등의 개념 하나하나를 너무 깊이 파고 들어가면 마치 미궁에 빠진 것처럼 오래 헤매게 되는 경우가 다반사다. 이 책으로 스칼라 세계에 들어온다면 그런 부작용을 최소화할 수 있다. 이 책은 개념 설명과 실용성에 균형을 잘 맞췄다. 짧게 구성된 한 장(Chapter)에서 개념을 먼저 배우고 짧은 예제를 REPL을 활용해서 실행하다 보면 자연스럽게 이해하게 된다. 실무의 어떤 맥락에서 실제 활용될 수 있을지에 대한 많은 팁을 제공함은 물론이다. 

 

 

[디자인/편집]

 

여백, 글씨체, 줄 간격, 본문의 글씨 크기 등 기본적인 편집은 흠잡을 만한 부분이 없다. IT 출판의 명가 한빛미디어답게 읽기 좋은 구성이다. 다만, 도서 내 코드 예제에 line number를 추가하고 예제번호를 달았더라면 더 좋았을 것이다. 예제파일도 장/절 구분을 해서 따로 묶었어야 했다. 현재는 폴더와 파일이 전부 영문 키워드만으로 구성되어 있다. 책을 읽다가 해당 코드를 빠르게 찾아서 실행해보고 싶을 때, 예를 들면, concurrency 폴더 안에 async 폴더 안에 async.sc 파일을 일일이 들어가서 찾아서 실행해야 한다. 책을 덮고 관련 내용을 찾아볼 때도, 정확한 영문 키워드가 기억나지 않으면 파일을 찾을 수가 없다. 여간 불편한 게 아니다. 

 

 

[번역]

 

본 도서의 역자는 KAIST에서 전산학을 공부했으며 현재 호주에 거주 중인 개발자이다. 또한, IT 전문번역자로서 또 다른 스칼라 바이블인 Programming in Scala 번역에 참여했던 경력이 있다. 번역은 깔끔하고 완성도가 높다. 한글과 구성방식이 정반대인 영어 문장에 대한 대폭적인 의역보다는, 원서의 내용을 가능한 한 변경하지 않으면서도 한국말로 이해하기 쉽도록 구성했다. 또한, 국내에서 가장 신뢰할만한 스칼라 커뮤니티인 [라 스칼라 코딩단]에서 번역자와 함께 도서 전반에 걸쳐 많은 고민을 한 흔적이 보인다. 적어도 이 책은 추천사의 표현대로 "번역서를 읽다 도저히 이해가 되지 않는 부분을 만나, 번역의 질을 의심하는 일"은 많지 않을 것 같다. 

 

 

[총평]

 

책은 생각보다 두껍고 수준이 높다. 770페이지의 책이지만 체감으로는 한 900페이지가량 되는 것 같다. 초급자를 위한 책은 아니다. 어떻게 보면 당연하다. 스칼라는 프로그래밍 입문자를 위한 언어가 아니기 때문이다. 충분한 시간을 투자해서 제대로 이해해야만 활용할 수 있는 언어이다. 이 책은 좋은 저술, 열정적인 번역, 깔끔한 편집의 조합으로 스칼라 바이블로 손꼽을만하다. 스칼라를 능숙하게 다루는 데는 많은 노력이 필요하지만, 그 시간은 가치 있다. 무엇보다도 스칼라는 그 자체로 매력적인 언어로, 실제 사용하는 언어가 무엇인지와 관계없이 함수형 패러다임에 대한 많은 통찰을 얻을 수 있기 때문이다. 

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?