게시판에 상당히 자주 Accelerated C++에 관련해서 ^^ 김백일님이 추천하고 와우북 갔더니 서평도
좋아서 망설이다가 지난주에 주문했습니다.
아무래도 직접 구성을 살펴보고 내용을 봐야 뭔가 판단이 설것같아서요. ^^;
개인적인 생각에 지금까지의 이야기들을 간단히 조합해보면,
C++로 만들어진 체계속에서 잘 만들어진 프로그래밍 로직들을 이용하는것을 설명한 책으로는
Accelerated C++이 좋은책이라고 생각됩니다.
제가 학습한것은 전형적인 이전?? 학습세대처럼 C를 했었고 C++을 했었으며 그 방법도 아주 기초인
변수부터 함수, 클래스, 템플릿 또는 STL 등등으로 확장해 갔었기에 Accelerated C++을 처음 보게된
개인적인 입장은 분명 당황스러울것 같습니다. 하지만 아직 보지 않았으니 조금 기대도 됩니다. ^^;
좋은 책을 떠나서 학습의 방법에는 기존의 방법인 기초 원리부터 닦아가는것이 있고 또는 이미 만들
어진 체계를 활용해서 로직의 이해와 구성능력을 먼저 닦아나가는 것이 있다고 보여집니다.
만일 변수부터 차근차근 원리이해를 원하신다면
Object Oriented Programming in C++ (Fourth Edition) - 원서
(번역서가 있었는데 "알기 쉬운 핵심 길잡이 C++ Programming(성안당)" 이라는 책인데 초비추--;
라는 서평도 달려있습니다. ^^ ㅎㅎ)
을 보시는것이 좋을듯합니다. 그럴경우 Accelerated C++에 나오는 표현들의 기저에 깔린 바탕적
의미가 어떻게해서 만들어졌는지 이해갈듯 합니다.
하지만!!
이는 절대 프로그래밍이라기 보단 프로그래밍을 하기전인 학습입니다.
실제 프로그래밍 로직을 적용하기 위해서는 많은 알고리즘들을 사용하게 될것입니다.
프로그래밍 이전의 코드 이해를 위한 학습을 하고, 알고리즘들의 실제 구현을 학습하기에는 많은
시간이 소요됩니다.
이런 이유로인해 실제 프로그래밍 능력을 기르는데 필요한 준비 작업 및 시간이 많이 들어가는데
이를 원치않고 알고리즘의 이론적 이해만 가지고 바로 구현의 맛을 느끼려면 역시 STL의 훌륭한
기능이 제격이라 생각됩니다. 실제 회사에서 코드를 만들때도 요즘은 개인적으로 자료구조를 만들
기보다 간단한 부분에는 STL도 종종 이용됩니다.
(물론 이건 제 경우입니다. 더 많이 쓰시는 분도 있고 아닌 분도 있습니다.)
음.. 정리하자면...
프로그래밍에 나오는 분석적 이해를 기르시려면 Accelerated C++은 처음 접하는 분들에게 좀 버거운
충격으로 다가올지도 모를듯합니다.
정말 대학 교재로 사용된다면 교수님들이 이끌어가기에 또 그에맞는 레포트를 내기에 더없이 좋겠
지만 현실의 대학 실정은 대부분 분석적 이해를 바탕으로한 (원초?적 방식의)학습결과를 원하는것
같기에 두가지 충격을 감당하기에는 처음 접하는 분들이 힘겨울듯 합니다.
그럴 경우는 서점에서 C++관련 서적들을 살펴보시고 직접 와닿는 책을 고르시는게 좋을듯합니다.
또는 포럼에서 추천한 많은 서적들을 이용하는것도 좋을듯합니다.
하지만 초보서적으로는 역시 몇몇 제약이 있을듯합니다.
물론 제가 책을 받아보고 헉~! 하면서 지금 적은 내용을 전부 부정할;; 할수도 있겠지만...
일단 지금의 제 생각입니다.
책을 받아보고나서 이 생각이 크게 틀리지 않았다면 언젠가는 필요하다고 생각했지만 처음 접하는
분들을 위해서라도 간단한 추천서를 특징별로 몇권 분류해볼 생각입니다.
또한 어떤 학습방식을 원하는지가 바로 현 한국 프로그래밍 학습의 실정이 되는것이기도 하겠지요.
ps.
프로그래밍을 학습하려고 하시는 분이라면 1~2주 학습할 생각마시고 2~3개월 또는 더 장기적으로
계획을 세우시고 학슬할 각오! 를 하셔야 합니다.
언젠가 할거라면 스스로의 결심이 중요합니다.
처음 100~200 페이지 학습하고 쓰러질 결심이라면 하지않고 아르바이트나 다른 사회경험을 쌓고
레포트 하려고 이리저리 뛰는게 더 얻을게 많을것 같습니다.
(물론 100~200 페이지도 한번 경험해보는건 좋겠지만. ^^)
김광수 님이 쓰신 글 :
:
:
:
:
:
:
:
Accelerated C++ 책 보다가 앞장부터 막히내요~
:
전체 문장은 대충 생략하구요..
:
const std::string spaces(greeting.size(),' ');
:
라는 문장에서 햇갈리는대요.
:
우선
:
1.spaces가 변수라고 책에서는 설명했는대 이건 제가 알고 있는 관점에서 보면 함수에 가까운대요.
:
size만큼의 공백문자를 채우라는 함수라고 생각하는대 이걸 변수라구 하니 참 난감하내요
:
이걸 변수라고 말하기전에 우선 std와 string에 대한 자세한 설명이 앞서야 되는대 이에 관해선 설명이 부실한거
: 같습니다..
:
얼래 보통 출력할려면 제가 배운내용대로라면 iso::cout 라는 걸 쓰는대 std라는 표준라이브러리?라는걸 쓰더군요.
:
std가 정확히 어떤 일을 하는지는 잘 모르겠습니다. 네임스페이스의 일부라는거밖에는 ㅡ.,ㅡ
:
네임스페이스가 어떤 이름들을 그룹화 시키는거라는대..쩝... 원서 샀더라면 첫장읽고 덮었을것 같습니다.
:
해석조차 힘드니 ..
:
변수안에 객체를 쓰구 컴포넌트(size)까지 정의하고 그걸 함수로까지 쓰다니 참 ~^^;;;;;;;;;;
:
:
암턴 책 내용은 제가 이해를 못하겠습니다.
:
알기쉽게 설명좀 해주세요 ㅠㅠ
:
:
:
: