본문 바로가기

출간 전 책 소식

스칼라와 자바 개발자를 위한 궁극의 함수형 프로그래밍 입문서!

최근 몇 년간 함수형 프로그래밍에 대한 얘기가 여기저기서 많이 들리고 있습니다. "함수형 프로그래밍"이란 무엇일까요? 저희가 이번에 펴내는 《스칼라로 배우는 함수형 프로그래밍》에는 스칼라의 창시자인 마틴 오더스키(Martin Odersky)의 추천사가 실려 있는데, 이 추천사에서 그는 다음과 같이 말하고 있네요. 


함수형 프로그래밍(functional programming)이란 무엇일까? 


내가 생각하기에 함수형 프로그래밍은 그냥 '함수들로 하는 프로그래밍(programming with functions)'의 별칭이다. 즉, 함수형 프로그래밍은 프로그램의 함수들에 초점을 둔 프로그래밍 스타일이다. 그렇다면 함수란 무엇인가? 함수의 정의는 다양하다. 함수가 결과를 돌려주는 것 외에 부수 효과를 낼 수도 있음을 인정하는 정의도 존재하지만, 순수 함수형 프로그래밍에서 함수는 수학의 함수처럼 인수를 결과에 사상하는(map) 이항관계로 한정된다.


간략하면서도 명확한 정의인 것 같은데, 조금 더 자세히 살펴볼 분들은 아래 위키피디어의 설명을 참고하시기 바랍니다. 


☞ http://ko.wikipedia.org/wiki/함수형_프로그래밍


함수형 프로그래밍 언어에는 Lisp(리스프), Hsakell(하스켈), Scala(스칼라), Closure(클로저), Erlang(얼랭), F# 등이 있는데, 이번에 펴내는 책은 그중 스칼라를 도구로 사용하고 있습니다. 여기서 도구를 강조했는데, 이 책은 스칼라 책이 아니라 함수형 프로그래밍을 제대로 알려주기 위해 여러 언어 중 스칼라를 선택했을 뿐이며, 그 이유는 스칼라가 자바와의 상호운영성을 제공하고 있어서 배우기 어렵다는 함수형 프로그래밍의 문턱을 낮추었기 때문입니다. 



문턱을 낮추었다고 해서 함수형 프로그래밍을 만만히 볼 수는 없을 겁니다. 저자들은 이 책을 함수형 프로그래밍에 관심이 있는, 다년간의 프로그래밍 경험이 있는 자바 또는 C 프로그래머들을 염두에 두고 썼다고 합니다. 베타리딩을 하셨던 분들도 익숙하지 않은 코드들과 수학적인 내용도 많고 해서 쉽게 읽을 수는 없었다는 의견이 많았습니다. 다만, 다 읽고 난 다음에는 정말 괜찮은 책이다란 평가를 이구동성으로 해주셨습니다.



함수형 프로그램에 관심 있는 분들이라면 이번 책은 꼭 챙겨서 읽어보시기 바랍니다. 아래에 샘플 파일을 올려드립니다. (차례, 옮긴이 머리말, 추천사, 머리말, 감사의 글, 이 책에 대하여, 베타리더 후기, 1장 함수형 프로그래밍이란 무엇인가?)


스칼라로배우는함수형프로그래밍_sample.pdf


예약판매 사이트(가나다순, 연결이 안 되는 곳은 등록되는 대로 링크를 걸어드리겠습니다)