Functional Program Design 수업 수료

오랜만에 Coursera에서 수업 하나를 수료했다. 온라인에서 무료로 훌륭한 수업을 들을 수 있으니 참 좋은 기회인데, 정작 수강 신청을 하고는 듣다가 마는 경우가 많아서, 수료한 수업은 몇 개 없다.

오래전에 6주짜리 함수형 프로그래밍 기초 수업을 들었는데, Scala 언어의 창시자인 Martin Odersky 교수님이 직접 강의하는 수업이었다. 어렵지만 참 재밌게 들었고, 간신히 수료기준을 충족할 수 있었다.

이번에 그다음 과정으로 “Functional Program Design in Scala”라는 수업이 다시 열렸길래 다시 수강 신청. 안 그래도 최근에 클로저로 하는 함수형 프로그래밍 언어 공부에 관심이 많으니까, 꽤 도움이 될 거라 기대했다.

아직 함수형 프로그래밍에 기초가 많이 부족한 터라 역시 쉽지 않았고, 마감을 얼마 앞두지 않고 간신히 수료 완료.

수업을 들으며 세 번의 숙제를 내면 되는데, 두 번째 수업의 경우, 얼마 전에 클로저 환경에서 속성 기반 테스팅을 공부하며 학습한 내용과 많이 겹쳐서 더욱 즐거웠(?)다.

이번에는 조금 더 욕심을 내서, 수업 내용을 한국어로 번역하는 자막 작업을 하려는 생각까지 했는데, 막상 해보니 적잖은 노력이 많이 필요했다. 고작 수업 두 개 작업하고 중단한 상태인데, 언제 다시 조금씩이나마 재개할지도 모르겠다. 아니, 그러고 싶다.

스칼라 언어에 관심은 있지만, 잘 모르기도 해서 즐겨 쓰는 언어는 아닌데, 숙제를 하며 조금이나마 써보니 꽤 마음에 든다. 클로저와 더불어 즐겨 쓸 언어가 될지도 모르겠다. 클로저는 아무래도 그 상이한 모습에 놀래는 사람들이 많기에, 팀 공용으로 쓰기는 어려운 면이 있지만, 적어도 스칼라는, 기업에서도 쓸 수 있을 테니까 말이다.

아무튼, 함수형 프로그래밍, 점점 더 빠져든다. 이제까지는 약간의 함수 조합이나, 리커젼과 불변 자료구조를 즐겨 쓰는 수준인데, 이번 수업을 듣고, lazy-evaluation의 강점을 맛보게 됐다. 효과적으로 쓰는 단계에 이르려면 조금 더 연습이 필요하겠지만 말이다.

아, 이 수업 시리즈는 2~3개월에 한 번씩 계속 반복 되는 것 같으니, 관심 있으신 분들은 다음 차수에 신청해서 들으면 좋을 것 같다.

강력 추천!

Show your support

Clapping shows how much you appreciated 김대현’s story.