쏙쏙 들어오는 함수형 코딩 - 심플한 코드로 복잡한 소프트웨어 길들이기
에릭 노먼드 지음, 김은민 옮김 / 제이펍 / 2022년 4월
평점 :
장바구니담기


함수형 코딩.
개발자들에게도 그리 익숙하지 않은 프로그래밍이다.
대부분의 개발자들이 알고 있는 프로그래밍 방법은 객체지향이거나 절차지향이다.
함수형 코딩을 배운다는 것은 단순히 새로운 프로그래밍 언어를 배운다는 것이 아니다.
완전히 다른 개념의 프로그래밍을 배운다는 의미이다.

함수형 코딩이 어떤 의미인지 재미있게 표현한 그림이다.
절차지향 언어에서 객체지향 언어를 처음 접했을 때의 놀라움, 그 이상이다.
이 책 '쏙쏙 들어오는 함수형 코딩'으로 놀라운 세계를 볼 수 있다.

이미 다양한 함수형 언어가 있다.
아주 옛날에 개발된 리스프부터 시작해서, 클로저, 스칼라, 극단의 함수형 코딩을 지향하는 하스켈 등이 있다.
지금까지 이들 언어들은 주류가 아니였기에 개발자들에게는 마이너이거나 취미 위주였다.
지금은 점점 사용범위가 넓어지고 개발자들도 많은 관심을 가진다.

이 책은 특정 함수형 언어를 설명하고 있지 않다.
제목 그대로 '함수형 코딩'에 대한 개념을 알려준다.
그렇기에 많은 개발자들에게 익숙한 '자바 스크립트' 위주로 소스를 제공하고 있다.
사실 이 부분이 가장 매력적이였고, 독특하다고 느꼈다.
이전부터 함수형 코딩을 배우고 싶었으나 함수형에 대한 개념도 모호한데 생소한 프로그래밍 언어로 설명하니 쉽게 이해가 되지 않았다.

저자의 말대로 자바 스크립트는 분명 함수형 언어는 아니다.
하지만 함수형 코딩을 이해하는데 부족함이 없다.
오히려 특정 프로그래밍 언어에 종속적이지 않고 '함수형 프로그래밍'에 더 집중할 수 있었다.

함수형 프로그래밍이 최고라고 말하고 있지 않다.
프로그래밍 언어를 논함에 있어 기호와 사용의 차이는 있을지라도 최고는 의미가 없다고 생각한다.

액션, 계산, 데이터.
이를 '함수형 프로그래밍의 3요소'라고 한다.
일상적인 예로 설명할 때는 이해가 되는 듯 한데, 코드를 들여다 보니 조금 모호하게 느껴진다.
습관적으로 기존의 프로그래밍 방식으로 이해하려고 해서 더 그런 것 같다.

함수형 프로그래밍에서 가장 중요하다고 생각하는 두 가지 개념을 소개하고자 합니다.
첫 번째는 액션과 계산, 데이터를 구분해서 생각하는 것이고,
두 번째는 일급 추상이라는 개념입니다.

일급 추상.
이 개념도 무척 생소하였다.
개발을 처음 하는 분들에게는 '추상'도 쉽게 이해하지 못하는데 '일급 추상'이라니...
책을 보면서 '어떻게 이렇게 프로그래밍이 가능하지'란 생각을 정말 많이 했다.
확실히 이해를 할 수 있다면 이전과 다른 프로그래밍을 할 수 있을 것 같다.

책을 보면서 그동안 궁금했던 함수형 프로그래밍에 대해 많이 이해할 수 있었다.
함수형 프로그래밍 개념도 배웠지만, 이 책을 통해 배운 것을 기존 프로그램에서 응용해서 사용할 수 있을 것 같다.
이 점이 가장 매력적이였다.
지금까지와는 완전히 다른 관점에서 프로그래밍을 바라볼 수 있는 새로운 패러다임을 접할 수 있었다.

저자의 말대로 이 책의 권장 독자는 하나의 프로그래밍 언어를 배운 개발자이다.
개발을 처음 접하는 독자들에게는 조금 어려울 수 있다.
함수형 프로그래밍이 대중적이라고 할 수 없기에 접할 기회가 없었다.
하지만 절차형, 객채지향형 언어만 공부한 분들에게는 관점의 변화를 줄 수 있는 멋진 책이다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo