본문 바로가기
나/감상문

C++로 배우는 프로그래밍의 원리와 실제

by ehei 2012. 1. 2.

아침마 다 틈나는대로 읽어서 3개월 걸린 끝에 다 보았다. 읽은 것은 지난 달 일이지만, 피일차일 미룬 끝에 이제야 쓰게 된다. 기술 서적이 소설도 아니고 한번 읽은 것 따위로는 어림도 없지만... 어쨌든 티끌모아 태산을 간만에 실천해봐서 기뻤다. 다 읽고 나서 들은 생각은 이렇다. '대학 때 이걸로 공부했으면 얼마나 좋았을까'. 프로그래머를 지망하면서 내가 봤던 책은 하나같이 문법이나 테크닉을 전달해주는데 바쁜 책이었다. 지금 떠올리니 내 마음도 급했지만. 이 책을 보면 생각을 하게 된다. 특히 연습 문제. 워낙 엄청난 분량 - 1300쪽이 넘는다 - 탓에 진득하게 훈련 과제/복습/연습 문제까지 푼다면 1년 안에 끝낼 수 있을까 싶을 정도로 많다. 게다가 그 깊이란. 또한 부가적으로 얻은 것이 있다. 복습 문제를 풀어보면서, 내가 책을 훑어서 읽는 습관이 있다는 걸 알게 되었다. 이 책을 읽은 후부터는 좀 더 신중히 읽으려고 노력하게 되었다. 괜찮은 보너스이다.

복습 문제 이야기로 돌아가보자. 처음에는 이런 것들로 시작한다. 답은 최대한 책에서 찾고, 없으면 내 주관대로 썼다. 저자도 밝혔지만 대충 뒤져도 쓸만한 면접 문제가 너무도 많다.


- 소프트웨어란 무엇인가? 답: 컴퓨터를 원하는 목적으로 동작시키는 코드

- 소프트웨어 개발자는 어떤 모습인가? 답: 다른 사람과 의사소통하면서 의도대로 동작되는 코드를 작성하는 사람

- '프로그래밍은 이해이다'가 뜻하는 바는 무엇일까? 답: 프로그램 작성은 문제를 해결하는데 목적이 있고, 문제를 이해하는 것이 프로그램을 잘 작성할 수 있게 하기 때문이다


후반부로 가면...

- 회귀 검사가 무엇이고 왜 중요한가? 답: 과거에 오류를 찾는데 쓰인 검사. 시스템의 행동이 합의를 본 적절한 행동으로부터 멀어지는 일을 막는다 

- 클래스 객체의 기본적인 복사 의미론은 무엇인가? 답: 자료 멤버들을 모두 복사한다

- 일반적 프로그래밍과 객체지향적 프로그래밍은 어떻게 다른가? 답: 전자는 다양한 인수들의 형식에 의해 작동하는 코드를 만들고 컴파일 타임에 실행할 함수를 선택한다. 후자는 클래스와 가상 함수를 이용해서 런타임 시점에 실행할 함수를 선택한다.


정 말 훌륭한 내용들이 너무나 많다. 분량이 대단한 관계로 모든 내용을 머리에 담아둘 수 없는 것이 안타까울 뿐이다. 읽을 수록 내가 그의 열렬 신도가 되가는 이유를 발견했다. 이 책은 정말 훌륭한 교재이며, C++이 아니더라도 프로그래머를 지향하는 사람에게 성경과 같다고 주장하고 싶다. 이 책을 사서 오랫동안 묵혀놨다고 해도, 1장 만은 꼭 보길 바란다. 모든 장이 빼놓을 구석없이 죄다 훌륭하지만 말이다. 그가 생각하는 좋은 프로그래머의 모습에 나 또한 그렇게 되리라 다짐했다... 인용해본다.


24쪽 하단: 현대적인 소프트웨어 개발은 팀 활동이므로, 다른 사람들과의 상호 작용을 선호하는 사람들이 그렇지 않은 사람들보다 프로그래머의 역할에 더 잘 적응한다. 이는 프로그래머에게 사교성과 의사소통 능력이 필수이며, 현실 프로그래머들은 미신 속의 프로그래머들에 비해 그런 것들에 더 큰 가치를 둔다는 뜻이다. (중략) 특히, "내가 신경 쓰는 것은 컴퓨터와 프로그래밍 뿐"이라는 태도를 가진 사람은 프로그래머가 아닌 동료들과의 의사소통에서 어려움을 겪게 된다. 그런 사람은 사람들과의 상호 작용(이는 곧 삶이다) 중 최고의 부분을 놓치게 될 뿐만 아니라 나쁜 소프트웨어 개발자로 전락하고 만다


너무나 멋진 문장이다. 이런 멋진 구절이 너무나 많아 모두 인용할 수 없는 것이 안타까울 뿐이다. 나는 한 가정의 가장이므로, 이걸 우리 집안의 주기도문으로 채택하고 싶을 정도이다. 자식들은 짜증낼지도 모르겠지만. 인생을 살면서 많은 것을 직접 몸으로 배웠지만, 이런 멋진 책으로 내 학창 시절을 시작했으면 어땠을까. 아마 포인터 때문에 프로그래머 생활을 늦게 시작하는 일은 없었을텐데... 괜시리 읽는 내내 아쉬웠다. 허나, 내가 살아있는 동안 이런 멋진 책이 번역되어 쉽게 읽을 수 있는 것에 기쁘다. 또한 원서로 읽어보고 싶다. 그의 필력을 직접적으로 느끼면서 전율하고 싶다. 틈나는 대로 연습 문제를 풀어보려 한다. 예전의 땀나게 공부하던 시절을 떠올리며 말이다.




' > 감상문' 카테고리의 다른 글

오페라의 유령: 25주년 특별 공연  (0) 2012.01.28
열네 살  (0) 2012.01.08
실종 일기  (0) 2011.12.17
왜 똑똑한 사람이 어리석은 결정을 내릴까?  (0) 2011.08.21
폴아웃 택틱스  (0) 2011.08.16