멀티패러다임 프로그래밍 서평
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."
도서정보
- 발행일: 2025년 4월 21일
- 출판사: 한빛미디어
- 저자: 유인동
- 총 페이지: 512
책 추천 포스트 - SNS
먼저 LinkedIn에서 본 저자이신 유인동님의 책 소개 글을 인용하면서 서평을 시작해본다.
유인동님은 마플코퍼레이션의 CTO이자 22년차 소프트웨어 엔지니어..!
책을 추천하는 이유들만 봐도 꼭 읽어야겠다는 생각이 들었다!!
그리고 다른 분의 이 책을 극찬하는 포스팅도 봤다.
다른 책들도 뒤쳐지지 않을 정도로 좋은 책들인데 단연코 유인동님의 멀티패러다임 프로그래밍 책을 가장 추천한다고 하셨다.
책을 열어보면 추천의 말을 볼 수 있었는데
코드박스 CEO 서광열님, 마플코퍼레이션 테크리드 조현우님, 마플코퍼레이션 테크리드 김재민님, [실전 리액트 프로그래밍] 저자 이재승님, 인프랩 CTO 이동욱님, 네이버 프런트엔드 개발자 장기효님, 플렉스 프런트 엔지니어 편해걸님, 플렉스 백엔드 엔지니어 김영준님, [면접을 위한 CS 전공지식] 저자 주홍철님, 토스 프런트엔드 헤드 박서진님, 스모어톡 CTO 조현영님, 당근 기술위원회 백병한님, 코발트 CTO 이선협님, 마플개발대학 구독자 리뷰어
이름만 들어도 아주 유명한 분들께서 이 책을 추천해주시는 추천글도 볼 수 있었다.
독서
책은 2주정도에 걸쳐서 봤다.
처음 독서 시작은 산뜻한 노래를 함께 들으며 출발 ~ 🎵
마지막 독서 끝은 노트북을 쓸 수 있는 학교 도서관에서 새벽 2시 다 되어갈 때까지 봤다~!
5/30일은 내 생일이었는데.... 생일파티 대신 개발 도서와 함께 정오를 넘어 새벽까지 함께했다.
Typescript는 FE를 할 때랑, Nest 할때 조금 써보고 커리어 내내는 Springboot를 Java,Kotlin으로 개발했는데..
TS로 BE를 해도 매우 재밌을 것 같다는 생각이 들었다!
책 서평
객체지향, 함수형, 명령형의 통합적 사고로 구현하는 소프트웨어 설계와 구현
책을 끝까지 보고 난 후, 가장 인상깊었던 문구는 "구조 문제는 객체지향으로, 로직 문제는 함수형으로 해결하기" 였다.
- 1장: 책은 현대 프로그래밍 언어가 멀티패러다임으로 발전하게 된 시작점과 교착점을 이야기하며 시작한다.
- 2장: LISP 라는 함수형 프로그래밍 언어로 함수형 언어의 장점, 타입 추론, 함수 타입, 제네릭 개념과 활용 방법을 알아본다. 그리고 메타 프로그래밍이란 무엇이고, 그 역할은 무엇인지 논의한다.
- 3장: 코드, 객체, 함수의 관계와 IP(명령형), OOP(객체지향), FP(함수형) 각각에서 어떻게 사용되는지 설명한다. 이 장에서는 하스켈 언어가 나오며 지연 평가, Generator, Iterator, 합성을 구현하고 활용하는 방법에 대해 배운다.
- 4장: 비동기 프로그래밍의 중요성과 다양한 모델을 알아보며, 비동기 작업의 결과를 값으로 다루며 가독성과 유지보수성을 높이는 방법을 배우며 비동기에서의 지연 평가 방법도 알아본다.
- 5장: 실전 함수형 프로그래밍에 대해서 배워본다. 함수형으로 알고리즘 문제 풀기, 백엔드 프로그래밍(스케줄러), 리스트 프로세싱 패턴화를 통해 실전 감각을 익혀본다. 이 장에서 마플코퍼레이션 현우님의 FxTS 라이브러리가 나온다! 얼마나 기쁠까.. 내 책에 같은 회사 동료분이 개발한 우리 회사의 라이브러리를 싣는 느낌은..!?
- 6장: HTML 템플릿 엔진, 동시성 핸들러를 만들면서 여러 패러다임을 조합한 프로그래밍을 배운다. 객체지향, 함수형, 명령형을 언제 어느 상황에서 조합해야 하는지 명확한 가이드를 받을 수 있었다.
- 7장: Setting App, Todo App을 만들고 발전시켜보면서 객체지향설계를 기반으로 한 프런트엔드 개발과 멀티패러다임 프로그래밍 패턴을 배워 볼 수 있다.
전반적으로 책 내용이 정말 좋았고, 구성도 짜임새 있게 되어있다고 생각한다.
그리고 나는 책에서 저자님의 생각 흐름도 볼 수 있어서 정말 좋았다!!
저자분이 독자와 소통하는 것 같은 느낌으로 [왜 ~하지 않을까?], [가상의 예시] 등을 들어서 왜 그렇게 하지 않았는지에 대한 설명을 위한 빌드업을 느낄 수 있었다.
반복적으로 요약해주기도 하였다.
JS/TS에 필수적인 Promise가 ES의 역사와 함께 어떻게 발전해왔나 알아볼 수 있었다.
Java로 치면 Future, CompletableFuture 등을 예로 들 수 있을 것 같다.
마..플 ..코퍼레이션에 면접을 앞두고 있다면 꼭! 위 질문들을 미리 준비하고 가면 좋을 것 같다..!!
그만큼 책에 저자님의 생각과 경험이 녹아있으니, 꼭 구매해서 더 많은 꿀팁들을 얻어가면 좋겠다.
제공되는 설명과 코드에 지쳐있는 당신을 위한 연습 문제도 있다. FE개발자라면 꼭 도전해보기!
취준 or 현업 개발자를 막론하고 ChatGPT한테 코드 생성을 요청하고 우리는 가져다 쓴다. 근데 그 코드가 정말 좋은 퀄리티일까?에 대해서는 각각 생각이 다르다. 그리고 이 책에서도 실제 현업에서 일어날 것 같은 프롬프트 -> 개선 작업을 직접 저자님의 생각 + 코드와 함께 배워볼 수 있었다.
5, 6, 7장에서는 1~4장에서 배운 내용들을 토대로 실무에서 활용할법한 코드를 작성해보거나, HTML 템플릿 엔진을 만들고 고도화를 하기도 하고, 객체지향과 함수형을 적절히 섞어 고수준의 Todo App을 1->2->3단계로 업그레이드 해보며 멀티 패러다임 프로그래밍을 배웠다.
FxTS 라이브러리
5장에서 제일 부러웠기도 하고 신기했던 것은 같은 회사에 계신 마플코퍼레이션 조현우님의 FxTS 라이브러리였다.
얼마나 기쁠까.. 내 책에 같은 회사 동료분이 개발한 우리 회사의 라이브러리의 사용법을 적는 것은!?
궁금하면 여기로 -> https://github.com/marpple/fxts
GitHub - marpple/FxTS: A functional programming library for TypeScript/JavaScript
A functional programming library for TypeScript/JavaScript - marpple/FxTS
github.com
이 FxTS를 사용하기도 하고, 사용 안하기도 하면서 리스트 프로세싱을 디자인패턴처럼 패턴화하여 여러 비즈니스 요구사항들을 A-B 패턴 형태로 소개해주기도 한다.
Kotlin's Multi Paradiam Programming
책에 수많은 언어들이 나오지만 코틀린에 대한 내용이 없어서 아쉬울 코틀린 기반 백엔드/안드로이드 개발자분들을 위해서 저자님이 따로 Repository를 파주시기도 하셨다!!
궁금하시면 -> https://github.com/marpple/kotlin-multi-paradigm-iteration
GitHub - marpple/kotlin-multi-paradigm-iteration: 코틀린 멀티패러다임 이터레이션
코틀린 멀티패러다임 이터레이션. Contribute to marpple/kotlin-multi-paradigm-iteration development by creating an account on GitHub.
github.com
유인동님 유튜브
끝으로 저자님의 유튜브도 한번 알려드리며 오지랖(?) 넓은 서평을 마무리하고자 한다.
마치며
나도 두고두고 다시 읽어볼 정말 좋은 책을 한 권 찾은 것 같아 기쁘다!!
2025년 올 한 해 시간이 충분하다면 책을 n번 더 읽어보고 싶다.
그리고 Kotlin의 멀티 패러다임 이터레이션도 살펴볼 예정이다.
좋은 책을 만들어주신 유인동님께 감사드린다.