Skip to content

Instantly share code, notes, and snippets.

@seoh
Last active August 15, 2023 16:18
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save seoh/882817f48aee9891d9ebf04dc10deeeb to your computer and use it in GitHub Desktop.
Save seoh/882817f48aee9891d9ebf04dc10deeeb to your computer and use it in GitHub Desktop.
A functional programming curriculum

함수형 프로그래밍 커리큘럼

함수형 프로그래밍에 중점을 둔 스칼라 책들은 훌륭한게 많지만 초심자부터 전문가까지 단계별로 가이드할 수 있는 커리큘럼을 추천하려고한다.

  1. 초보자거나 스칼라 입문이라면:
  • 데이브 거넬과 노엘 웰시의 크리에이티브 스칼라(무료). 스칼라를 배우려는 입문자들을 위한 책이고 재미있다.
  • 노엘 웰시와 데이브 거널의 에센셜 스칼라(무료). 견고하고 성능좋고 스칼라다운 코드를 짜도록 도와준다. 다른 언어의 경험이 있는 개발자들을 대상
  1. 더 심도있는 개념을 원하면:
  • 폴 키우사노와 루나르 비아르드나손의 스칼라로 배우는 함수형 프로그래밍($36, 2.8만). 객체지향의 디자인패턴처럼 함수형 프로그래밍에서 자주 쓰이는 패턴인 데이터와 타입클래스들이 어떤 개념인지 직접 구현해보는 책. 스칼라 문법 정도는 익힌 개발자 대상.
  • 노엘 웰시와 데이브 거널의 스칼라와 캣츠(무료). 스칼라와 캣츠를 사용해 함수형 패턴으로 깊게 들어간다. 스칼라 경험이 있는 개발자 대상.
  • 아담 로시엔의 에션셜 이펙트($35). 캣츠 이펙드 라이브러리를 사용해서 스칼라의 부수효과를 안전하게 만들고 합성하고 실행할 수 있을지에 대한 책
  1. 함수형 개념을 실제로 적용해보려면:

추신

  • 출처는 2번 세번째 책인 에션셜 이펙트.
  • 원문에서는 2번을 에센셜 이펙트 - 스칼라와 캣츠 순서로 써놨는데 cats를 모르고 cats effect를 쓰기 어렵다고 생각해 순서를 변경
  • 어차피 cats를 배울꺼면 타입클래스 개념에 대한 설명을 한번 보고 들어가는게 좋을 것 같아서 2번의 첫번째로 스칼라로 배우는 함수형 프로그래밍(FPiS)를 추가. 단 번역서는 별로고 볼꺼면 원서와 대조하면서 보길 추천. 근데 스칼라와 캣츠가 라이브러리 사용법과 함께 개념을 간단히 설명해서 꼭 봐야한다고 말할 정도는 아님
  • 1번과 2번 일부는 프로그래밍 인 스칼라 혹은 프로그래밍 스칼라(이 책은 안봤지만 서평으로 추정)을 본다면 더 자세히 배울 수 있지만 대학교 강의교재처럼 재미없이 설명만 두껍게 나열된 책이라 독학에는 추천하지 않음
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment