0.1 왜 코틀린인가?
전문 소프트웨어 개발자이자 교육자이며 함수형 프로그래밍의 옹호자인 에릭 노먼드(Eric Normand)에 따르면, 함수형 프로그래밍에 있어 핵심은 함수형 프로그래밍이 어떤 특징들을 모아둔 것이 아니라 하나의 패러다임으로 인식하는 것이다1.
사람들이 함수형 프로그래밍을 한다고 말할 때, 그들은 reduce와 map을 여기저기 뿌리고 몇 가지 순수 함수를 사용한다는 의미로 말한다. 여기에는 많은 가치가 있다. 그러나 그들의 코드는 절차적이다. 그들은 패러다임을 배우지 않고 특징만 배운 것이다.
이 책은 함수형 패러다임을 배우고 이를 일상 업무에 사용하는 방법에 대해 말한다. 이 책의 예제를 리습(Lisp)이나 하스켈(Haskell)로 작성했다면 책의 분량을 훨씬 줄일 수 있었겠지만, 두 가지 강력한 이유로 그렇게 하지 않았다.