멀티패러다임 프로그래밍 - 객체지향, 함수형, 명령형의 통합적 사고로 구현하는 소프트웨어 설계와 구현
유인동 지음 / 한빛미디어 / 2025년 4월
평점 :
장바구니담기



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





학교나 시험에서는 문제의 답이 명확하게 나오도록 절차적, 객체지향, 함수형 언어처럼 프로그래밍 언어들을 각각 구분해 배우는 경우가 많습니다. 각각의 언어는 고유한 특징과 철학이 존재합니다. 이를 명확히 이해하는 것은 프로그래밍의 기본기를 다지는 데 도움이 됩니다. 하지만 실제 개발 현장에서는 이러한 경계가 점점 모호해지고 있습니다. ​ 다양한 패러다임의 장점을 융합한 멀티패러다임 언어들이 널리 사용되며, 하나의 언어로도 여러 방식의 사고와 문제 해결이 가능해졌기 때문입니다. 자바, C#, 스칼라, 타입스크립트와 같은 언어들은 객체지향뿐만 아니라 함수형 프로그래밍도 자연스럽게 지원합니다. 개발자들은 상황에 따라 유연하게 패러다임을 선택하고 조합할 수 있어야 합니다. ​ 어떤 문제는 함수형 접근이 적합할 수 있으며 어떤 문제는 객체지향적인 구조가 더 효과적일 수 있기 때문에 특정 방식에만 익숙해지는 것은 오히려 가능성을 제한할 수도 있기 때문이죠. 이를 도와 줄 책이 나왔습니다. 마플코퍼레이션 유인동 CTO가 쓴 멀티패러다임 프로그래밍 책인데요. 자세히 알아보도록하겠습니다. ​



1) 멀티패러다임이 바꾼 언어 설계와 사고방식

멀티 패러다임 프로그래밍 책은 반복자와 제너레이터, 입출력 함수의 변화 과정을 통해 멀티패러다임 프로그래밍이 언어 발전에 어떤 영향을 주고 있는지를 통찰력 있게 조명합니다. 특히 자바스크립트의 반복자(Iterator) 도입을 사례로 들며, 객체지향과 함수형 프로그래밍의 경계를 넘나드는 반복자 패턴의 확장은 단순한 문법적 변화가 아니라 언어적 사고방식의 전환임을 강조합니다. 객체지향 디자인 패턴 중 하나인 반복자 패턴이 함수형 패러다임과 만나면서 더 높은 표현력과 조합성을 얻게 되었다. 이 책에서는 전통적인 객체지향 패턴이 현대 언어에서 어떻게 함수형 개념과 통합되는지를 설명해주는데요. 단지 기술적 도입을 넘어 언어 설계 철학까지 아우르는 시야를 제시합니다. 특히 반복자 패턴이 GoF 디자인 패턴의 일부로서 정립되었지만, 실제 언어에서 내장된 기능으로 재해석되고 있다는 설명을 인상 깊게 봤습니다.



2) 에러 핸들링

비동기 프로그래밍에서 에러를 효과적으로 처리하는 것은 필수입니다. 비동기 에러 처리를 하지 않으면, 오류가 발생해도 조용히 무시되거나 예기치 않은 동작으로 이어질 수 있습니다. 이는 디버깅을 어렵게 하고 사용자에게 잘못된 결과를 보여주거나 앱이 예기치 않게 중단되는 등 심각한 문제를 일으킬 수 있습니다. ​ 멀티패러다임 프로그래밍 책은 에러를 감추는 것이 문제 원인 파악을 어렵게 하며 예측 불가능한 동작을 유발한다고 강조합니다. 대신 에러를 명확히 발생시키고 호출자에게 책임을 위임해 조기 탐지 및 대응이 가능하도록 설계해야 합니다. ​ 또한 에러 핸들링의 한계를 극복하기 위해 Sentry.io 같은 모니터링 도구를 활용해 실시간으로 에러를 감지·추적하는 방안도 제시합니다. 이는 단순한 코드 작성법을 넘어 실무에서 운영 방법도 알려줍니다.


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