책 제목: 알고리즘 산책
평점: 4.0 / 5.0
알고리즘 산책
제네릭 프로그래밍의 개념을 적용해 STL을 만든 스테파노프가 강의하고, 다니엘 로즈가 정리한 프로그래밍과 수학 이야기. 제네릭 프로그래밍의 원리와 추상화에 대한 수학 개념을 살펴보면서
www.aladin.co.kr
가장 최근에 읽은 책. 저자가 STL의 설계에 기여한 사람이고 수학과 제네릭 프로그래밍에 대해 다루는 책이라는 점에서 흥미를 갖고 구입한 책. 구입한지는 꽤 오래 되었으나 회사에 두고 아침에 업무 시작전 남는 시간에 틈틈이 읽어서 다 읽는데 상당히 오래걸렸다.
결론부터 말하자면 상당히 흥미롭게 읽었다.
이 책은 절반 정도는 수학, 절반 정도는 프로그래밍에 대한 이야기를 다루고 있는데, 개인적으로 상당히 재밌는 컨셉이라고 느껴졌고 이런 주제를 다룬 책은 처음이어서 재밌게 읽었던 것 같다.
책의 주된 내용은 수학 역사를 따라가면서, 수학에서 어떤 문제를 해결하기 위해 만들어진 알고리즘이 어떤 방식으로 일반화되어 가는지 그 과정을 보여준다. 그리고 이를 코드를 통해 예시를 보여주면서 개발자의 관점에서 어떻게 제네릭한 알고리즘이 만들어지는지를 보여준다.
이 부분에서 추상대수학의 개념을 가져와서 설명하는데 이 부분이 매우 흥미로웠다. 수학에서 말하는 일반화, 추상화의 개념과 제네릭 프로그래밍이나 소프트웨어에서 말하는 추상화의 개념이 결국 같은 방식의 어프로치라는 점이 개인적으로 매우 신선하게 느껴졌다(한번도 이런식으로 생각해본적이 없었기 때문에).
또 이 책을 보면서 대수학이라는게 대충 어떤걸 다루는 분야인지 처음으로 알게 됐다.
참고로 책의 내용은 그렇게 쉬운 편은 아니다. 특히 나처럼 수학을 전공하지 않은 공학도의 관점에서 봤을때, 처음 접하는 생소한 용어나 개념들이 많다. 그냥 가볍게 읽어서 쉽게 이해할 수 있는 수준의 책은 아니다. 물론 또 그렇다고 해서 추상대수학에 대해 깊이 있는 내용을 다루는건 아니고 어디까지나 대략적인 개념만 다루고 있기 때문에 집중해서 정독한다면 이해할 수 있는 수준이긴 하다.
제네릭 프로그래밍과 수학에 관심이 있는 개발자(특히 알고리즘 개발자)라면 한번쯤 읽어보길 추천한다. 이 책을 읽었다고 해서 당장 뭔가 실무에 도움이 된다거나 하는건 아니지만, 수학과 알고리즘, 그리고 프로그래밍을 바라보는 시야를 조금 더 넓혀줄 수 있는 책이다.
'도서 리뷰' 카테고리의 다른 글
[도서 리뷰] 모던 C++ 디자인 패턴 (1) | 2021.05.06 |
---|---|
[도서 리뷰] 테스트 주도 개발 (1) | 2021.05.03 |
[도서 리뷰] 프로그래머를 위한 확률과 통계 (0) | 2021.04.19 |
[도서 리뷰] 프로그래머를 위한 선형대수 (0) | 2021.04.19 |
[도서 리뷰] 손에 잡히는 10분 정규 표현식 (1) | 2021.04.19 |