-
-
생각하는 프로그래밍 - 프로그래밍 본질에 관한 15가지 에세이 ㅣ 프로그램 프로그래밍 프로그래머 1
존 벤틀리 지음, 윤성준 외 옮김 / 인사이트 / 2012년 12월
평점 :
구판절판
IT와 같이 급변하는 분야도 없을 것이다. 따라서 IT관련 책들도 새로운 기술이 나올 때 마다 금방 출현하고 또 바로 사라져버린다. 문학서 같은 책들은 과거의 책이 요즘에도 지속해서 읽혀지는 경우가 많지만 IT 도서는 대부분 그렇지 않다. 그런데 이 책 programming perl 은 프로그래밍 도서임에 불구하고 아무리 많은 시간이 지나도 지속해서 읽혀질 수 있는 종류의 책이다.
사실 프로그래밍은 길지 않은 역사동안 계속 해서 변해왔으나 그 기본 원리는 크게 변한 것이 없다. 프로그래밍 책 중에 '알고리듬+자료구조=프로그램' 이라는 특이한 이름을 가진 것이 있는데, 내 생각으로는 거의 맞는 말이다. 사실 이것은 폰 노이만 방식의 프로그램 내장 방식 컴퓨터가 사용되는한 프로그래밍을 가장 적절히 표현한 말로 남을 것이다.
프로그래밍의 핵심인 자료구조와 알고리즘 중 이 책은 주로 알고리듬에 관심을 가지고 기술 되었다. 따라서 알고리듬 책으로 분류 할 수 있겠지만, 다른 알고리듬 책과는 두드러진 차이점을 가지고 있다. 이를테면 다른 책들은 프로그래밍의 필수적인 여러 알고리듬 들을 모아 놓고 그 원리나 복잡성, 속도를 평가한다. 따라서 우리가 프로그래밍을 할 경우 작성하고자 하는 프로그램의 성격에 따라 가장 적합한 알고리듬을 책에서 선택하여 가져다 쓰게 되는 경우가 일반적이다.
그에 비해 이 책은 알고리듬의 나열 이라기 보다는 그것들을 언제 어떻게 이용하느냐에 초점이 맞추었으며 알고리듬을 프로그램에 적용하기 위해 사고하는 법을 알려준다. 또한 우리가 제대로된 프로그램을 작성 해야 한다면 일반적인 알고리듬 책에 제시된 것들만 가지고 프로그램을 완성하게 되는 경우는 별로 없다. 기존 알고리듬들을 제대로 적용 해야 할 뿐 아니라 상황에 맞춰 새로운 알고리듬도 고안 해야 하는 것이다. 여기서 프로그래머의 창의성이 요구되는 부분이며 이 책이 우리들에게 알려주고자 하는 내용이다.
창의적인 코드를 작성 할 때의 기쁨은 창의적인 프로그래머만이 느낄 수 있는 특권이다. 만약 누가 만들어 논 알고리듬이나 코드만 이용 하는데 한계를 느낀 사람이 있다면, 꼭 읽어야 할 필독서라 할 수 있겠다.