알고리즘 산책 - 수학에서 제네릭 프로그래밍까지
알렉산더 A. 스테파노프 외 지음, 서환수 옮김 / 길벗 / 2018년 5월
평점 :
장바구니담기


STL을 설계하신 분이 제네릭 프로그래밍에 대해 쓴 책이라는 소개글을 보고 바로 구입한 책입니다. 결론적으로 말하자면 상당히 흥미롭게 읽었고 만족스러운 책입니다. 


책의 서두에서도 이야기하지만 이 책은 절반 정도는 수학, 나머지 절반 정도는 프로그래밍에 대한 이야기를 다루고 있는데, 어느 한쪽에만 지나치게 치우치지 않아서 좋았습니다. 수학과 프로그래밍 두 가지 모두에 관심이 있는 분이라면 재밌게 읽을 수 있을것 같습니다.


책의 주된 내용은 수학 역사를 따라가면서, 수학에서 어떤 문제를 해결하기 위해 만들어진 알고리즘이 어떤식으로 일반화되어가는지를 보여줍니다. 또 그것을 예제 코드를 보여주면서 개발자의 관점에서 제네릭한 알고리즘이 만들어지는 과정을 같이 보여줍니다. 

그 과정에서 추상대수학에 대해서 설명해주면서, 수학에서 말하는 일반화, 추상화의 개념과 제네릭 프로그래밍이나 소프트웨어에서 말하는 추상화의 개념이 결국 같은 방식의 어프로치라는걸 이야기하는데, 개인적으로는 이런식으로 한번도 생각해본적이 없었기 때문에 신선하고 재밌었습니다. 보면서 "역시 STL을 설계한 사람은 다르구나"하는 생각을 많이 하게 됐습니다.


또 그 전까지는 솔직히 "대수학"이라는 학문이 어떤걸 말하는지 잘 몰랐었는데 이 책을 보면서 "대수학이라는게 이런거구나~"하는걸 처음으로 알게 됐습니다.


참고로 책에서 다루는 수학 내용은, 저처럼 수학을 전공하지 않은 사람의 관점에서 봤을때, 처음 접하는 생소한 개념들이 많아서 다소 어려운 편입니다. 그냥 가볍게 읽어서 쉽게 이해할 수 있는 수준은 아니고, 책에서 설명하는 증명과정을 이해하고 따라가려면 어느정도 시간이 필요합니다. 물론 그렇다고 해서 이 책에서 추상대수학에 대해 깊이 다루고 있는건 아니고, 어디까지나 대략적인 개념에 대해 설명하고 있기 때문에, 아무리 봐도 도저히 이해할 수 없는 수준까지는 아닙니다.


제네릭 프로그래밍과 수학에 관심이 있는 개발자(특히 알고리즘 개발자)라면 한번쯤 읽어보시길 추천드립니다. 이 책을 읽었다고 해서 당장 뭔가 실무에 도움이 된다거나 하는건 아니지만 수학과 알고리즘, 그리고 프로그래밍을 바라보는 시야를 조금 더 넓혀줄 수 있는 책이라고 생각합니다. 


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