처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.07.04 35

함수형 프로그래밍의 뿌리 '범주론', 무료로 제대로 배울 수 있는 강의가 있어요

Hacker News 원문 보기

모나드가 어디서 왔는지 궁금했던 적 있나요

함수형 프로그래밍을 공부하다 보면 '펑터', '모나드' 같은 낯선 단어에 부딪히게 되는데요. 이 단어들의 고향이 바로 범주론(Category Theory)이라는 수학 분야예요. UC 리버사이드의 수리물리학자 존 바에즈(John Baez)가 2018년에 진행한 '응용 범주론(Applied Category Theory)' 온라인 강의 코스가 있는데, 강의 노트와 토론 내용이 전부 무료로 공개되어 있어서 대학원에 가지 않아도 범주론을 차근차근 배울 수 있는 몇 안 되는 자료거든요. 바에즈는 수학·물리학 블로그계의 원로 같은 분이라 어려운 개념을 풀어서 설명하는 데 정평이 나 있기도 하고요.

범주론이 뭐냐면요

범주론이 뭐냐면, 한마디로 '사물 자체보다 사물 사이의 관계에 집중하는 수학'이에요. 집합론이 "이 상자 안에 뭐가 들어 있지?"를 묻는다면, 범주론은 "이 상자에서 저 상자로 가는 화살표들이 어떻게 연결되지?"를 물어요. 범주(category)는 대상(object)들과 그 사이를 잇는 사상(morphism, 화살표)들로 이루어지고, 화살표 두 개를 이어붙이는 '합성(composition)'이 핵심 연산이에요.

개발자에게 익숙한 예로 바꿔볼게요. 타입 A를 받아 B를 돌려주는 함수 f가 있고, B를 받아 C를 돌려주는 함수 g가 있으면, 둘을 합성해서 A에서 C로 바로 가는 함수를 만들 수 있죠. 이렇게 작은 부품을 안전하게 조립해서 큰 시스템을 만드는 성질, 요즘 말로 합성 가능성(compositionality)이 범주론의 전부라고 해도 과언이 아니거든요. 우리가 매일 하는 함수 체이닝, 파이프라인 조립이 사실 범주론적 사고 그 자체예요.

강의에서는 뭘 다루나요

이 코스는 MIT의 브렌던 퐁(Brendan Fong)과 데이비드 스피박(David Spivak)이 쓴 교재 Seven Sketches in Compositionality를 기반으로 진행돼요. 이 책도 무료 PDF로 공개되어 있고요. 제목처럼 일곱 가지 '스케치'를 통해 범주론이 실제 문제에 어떻게 쓰이는지 보여주는데요. 순서 구조와 갈루아 연결로 시작해서, 자원 이론(어떤 재료로 뭘 만들 수 있는가), 데이터베이스와 펑터의 관계, 협업 설계, 신호 흐름 다이어그램 같은 주제로 이어져요. 이론을 위한 이론이 아니라 "이 수학이 현실 문제를 어떻게 모델링하는가"에 초점을 맞춘 게 특징이에요.

특히 데이터베이스 챕터가 개발자에게 흥미로운데요. 데이터베이스 스키마를 하나의 범주로 보고, 실제 데이터는 그 스키마 범주에서 집합의 범주로 가는 펑터(functor, 범주 사이의 구조를 보존하는 매핑)로 해석해요. 이 아이디어는 나중에 스피박이 참여한 범주론 기반 데이터베이스 언어 CQL로 실제 구현되기도 했어요. 스키마 마이그레이션을 수학적으로 검증할 수 있다는 발상이 꽤 매력적이거든요.

그래서 개발자가 왜 배워야 하냐면

솔직히 범주론을 몰라도 코딩은 잘할 수 있어요. 하지만 Haskell이나 Scala의 cats 라이브러리, 아니면 자바스크립트의 map과 flatMap, Promise 체이닝 같은 걸 쓰고 있다면 이미 범주론의 결과물을 매일 쓰고 있는 셈이에요. Optional을 map으로 변환하고 스트림을 합성하는 패턴들이 전부 이 수학에서 온 구조거든요. 원리를 알면 "왜 이 인터페이스가 이렇게 생겼는지"가 보이기 시작하고, 새 언어나 라이브러리를 배울 때 패턴이 눈에 훨씬 빨리 들어와요.

업계 흐름으로 보면 응용 범주론(ACT)은 이 강의와 교재가 나온 2018년을 기점으로 하나의 분야로 자리잡았어요. 매년 ACT 학술대회가 열리고, 머신러닝의 역전파를 범주론으로 정식화하는 연구나 분산 시스템 프로토콜을 다이어그램으로 검증하는 시도도 이어지고 있고요.

한국 개발자 입장에서는 함수형 프로그래밍을 한 단계 깊게 이해하고 싶을 때, 혹은 타입 시스템이나 DSL 설계에 관심이 생겼을 때 좋은 출발점이에요. 영어 자료지만 강의 노트가 대화체라 논문보다 훨씬 읽기 편하고, 중간중간 퍼즐 문제가 있어서 혼자 공부하기에도 괜찮아요.

한줄 정리: 모나드의 뿌리가 궁금했다면, 검증된 무료 코스로 정면 돌파할 기회예요. 여러분은 함수형 개념을 배울 때 수학부터 파는 편인가요, 아니면 코드로 부딪히며 익히는 편인가요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

파이썬으로 자동화를 시작해보세요

파이썬 기초부터 자동화까지 실전 강의.

파이썬 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.