이 책은 제목부터 꽤 흥미로운 책이다. 현재 IT에 영향을 준 9가지 알고리즘을 선정해서 그 알고리즘이 어떤 알고리즘이고 어떻게 동작하는지를 설명한다. 가장 흥미로운 점은 이러한 알고리즘이 컴퓨터 사이언스 혹은 프로그래밍에 꽤 깊은 관련이 있음에도 관련 지식이 없이도 이해할 수 있게 아주 쉽게 설명한다는 점이다.
여기서 선정한 알고리즘은 다음과 같다.
- 검색엔진 인덱스
- 페이지랭크
- 공개 키 암호화
- 오류 정정 코드
- 패턴 인식과 인공지능
- 데이터 압축
- 데이터베이스
- 디지털 서명
우리 현실에 영향을 주는 알고리즘은 정말 수만 가지가 있지만,, 그중에서도 최신 트랜드리기 보다는 비 개발자도 현실에 영향을 받을 만한(의식하든 못하든) 알고리즘 위주로 설명하고 있다. 그래서 짧게는 10여 년부터 몇십 년 전에 만들어진 알고리즘들이 이 책에서 설명하는 내용이다.
개발자로서 이 책이 좋은 점은 최소한 이름 정도는 대부분 알고 있고 간단한 정도의 동작방식도 알고 있지만, 프로그래밍에서 아주 저수준의 알고리즘 이므로(이런 알고리즘이 없다면 지금의 IT 환경이 존재하지 않을 정도) 딱히 따로 찾아봐서 공부하기가 쉽지 않은데 이 책에서 그 내용을 아주 쉽게 설명하고 있다. 책의 대상 독자가 개발자가 아니라 비 개발자이므로 예시나 설명방식이 마치 초등학생한테 설명하듯이 아주 쉽게 설명하고 있다. 개발자라서 알고리즘의 배경은 쉽게 이해할 수 있어서 그 배경이나 알고리즘이 주는 혜택, 동작 방식 등에 집중해서 읽다 보니 당연하던 사용하던 알고리즘에 감탄도 여러 번 나왔다. 물론 이런 전문적인 내용을 이렇게 쉽게 설명한 저자한테도 감탄을 느꼈다.
다만 책의 저자가 너무 쉽게 설명하려다 보니 상세한 부분이나 전문적인 부분은 생략하는 경우가 종종 있는데 개발자이다 보니 좀 더 기술적이 상세 내용이 궁금한 부분이 종종 생긴다. 이 책의 컨셉으로 이런 저수순 기술을 약간 더 수준 높게 설명하는 책이 있으면 딱 좋겠다는 생각이 들었다. 관련 내용에 대한 글을 찾아봐도 되지만 보통 그런 글은 너무 전문적이라 이해하기도 쉽지 않은데 이 책에 수준에서 조금만 더 깊게 들어가면 딱 좋겠다 싶었다.
내가 재밌게 본 부분은 공개 키 암호화, 오류 정정 코드, 디지털 서명 등이다. 컴퓨터를 사용하면서 거의 항상 사용하는 알고리즘이기에 더욱 흥미롭게 읽게 되었고 관련 동작방식이 궁금해졌을 때 다시 이 책을 열어보고 싶을 정도로 설명이 잘 되어 있다.
비 개발자를 대상으로 쓴 책이지만 이 책에서 설명하는 알고리즘은 개발에서 너무 중요하므로 여기에 나온 알고리즘을 자세히 알지 못한다면 이 책으로 접근하는 것을 추천한다.
사무실에서 책을 본적이 있는데, 아웃사이더님꺼였군요!!
다음에 한번 빌려주세요...!!
네 책이 사무실에 있는듯 하네요 ㅎㅎ