본문 바로가기

책을 보다

[리뷰] 언어는 이미 멀티패러다임을 지원하는 중 <멀티패러다임 프로그래밍>

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다."

 

멀티패러다임 프로그래밍

 

함수형 프로그래밍이 대세라는 느낌에 갈아타고는 싶지만 매일 작성하는 코드가 객체지향이다.

객체지향으로 충분하고 함수형 프로그래밍은 특정 분야에서만 쓰이는 정도로 생각한다.

객체지향 프로그래밍으로 나름 한다고 하지만 만들어진 코드를 보면 이게 맞는지 의심스러울 때가 많다.

위 세 가지 가운데 하나라도 해당하시면 이 책을 읽으시면 됩니다.

그렇지 않더라고 개발 중인 프로그램 코드가 예전 코드를 답습하는 듯하고,

개발자로서 성장이 정체되어 있는 듯한 느낌을 가지고 계신다면 이 책을 읽으시면 됩니다.

 

초점이 명확합니다

변수 선언, 조건문, 순환문, 자료형 같은 기초구문은 다루지 않습니다.

바로 본론으로 들어갑니다.

멀티패러다임에 초점을 맞추고 있어서 특정 언어에 매여있지 않습니다.

주로 타입스크립트 코드를 이용하여 설명하지만 타입스크립트를 모른다고 해서 큰 어려움은 없습니다.

주로 사용하는 언어에서 타입스크립트로 보여주는 개념과 비슷한 개념이 있을 가능성이 큽니다.

정도의 차이가 있겠지만, 요즘 웬만한 프로그램 언어는 멀티패러다임을 지원하기 때문입니다.

 

방향을 보여줍니다

프로그램 언어를 다루는 게 아니라 프로그래밍을 다룹니다.

앞에서도 말씀드렸지만 프로그래밍 언어를 익히는 게 아니라 문제해결을 위한 프로그래밍을 익힙니다.

그중에서도 리스트, 반복자 패턴에 집중합니다. 이것저것 건드리지 않고 한 가지만 파고듭니다.

처음에는 반복을 위한 개념부터 시작하여 조금씩 바꿔갑니다.

생각보다 무겁지 않고, 바뀌는 코드를 따라가다 보면 흥미진진합니다.

명령형이나 객체 지향으로 코딩하면서 간혹 볼 수 있었던 함수형 스타일이 뭔지 제대로 보여줍니다.

읽으면서 머릿속에 있는 사고방식이 재조립되는 듯한 느낌을 받았습니다.

그 정도로 코드를 보는 시각이 바뀔 수 있습니다.

 

많이 시도해 봐야겠다는 생각을 들게 합니다

같은 주제를 풀어내는 여러 방식을 보여주고 풀어주는데 그치지 않습니다.

보통은 이런 일을 하기 위해 이렇게 코드를 짠다고 알려줍니다. 시작한 다음 바로 결론을 보여주고 그치는 경우가 많습니다.

이 책은 다릅니다. 단순히 기능을 구현하는데 그치지 않습니다. 문제를 찾고 개선하고, 개선하고, 개선하기를 반복합니다.

그리하여 마침내, 멀티패러다임을 어떻게 적재적소에 적용하는지 보여줍니다.

코드가 바뀌어 가는 과정을 따라가다 보니 저자가 개념을 적용하며 코드를 개선해 나가는 모습이 그려지는 듯했습니다.

생각하고 시도하고 확인하고 고쳐나가는 반복을 어마어마하게 했을 것 같다는 생각이 들었습니다.

 

 

함수형 프로그래밍 도입을 일부 시도했다가 멈추었던 기억이 있습니다. 함수를 연결할수록 점점 복잡해져, 문제 해결은 뒷전이고 함수 연결 문제를 이해하고 풀어내는데 급급해 읽기도 힘든 코드를 만들었습니다.

지금 보니 멀티패러다임 개념이 없었기 때문이었습니다.

멀티패러다임 프로그래밍 덕분에 객체지향도 조금 더 이해하게 되었습니다.

멀티패러다임 프로그래밍을 통해 개발자로서 한 단계 더 성장하시기 바랍니다.

반응형