함수형 프로그래밍에 중점을 둔 스칼라 책들은 훌륭한게 많지만 초심자부터 전문가까지 단계별로 가이드할 수 있는 커리큘럼을 추천하려고한다.
- 초보자거나 스칼라 입문이라면:
- 데이브 거넬과 노엘 웰시의 크리에이티브 스칼라(무료). 스칼라를 배우려는 입문자들을 위한 책이고 재미있다.
- 노엘 웰시와 데이브 거널의 에센셜 스칼라(무료). 견고하고 성능좋고 스칼라다운 코드를 짜도록 도와준다. 다른 언어의 경험이 있는 개발자들을 대상
- 더 심도있는 개념을 원하면:
- 폴 키우사노와 루나르 비아르드나손의 스칼라로 배우는 함수형 프로그래밍($36, 2.8만). 객체지향의 디자인패턴처럼 함수형 프로그래밍에서 자주 쓰이는 패턴인 데이터와 타입클래스들이 어떤 개념인지 직접 구현해보는 책. 스칼라 문법 정도는 익힌 개발자 대상.
- 노엘 웰시와 데이브 거널의 스칼라와 캣츠(무료). 스칼라와 캣츠를 사용해 함수형 패턴으로 깊게 들어간다. 스칼라 경험이 있는 개발자 대상.
- 아담 로시엔의 에션셜 이펙트($35). 캣츠 이펙드 라이브러리를 사용해서 스칼라의 부수효과를 안전하게 만들고 합성하고 실행할 수 있을지에 대한 책
- 함수형 개념을 실제로 적용해보려면:
- 게브리엘 볼프의 실습으로 배우는 스칼라 실전 함수형 프로그래밍($30). 스칼라로 함수형 프로그래밍을 하는데 익숙하지만 밑바닥부터 어플리케이션을 구조화하는데 아직 자신이 없는 사람을 대상.
- 데바시쉬 고쉬의 함수형으로 반응형 도메인 모델링하기($48). 순수 함수들로 도메인 모델을 어떻게 만들지와 그걸 합성해서 어떻게 더 크게 추상화를 할지에 대한 책
추신
- 출처는 2번 세번째 책인 에션셜 이펙트.
- 원문에서는 2번을 에센셜 이펙트 - 스칼라와 캣츠 순서로 써놨는데 cats를 모르고 cats effect를 쓰기 어렵다고 생각해 순서를 변경
- 어차피 cats를 배울꺼면 타입클래스 개념에 대한 설명을 한번 보고 들어가는게 좋을 것 같아서 2번의 첫번째로 스칼라로 배우는 함수형 프로그래밍(FPiS)를 추가. 단 번역서는 별로고 볼꺼면 원서와 대조하면서 보길 추천. 근데 스칼라와 캣츠가 라이브러리 사용법과 함께 개념을 간단히 설명해서 꼭 봐야한다고 말할 정도는 아님
- 1번과 2번 일부는 프로그래밍 인 스칼라 혹은 프로그래밍 스칼라(이 책은 안봤지만 서평으로 추정)을 본다면 더 자세히 배울 수 있지만 대학교 강의교재처럼 재미없이 설명만 두껍게 나열된 책이라 독학에는 추천하지 않음