◆ 무한한 가능성/& Visual C/C++

[펌글] 프로그래밍 책 보는 순서 C/C++

치로로 2009. 1. 12. 00:14



초보 분들이 어떤 책을 읽어야 할지 갈피를 잡지 못해, 질문이 많으신데요. 그래서 자주 질문을 받는 내용을 요약 하였습니다.

  추후, 제게 쪽지를 주시면 내용을 업데이트 하겠습니다. 많은 쪽지 부탁 드려요!! 덧글로 남기셔도 됩니다!!


    //--------------------------------------------------------------------------------------------------


    /////////////////////////////////////////////////////
    C언어

    /////////////////////////////////////////////////////

    Teach your self C [번역본] /

    기초 플러스 C /

    열혈강의 C / 윤성우


    /////////////////////////////////////////////////////
    알고리즘.    

    /////////////////////////////////////////////////////

   

    C로 배우는 알고리즘 #1 / 출판사: 세화 / 저자: 이재규 ; 기본적인 알고리즘을 다룹니다. / (1권만 읽어도 무리가 없을듯...)

    C로 배우는 알고리즘 #2 /출판사: 세화 / 저자: 이재규


    /////////////////////////////////////////////////////
    C++
    /////////////////////////////////////////////////////
   
    기초 플러스 C++ 제5판 / 성안당.   ; 지금 서점에서 나온 따끈따끈한 책을 사시길...

     열혈강의 C++ / 윤성우  ;
     Effective C++ 2nd/ 대림.   ; C++ 의 프로그래밍 스킬을 높이거나, 실수를 방지하고 싶을때...
     More Effective C++ / 인포북.   ; 위 책에 30여 가지 내용을 추가한 책
    "Efficient C++" / 인포북  ; 이 책이 C++의 성능(속도와 메모리 사용량)에 대해서 이야기 하고 있는 책입니다

     

     % 어느 정도 실력이 쌓인 후에는 `빨간표지` 계열의 책을 보세요.


    /////////////////////////////////////////////////////
    API : ( Application Programming Interface )
    /////////////////////////////////////////////////////

    윈도우즈 API 정복 #1 / 한빛미디어

    윈도우즈 API 정복 #2 / 한빛미디어    
   

    /////////////////////////////////////////////////////
    COM

    /////////////////////////////////////////////////////

   

    com bible / 삼양미디어.


    /////////////////////////////////////////////////////
    Eclipse
    /////////////////////////////////////////////////////

    세상을 덮친 Eclipse 개정판 / 인사이트.

   
    /////////////////////////////////////////////////////
    Java
    /////////////////////////////////////////////////////

    소설 처럼 읽는 자바 / jabook.


    /////////////////////////////////////////////////////
    리눅스 커널.

    /////////////////////////////////////////////////////

   

    리눅스 커널 프로그래밍 / 한빛 미디어.

    리눅스 커널의 이해 / 한빛 미디어.

    리눅스 커널 구조와 원리 / 한빛 미디어.

    리눅스 커널 심층분석 / 에이콘.


    //--------------------------------------------------------------------------------------------------


    책을 읽는 일반적인 순서.


    C 언어 -> 알고리즘 -> C++ -> API(윈도우 계열) -> MFC(선택 사항) -> 다이렉트X(SI 계열)

    C 언어 -> C++ -> 알고리즘 -> API(윈도우 계열) -> 다이렉트X(게임계열)


    이후, 하나 이상의 언어를 마스터 하시는 것이 좋고, 전 자바나, C#, 혹은 델파이를 추천 합니다.    

                                                                                                                                          스텝 네오군.



/********************************************************************************************************

*********************************************************************************************************

*********************************************************************************************************

*********************************************************************************************************

********************************************************************************************************/




C언어 공부하려고 여기저기 알아보면서 어디선가 구해서

텍스트 파일로 저장해놨었는데..

많은 분들께 도움이 될꺼 같아서 올려봅니다.


아마 출처는 '프로그래밍을 배운다는것은... '카페 [ http://cafe.naver.com/opendori ] 로 기억하고 있습니다.




먼저 1단계..


1. 윤성우 강사가 쓴 "열혈강의 C++" 초보서로 적극 추천해 드립니다.


2. 안현순씨가 쓴 가남사의 Standard C++ 책도 좋더군요..


3. 그외에 C++기초 플러스(좀 두껍고. 지겹긴 하지요), 스탠리 립만이 쓴 책(제목이 기억 안나는 군요..), Thinking in c++등.. 수많은 기초 서적이 있지요... 아무 거나 골라서 한번은 보셔야 겠지요...


//---------------------------------------------------------------------

다음 2단계..

다음으로는 C++의 복잡한 문법을 잘 설명해주는(하지만 어려운)


4. Scott Mayer의 Effective C++, More Effective C++책이 있지요..


5. 그리고 Herb Sutter 의 Exceptional C++, More Exceptional C++도 읽어 봐야 겠지요..


그외의 Herb sutter의 책이 몇권 더있지요..


//-------------------------------------------------------------------------

// 다음 3단계..

이 단계는 제 생각에는 C++문법 보다는 이제 디자인 기법을 익혀야 할때 인거 같군요..


6. 디자인 패턴 관련 책을 1~2권 정도 봐야 겠지요..


//--------------------------------------------------------------------------

// 다음 4단계


7. Template 이 점점 중요 해지고 있으므로 "C++ Template" 도 꼭 한번 읽어서 정리 하시고..


8. Efficient C++ 같은 책으로 성능 향상을 위한 기법도 정리해 두세요(이책은 얇고 글자도 커서 잘 넘어 가지요)


9. STL 책도 제대로 한권 봐야할 단계이지요... 조슈티스의 C++ 튜토리얼 레퍼런스 보세요.


//---------------------------------------------------------------------------

// 다음.. 5단계


9. 이제 드디에 빨간 책들을 읽어도 될 단계인거 같네요.. 인포북에서 번역해서 계속 나오고 있는 "C++ indepth series"는 거의 필독서들 이지요..(근데.. 한 10권정도 되지요!) 


10. 그중 "Mordern C++ Design" 같은 훌륭한 책은 놓지면 안되겠지요..(절판되었지요 아마..)


//-----------------------------------------------------------------------------

// 다음 6단계

이제.. C++ 창시자의 책들도 봐야지요.. 얀 스트로스트럽의


11. The C++ Programming Language, Anotted Reference Manual, D&E 등은 감탄하시는 분도 있고 욕하시는 분도 있던데.. 그래도 C++ 밥 먹고 살려면 책상앞에 하나 정도는 놓아 두는게.. 예의상..!


12. 그외에 네크워크 라이브러러인 ACE를 설명하는 책도 좋다고 하는데.. 이건.. 필요하실때만 보시면 될듯 하고..UML, 리팩토링, XP 관련 서적도 교양으로 한권쯤은...


13. 책 이외에 C++표준화 문서(18달러 내면 PDF문서 인터넷으로 살수 있을 겁니다.- 저도 인터넷으로 구입했지요..)도 잘 안보지만 사두는것도 괜잖을듯.. - 근데.. 곧 표준화가 다시 될거 같으니.. 일단 책부터보시는게....



이제 C++의 문법과 디자인 기법등을 익혔으면 MFC를 공부하기 한결 쉬어질겁니다.(왜 WinMain이 없는지, Doc/View는 왜 그렇게 설계했는지-철학, 메세지 라우팅은 어떤 디자인기법인지 등등) 혹시 그래도 MFC 가 어렵다면 API 공부도 좀 다시 해야 될듯..


COM도 역시 C++의 고급개념이지요.. 왜 인터페이스가 필요한지.. 객체의 수명을 관리하는 참조개수 기법. 디자인패턴중 싱글톤, 클래스 팩토리, 프락시 등 C++을 잘 모르고는 맨땅에 해딩하던..(저도 처음에 그랬지요..) 것들이  결국은 C++의 고급 기법들이 었다는 것을 깨달을수 있을 것입니다..