빌노트의 노트

하스켈로 배우는 함수형 프로그래밍 책 리뷰 (함수형 언어 설계방법 사고방식) 본문

IT도서

하스켈로 배우는 함수형 프로그래밍 책 리뷰 (함수형 언어 설계방법 사고방식)

빌노트 2015.12.02 23:55

하스켈로 배우는 함수형 프로그래밍 함수형 언어 설계방법 사고방식

C언어와 같은 절차지향 프로그래밍에서 C++, 자바의 객체지향 프로그래밍으로 넘어 간지가 얼마 안 된 것 같은데 벌써 함수형 프로그래밍이라는 숙제가 뚝 떨어졌네요. 아직 우리나라 실무에서는 함수형 프로그래밍을 많이 사용하고 있는 것 같지는 않지만, 언제 또 분위기가 바뀔지 모르니 미리 미리 공부해 두는 편이 좋을 것 같아 관련 책을 한권 읽어봤습니다. 하스켈로 배우는 함수형 프로그래밍이라는 책인데 생각보다 쉬운 책은 아니네요. 

 

간결하고 올바른 코드 사용법을 배운다

함수형 언어의 설계방법과 사고방식, 다른 언어와 함수형 언어의 비교 대조

하스켈로 배우는 함수형 프로그래밍

하스켈로 배우는 함수형 프로그래밍 함수형 언어 설계방법 사고방식

이 책은 하스켈(Haskell)이라는 언어의 기초문법을 설명하는데 그치지 않고 함수형 프로그래밍 스타일이 뭔지, 절차지향 또는 객체지향 언어와의 차이점이 뭔지 정말 상세하게 설명하고 있습니다. 하스켈이라는 구체적인 함수형 언어를 배우기 전에 함수형 프로그래밍의 철학부터 배워서 그런지 이 책은 초반이 좀 어렵습니다. 처음 객체지향 개념을 배웠을 때와 비슷하다고 봐야겠죠. 자신의 프로그래밍 스타일을 한번에 함수형으로 바꾸는 것은 쉬운 일이 아니지만, 도전해볼 만한 가치는 있다고 생각합니다. (이 책은 하스켈뿐만 아니라 스칼라, 클로져 같은 다른 함수형 언어를 공부하는 사람에게도 분명 도움이 될 것 같습니다.)

 

하스켈로 배우는 함수형 프로그래밍 함수형 언어 설계방법 사고방식

 

우리가 기존 C언어 프로그래밍 할 때 사용하는 함수와 함수형 프로그래밍에서 사용하는 함수는 다릅니다. 수학 공부할 때 나오는 함수와 비슷하죠. 한번 초기화된 변수가 변할 수 없다니 정말 난감. 그래도 이렇게까지 함수형을 고집하는 데는 이유가 있을 겁니다.

코드양이 적어진다.

최적화하기 쉽다.

병행/병렬화하기 쉽다.

버그가 발생하기 어렵다.

문서가 적어진다.

함수형 프로그래밍을 할 때 만나게 되는 많은 제약사항은 이러한 장점을 취하기 위해 필요한 것이니 적응하도록 노력해야겠죠. 알고리즘 아니고서야 최근에 컴퓨터 공부하면서 머릴 쓸 일이 많이 없었는데 함수형 언어 때문에 당분간 심심할 겨를이 없을 것 같네요. 함수형 프로그래밍을 제대로 구사하기 위해 ‘하스켈로 배우는 함수형 프로그래밍’부터 제대로 이해해봐야겠습니다. 함수형이 익숙하지 않아서 그런지 아님 머리가 둔해져서인지 용어도 그렇고 생각보다 복잡하고 어렵네요. 그래서일까 완전 도전의식 생김. 함수형을 함수형답게 사용하는 그날까지 열공!

 

저작자 표시
신고

0 Comments
댓글쓰기 폼