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

들어가며
객체지향, 함수형, 명령형… 개발하면서 많이 들어본 용어들이고 실제로 코드를 작성할 때 자연스럽게 접하게 되는 방식들이에요.
책 표지에 '객체지향, 함수형, 명령형의 통합적 사고로 구현하는 소프트웨어 설계와 구현'이라는 문구를 보니 '저 세 가지를 어떻게 통합적으로 사용한다는 거지?'라는 궁금증이 들더라고요.
보통은 각각을 따로 배우거나, 어떤 하나를 선택해서 써야 한다고 생각했는데 말이에요!
이 책은 '어떤 게 정답이다'라고 단정하기보다는 상황에 따라 어떻게 조합해서 쓸 때 성능적으로도, 가독성 면에서도 더 좋은 코드를 만들 수 있는지를 알려주는 책인 것 같아서 읽어보게 되었습니다.
특히 프론트엔드 개발을 하면서 언제는 함수형으로, 언제는 객체를 만들어서 코딩하게 되는데 그 기준이 모호했거든요.
이 책을 통해 그런 혼란을 정리할 수 있을 것 같아요.
주요 내용
★주요 내용
● 멀티패러다임 프로그래밍 언어의 장점과 실용성
● 함수형 프로그래밍과 타입 시스템 그리고 LISP
● 실전 객체지향 프로그래밍
● 지연 평가와 비동기 프로그래밍
● 실전 함수형 프로그래밍
● 여러 패러다임을 상황에 맞게 조합하는 방법
출처: https://www.yes24.com/product/goods/145367977
[멀티패러다임 프로그래밍]은 현대 개발에서 요구되는 유연한 사고를 다룬 실무 중심의 개발서입니다.
저자는 객체지향, 함수형, 명령형 프로그래밍이 더 이상 서로 경쟁하는 관계가 아니라고 말해요.
오히려 각 패러다임의 강점을 상황에 맞게 조합할 때 더 견고하고 유연한 소프트웨어를 만들 수 있다는 관점을 펼칩니다.
목차를 살펴보니 타입스크립트를 기반으로 하되 LISP, 하스켈, 자바 등 다양한 언어의 철학을 자연스럽게 연결해 설명하는 구성이에요.
반복자와 제너레이터, 리스트 프로세싱, 고차 함수 같은 현대 언어의 고급 기능들을 실제 프로젝트에 어떻게 적용할 수 있는지 구체적으로 다룰 예정이라서 기대가 됩니다.
단순히 '어떻게' 구현하는지를 넘어서 '왜' 그렇게 구현해야 하는지까지 설명하여 개발자의 사고력 자체를 키우는 데 중점을 두고 있어요.
1장을 읽어보니 멀티패러다임 프로그래밍이 단순한 이론이 아니라 실제 개발 현장에서 이미 널리 활용되고 있다는 점이 인상적이었어요.
특히 2010년 이후 대부분의 주요 언어들이 멀티패러다임을 지원하게 되었다는 배경 설명이 흥미로웠습니다.
저자가 제시하는 멀티패러다임의 핵심 장점도 명확하게 와닿았어요.
각 패러다임을 상황에 맞게 선택하거나 결합할 수 있다는 유연성, 그리고 특정 패러다임에 얽매이지 않고 문제 해결에 가장 적합한 방식을 고를 수 있다는 점이 실용적으로 느껴졌습니다.
1장에서 소개한 여러 개념들 중에서도 지연 평가와 고차 함수 부분이 특히 기억에 남는데요.
함수형 프로그래밍의 핵심인 일급 함수 개념을 통해 함수를 값처럼 다룰 수 있다는 설명을 읽어보았고, 이를 통해 코드의 예측 가능성을 높일 수 있다는 점이 와닿았습니다.
제너레이터 함수와 이터레이션 프로토콜에 대한 설명도 인상적이었어요.
단순히 문법적인 설명을 넘어서 메모리 효율성과 지연 평가의 장점을 실제 코드 예시와 함께 보여주니 이해가 훨씬 쉬웠습니다.
특히 타입스크립트와 이터레이션 프로토콜을 활용한 사용자 정의 이터러블 구현 방법은 바로 실무에 적용해볼 수 있을 것 같아요. 상속 대신 인터페이스를 활용한 객체지향 접근법도 흥미로웠습니다.
기존의 고전적인 객체지향 방식에서 벗어나서 더 유연하고 확장 가능한 설계 방향을 제시하는 부분에서 확실히 저자의 실무 경험이 느껴졌어요!
아직 1장까지만 읽었지만, 앞으로 나올 실전 함수형 프로그래밍과 비동기 프로그래밍 부분이 벌써 궁금해집니다.
특히 여러 패러다임을 상황에 맞게 조합하는 방법에 대한 구체적인 사례들을 빨리 보고 싶어요.

특징
이 책의 가장 큰 특징은 이론과 실무 사이의 간극을 메워준다는 점입니다.
1장만 봐도 추상적인 개념 설명에 그치지 않고 실제 개발에서 활용할 수 있는 구체적인 방향을 제시해요.
목차를 보니 프런트엔드 개발자에게는 자바스크립트의 본질과 새로운 설계 감각을, 백엔드 개발자에게는 비동기 프로그래밍과 효율적인 데이터 처리 방법을 각각 다뤄줄 것 같습니다.
추천 이유와 대상
★대상 독자
● 더 효율적이고 견고한 코드를 작성하고 싶은 분
● 탄탄한 기본기 위에 고급 개념을 더하고 싶은 분
● 중급 이상 개발자로 성장하고자 하는 분
● 타입스크립트와 자바스크립트를 사용하는 프런트엔드 개발자
● Node.js, Express.js, NestJS 등을 사용하는 백엔드 개발자
● 특정 언어에 국한되지 않고 멀티패러다임 사고를 자신의 언어에 확장하고 싶은 분
출처: https://www.yes24.com/product/goods/145367977
책 초반에 소개되어있는 대상 독자를 그대로 보여드리는게 좋을 것 같습니다.
==========
이 책은 타입스크립트와 자바스크립트를 사용하는 프런트엔드 개발자에게 유용하며 Node.js, Express.js, NestJS 등을 다루는 백엔드 개발자에게도 도움이 됩니다.
또한 멀티패러다임 프로그래밍은 특정 언어에 국한되지 않으므로 자바, C#, 코틀린, 스위프트 등 다른 언어를 사용해도 이 책을 통해 언어 활용 능력과 문제 해결 능력을 한층 확장할 수 있습니다.
특히 중급 이상 개발자로 성장하고자 하는 분에게 적합합니다.
기본기를 다시 다지면서 각 언어의 고급 기능을 깊이 이해하고 실무에 적용하도록 돕기 때문입니다.
최신 언어 기능과 폭넓은 패러다임을 활용하고 더 효율적이고 견고하게 코드를 작성할 수 있습니다.
==========
맺음말

[멀티패러다임 프로그래밍]은 현대 개발 환경에서 점점 중요해지는 유연한 사고방식을 체계적으로 정리한 책이에요.
저자가 말하는 '좋은 코드엔 프로그래밍 패러다임의 경계가 없다'는 메시지는 많은 개발자들에게 새로운 관점을 제시할 것 같습니다.
특정 패러다임에 얽매이지 않고 상황에 맞는 최적의 도구를 선택하는 판단력을 기르려면 이 책이 든든한 길잡이가 되어줄 수 있겠다는 생각이 들어요.