(서평) 뉴욕의 프로그래머 - 실수를 두려워하지 말지어다

토요일에 읽기 시작해, 일요일에 끝냈으니 매우 금방 읽은 책이다. 그만큼 재미있게 읽었다.

임백준씨의 저서는 모두 다 갖고 있고, 임백준씨의 철학에 깊은 감명을 받은지라 이번 책도 기대를 하지 않을 수 없었다.

이 책에서 가장 인상 깊었던 인물은 로버트였다.

사실 나는 실수를 잘 견디지 못한다. 내가 실수를 하고 나면 모두가 나를 원망하는 것 같고, 내 잘못이 너무 크게 느껴져 괴로움에 몸부림 치곤하니 말이다.

실수를 두려워 하는 사람은 성장할 수 없다는 본문의 내용을 보고 많은 것을 느꼈다.

내 실수를 변호하고, 옹호하려는 것이 아니라, 실수에서 얻는 것이 있다면 그 실수를 두려워 할 필요가 없는 것 아닌가?

그런 생각이 드니 내 마음이 조금은 편해지는것 같았다. 꼼꼼한점이 부족하고, 빠른 결과물을 내려다 실수하는 내 자신이 한심해지기도 했지만, 그런 문제점을 나 자신이 파악하고 있고, 나아지고 있는 중이라는 점으로 위안을 삼았다.

긴박한 상황에서 버그를 잡을 때, 사실 나는 일반적인 상황에서, 로직적인 상황에서의 추리를 하곤하는데, 톰의 일반적이지 않은 상황까지 추리해내는 기지에는 감탄을 금치 못했고, 프라빈과 같은 천재 이야기를 보면서는 프라빈 정도는 아니더라도 천재라 느낄만한 프로그래머를 만나봤던 나로선 모짜르트라는 천재를 보고 괴로워했던 살리에르의 기분을 다시금 떠올리게 되었다.

이브와 같은 마인드는 아니었지만, 이브 처럼 우연에 맡기는 프로그래밍을 하는 실수했던 날, 이만큼 성장하게 도와준 동료들도 고맙고, 지금껏 나를 돌아볼 수 있는, 내 마음을 다 잡을 수 있는 좋은 책이었다고 생각한다.

아직 현업에 뛰어들지 않은 프로그래머 지망생들이 이 책을 본다면, 이브와 같은 한심한 마인드를 가지지 않으면서, 로버트처럼 실수에 지나치게 괴로워 하는 용기없는 사람이 되지 않았으면 좋겠다는 생각이 들었던 책이다.

(서평) 해커와 화가

해커이면서 동시에 미술적인 분야에 눈을떠 색다른 시각의 의견을 자주 내놓는다는 폴 그레이엄!

기대를 갖고 본 책이었습니다.

저는 조엘의 책을 보면서 그의 통찰력과 의견에 동의했었는데요, 이번에도 마찬가지였습니다.

조엘이 주로 프로그래머로서의 시각으로 이야기 했다면, 제가 느낀 폴 그레이엄은 책 이름과는 달리 사람 그 자체에 대해 이야기를 한 부분도 많았습니다.

책에도 써있는 이단적인 통찰과 현실적인 지혜라고 써져있는데 맞는 얘기가 참 많습니다만…!

조금은 여유가 있는 프로그래머들에게 한정된 이야기 아닌가 싶은 투정도 부리면서 읽게 됐던 책입니다.

이 책을 읽게된 계기는 임백준씨에게 많은 감명을 받았는데, 그런 임백준씨의 역서이자 추천서라서 더욱 더 관심을 갖고 읽게 됐는데요, 임백준씨의 프로그래밍에 대한 애정과 자부심이 폴 그레이엄의 영향도 어느정도 있지 않았을까 싶은 생각도 이 책을 읽으면서 들었습니다.

자신의 직업과 자신의 업무, 자신의 생활에 좀 더 자부심을 갖고 일하라는 메시지가 아닐까 싶네요.

(서평) API로 배우는 윈도우즈 구조와 원리

내가 처음본 API서적은 국내에서 가장 유명(아닐지도 모르지만)한 김상형씨의 API 정복이었다. 물론 나역시도 만족했고, 현재도 WIN32 API 레퍼런스로 사용하고 있다.

API란 Application Programming Interface라는것, 그리고 기본적인 프로그래밍에 필요한 함수 집합이라는것은 알고 있었지만, 다들 배워야 한다기에, 다들 알아야한다기에 접했을뿐 별다른 감흥은 없었고, 더 알고 싶지도 않았다.

컴퓨터 공학을 공부하다보니 운영체제란 과목이 있었지만, 설명이 부족해선지, 아니면 교재가 좋지 않아선지 별 흥미를 느끼지 못했고, 다른 과목보다 관심도가 낮았다.

프로그래밍을 하는데, 왜 운영체제가 필요한지는 의문이었었고, 윈도우 프로그래밍에 필요한 내용을 어느정도 선(멀티 태스크, 멀티 쓰레드, 이벤트 프로그래밍, 핸들, 인스턴스등 기본 개념)까지는 알고 있었기 때문에, 괜찮다고 생각했다.

하지만 그렇지는 않았다.

신기술의 이해를 위한 바탕에는 그 근본 원리를 아는것이 중요했고, 프로그래밍의 근본 원리에는 그 바탕이 되는 운영체제에 대한 이해, 데이터 구조에 대한 이해, 그 언어에 대한 이해등 많은 지식이 필요하고, 그 중 하나인 운영체제에 대한 이해를 놓친 내가 바보같기도 했지만, 후회만 하고 있을수없기에, 운영체제에 관련된 책을 몇권 구입하게 되었다. (이 책도 그중에 하나였다)

여러권 구입한 책들중 (API 정복의 경우는 미리 사둔 책이라 예외다) 가장 설명이 잘 되어있었다.

책의 두께, 많은 페이지수, 긴 설명 이런게 중요한것이 아니다. 운영체제와 그 구동 원리를 이해하는데에 핵심적인 내용은 모두 담고있고, 어떠한 책이든간에 모든 정보를 담을순 없다. (에세이나, 소설, 수필, 참고서등은 당연히 예외다) 다른 참고 자료 혹은 참고 서적을 봐야하는건 어떠한 경우에나 마찬가지이고, 이 책도 마찬가지로 부족한건

다른 책을 참고해야했지만, 윈도우에 대한 개념을 잡아주는데에(사실 윈도우나 유닉스나 리눅스나 그 근본구동원리나 기능은 비슷하기에 하나만 잘해도 나머지는 어느정도선까지 따라오기 마련이다) 큰 역할을 했다.

프로그래밍을 좀 더 잘하기 위해 운영체제에 대해 알고 싶으신분이나, 윈도우의 원리에 대해 궁금하신분은 주저 말고 선택하시길 바란다.

(서평) 소프트웨어 산책 - 역시나 흥미로웠던 그의 산책

이전에 임백준씨의 책들을 감명깊게 읽었던지라 이번책도 큰 기대를 품고 읽게 되었습니다.

그의 철학에 녹아있는 이야기들은, 자신에 철학과 글에 대한 믿음이 절로 이해가 되는 책들이라 매우 와닿았었죠.

이번책의 내용은 소프트웨어 방법론에 대한 이야기였는데, UML, 리팩토링, XP, 디자인 패턴등 다양한 방법론에 대한 이야기를 듣고 관련 서적을 접해보았지만, 딱히 와닿지는 않았던게 사실입니다.

설계가 잘 되어진 프로그램이 더 좋게 나올것이라는 생각은 늘 가지고 있었지만, 과연 UML의 다이어 그램을 통해서 프로그램을 좋게 만들수 있을까? XP는? 리팩토링은?? 늘 의구심이 들었습니다. 예외로, 디자인 패턴은 그 활용 가치에 공감했지만 말이죠.

특히나 리팩토링의 경우는 더더욱이 그런 편이었는데, 임백준씨가 책안에 적어놓은 코드안에 철학은 진정한 객체지향으로 향해 가는 코드를 보였고, 의미없는 클래스와 객체의 남발에 대한 일침을 가했다고 봅니다.

책안에 UML에 대한 이야기는 없었지만, 결과적으로 소프트웨어 방법론에 대한 핵심적인 이야기를 들음으로해서, 그것들이 필요하고, 왜 필요한지에 대한 “동기부여”가 됨으로써 그 가치가 더 높았다고 생각합니다.

자칫하면 한동안 (언젠가는 필요로 했을지 모르지만) 장식품 역할을 할뻔한 소프트웨어 방법론 서적들에 필요성을 높여준 이번 책도 역시 임백준씨라는 생각이 드네요.

프로그래머 K씨의 하루의 경우는 시도는 좋았던것 같았지만, 본책의 페이지를 줄이며 등장할것이 아니고, 기본적인 내용이 일정 페이지수를 만족하며, 부가적인 요소로 삽입되었으면…하는 아쉬움이 있었지만 나쁘지 않았다고 생각합니다.

여전히 방법론에 회의적인 분들을 위해 이 책을 추천하며…

(서평) 누워서 읽는 알고리즘

프로그래밍에 꽃이라 할수 있는 알고리즘.

그러나 그런 알고리즘은 늘 고민과, 고뇌를 동반하고, 풀릴듯 풀리지 않는 문제, 해결은 됐으나 완벽하지 못한 방법들은 늘 나를 괴롭혔고, 알고리즘이란 귀찮고 번거롭지만 해야하는것이라는 인식이 무의식적으로 자리 잡힌것 같았다.

그러나, 이 책은 보고나선 내 생각은 달라졌다. 다른 이론서(혹은 활용서)와는 달리 알고리즘에 대한 생각, 자신이 가지고 있는 프로그래밍및 알고리즘에 대한 생각들을 늘어 놓으면서, 음악에 대한 비유등.. 이 책을 쓴 저자는 프로그래밍을 참으로 즐길줄 아는 사람이고, 자신의 꿈을 사랑하는 사람으로써, 멋지다라는 생각이 들기도했다.

사실 이 책은 매우 많은 내용을 담고 있지는 못하다. 페이지수도 많은 편은 아니다. 하지만 이 책이 담고 있는 깊이는 여느 책 못지 않다고 본다.

이 책은 자칫하면 매너리즘에 빠질수 있는 사람들(특히 프로그래머)에게 매우 좋은 책이다.

처음 그 마음가짐을 잊었던 나에게, 프로그래머로서의 즐거움이나 마음가짐을 갖게 해준 이 책은 나에게 최고의 책이 될것이다.