The C++ Programming Language (Fourth Edition) - 한국어판 에이콘 프로그래밍 언어 시리즈
비야네 스트롭스트룹 지음, 박지유 옮김 / 에이콘출판 / 2015년 12월
평점 :
장바구니담기


번역판을 간절히 기다리다 못해 영문판을 산 입장에서 너무나 반가울 뿐입니다. 전부 읽을 시간은 당연히 없고 대충 훑어봤는데, 이만큼 방대한 서적을 아무 문제 없이 번역하는 것이 더 어려울 것이란 생각이 듭니다. 제게는 나쁘다는 생각은 들지 않았습니다. 저는 정말 행복합니다

댓글(0) 먼댓글(0) 좋아요(3)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
Java의 정석 - 2nd Edition
남궁성 지음 / 도우출판 / 2010년 1월
평점 :
구판절판


이 책 제목은 좀 거창한데 거기 신경 쓸 필요는 없고... 뭐부터 시작할까? 내가 왜 이걸 보게 되었는지 써볼까. 내가 이야소프트를 다니던 시절이었어. 회사에서 게임이 성공하자 다양한 복지 정책을 만들어줬지. 좋은 시절이었어.


그 중에서 온라인 독서 교육이 있었지. 기간 내에 책을 보고 마지막에는 내용을 맞추는 문제를 내줘. 그걸 다 풀면 되는거지. 그리고 책은 가지는 거야. 60점 미만이면 불합격이고 몇 만원 되는 교육비를 물어내야 해. 알다시피 그런 일은 거의 없어. 정말 작정한다면 몰라도. 거기서 보게 된 책이야. 이전까지 비슷한 전개를 가진 자기 개발 서적에 지쳐있었거든. 자바의 명성은 익히 알고 있었고. 게임계를 제외한 실로 많은 곳에서 자바를 쓰잖아. 참, 난 게임 개발 쪽이야. 자바를 아예 모르는 건 아냐. 자바가 나왔을 시절에 진지하게 개발자의 길을 고민했었어. 그 때는 절박함이 부족했나봐. 고민만 하다 끝났으니까.

독서교육을 다섯 개쯤 하고 나서 목록을 보는데 이게 있는거야. 책 값이 비싸지만, 컴퓨터 쪽은 더 그렇잖아. 공부도 할겸 얼른 선택했지. 책 구성은 좋아. 전형적인 프로그래밍 언어 자가 학습 형식을 갖고 있어. 각 장마다 연습 문제가 있어서 더 좋아. 난 문제가 있는 책이 좋더라구. 읽기만 해서는 모르잖아. 눈만 익히면 아는 체 하기나 좋지. 중요한 건 몸이 알도록 하는 것 같더라구. 풀다 보면 생각보다 좀 어려운 것들도 있어.


그런데 웬일. 저자가 만든 카페가 있고 거기 가면 도움을 얻을 수 있어. 고민도 안하고 찾아보는 건 컨닝하는 기분이니 적당히 하는 게 좋겠지. 나도 연습 문제 풀다가 모르는 걸 거기 가서 힌트를 얻을 수 있었어. 얇은 소책자가 있는데 이건 들고 다니면서 폼내기에 괜찮아. 들쳐보면 발표하는데 쓰일 양식으로 요약본이 있어. 지하철에서 몇 번 봤는데 괜찮아. 이 빠진 걸 채워주는 느낌이야.


내용은 어떨까. 설마 기승전결 같은 걸 원하지는 않겠지? 판에 박혔지만 어쩔 수 없어. 공부에는 왕도가 없잖아. 정의부터 시작해서 예약어, 형식, 기술 방식으로 차례차례 올라가. 여지껏 내가 공부해본 느낌은 책이 눈에 잘 들어와야 한다는 거야. 편집이 중요하다는 거지. 그래야 쉽게 쉽게 넘길 수 있어. 이 책은 그런 점도 좋고 구성도 좋고 종이도 좋아. 보기가 편해. 저자가 강사 출신이라 그런가. 학원에서 배우는 기분도 드는데 나쁘지 않아.

참, 언어 배울 때 내 경험 좀 써볼께. 책을 몽땅 이해하는 건 중요한게 아니야. 부딪쳐야 해. 안 쓰면 잊어버리잖아. 모르는 건 열심히 찾아보고. 자바하고 싶다고? 목표를 가져. 망치의 존재론에 대해 고민할 필요 없잖아. 못을 박든지 호두를 깨든지 필요해서 쓰는 거잖아. 자바를 공부만 하지마. 계산기든 게임이든 만들어봐. 이 책은 너에게 좋은 망치가 되어줄꺼야.



댓글(0) 먼댓글(0) 좋아요(4)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
C++로 배우는 프로그래밍의 원리와 실제
Bjarne Stroustrup 지음, 류광 옮김 / 대웅 / 2010년 8월
평점 :
품절


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

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


 

  • 소프트웨어란 무엇인가? 답: 컴퓨터를 원하는 목적으로 동작시키는 코드
  • 소프트웨어 개발자는 어떤 모습인가? 답: 다른 사람과 의사소통하면서 의도대로 동작되는 코드를 작성하는 사람
  • '프로그래밍은 이해이다'가 뜻하는 바는 무엇일까? 답: 프로그램 작성은 문제를 해결하는데 목적이 있고, 문제를 이해하는 것이 프로그램을 잘 작성할 수 있게 하기 때문이다

 

후반부로 가면...
 

  • 회귀 검사가 무엇이고 왜 중요한가? 답: 과거에 오류를 찾는데 쓰인 검사. 시스템의 행동이 합의를 본 적절한 행동으로부터 멀어지는 일을 막는다
  • 클래스 객체의 기본적인 복사 의미론은 무엇인가? 답: 자료 멤버들을 모두 복사한다
  • 일반적 프로그래밍과 객체지향적 프로그래밍은 어떻게 다른가? 답: 전자는 다양한 인수들의 형식에 의해 작동하는 코드를 만들고 컴파일 타임에 실행할 함수를 선택한다. 후자는 클래스와 가상 함수를 이용해서 런타임 시점에 실행할 함수를 선택한다.

 

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


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


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


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