home > working > C/C++ > Source, Tip

 


Name  
   조규남 
File #1  
   workingc_커리.jpg (169.9 KB)   Download : 203
Subject  
   C에서 C#까지 체계적으로 공부 할 수 있는 책 목록


<그림을 클릭하면 큰 그림이 나옴>

C를 처음 공부하는 사람에게는 여러가지 어려움이 있다. 우선은 가르쳐줄 사람도 없고, 책을 보자니 어떤 책이 좋은지도 모르겠고 또 과정이 어떻게 되는지도 알턱이 없다.
그럼 사람들 위해서 workingC가 존재한다는 사실을 다시 한 번 상기 시키면서 ^^;;
이번에는 C부터 C#까지 어떤 책으로 공부하면 좋을지를 쭈욱 적어 보기로 한다.

이 Loadmap의 주안점은 단순한 책 소개가 아닌 책만을 통해서 C#까지 정복할 수 있게 책을 선정하였다. 각 과정에서 필요한 핵심 포인터를 가지고 있는 책으로 선정하였다.

물론 가장 중요한 것은 학습자의 마음이다. 좋은 책이 있어도 제대로 공부 하지 않는다면 말짱 도로목이라는 것은 누구나 다 알것이다. ^^
책 소개에 앞서서 한 가지! 사실 책 선정이나 과정별 중요한 항목을 뽑는 기준은 개인마다 다를 수 있다. 또 사람마다 이해하기 쉬운 책이 있다는 점도 감안하면서 Loadmap을 봐주기를 바란다.

바라건데 이 Loadmap을 보고 좋은 Programmer로 거듭나시기를 바란다.

Loadmap을 보는 방법은 왼쪽에서 오른쪽으로 가면서 고급 단계이다. 또 같은 단계에서 윗쪽 아래쪽은 병행해서 학습해야할 항목들이다.

편의상 각 단계별로 Numbering을 하지 않고, 서적 별로 Numbering을 하였다.

#1
서명: C언어 기초 다지기
저자: 배영승
출판: 웅보출판사

C언어 입문 책은 정말 많다. Java나 C#같은 언어들이 나왔지만 아직도 서점에서 가장 많은 위치를 차지하는 책들이 C언어 책이다. 사실 C를 완벽히 이해 한다면 다른 언어는 조금만 보면 구현할 수 있는게 사실이다. 사실 C언어 책은 대동소이 하다. 하지만 이 책은 다른 책과 구성이 조금 틀리다. C언어의 가장 큰 장벽인 Pointer를 아주 쉽게 정복 할 수 있는 책이다. 이 책은 처음부터 Pointer가 무엇이고 왜 필요한지를 설명해 주기 때문에 Pointer라는 제목의 장이 나왔을 때 학습자가 Pointer를 이미 이해하고 있게 만들어 주는 책이다. 아쉽게도 잘 알려 지지 않아서 서점에도 거의 없기 때문에 구하기기 그리 쉽지는 않을 것이다.


#2
서명: 다시 체계적으로 배우는 C언어 포인터
저자: 정재은
출판: 정보문화사

#1에서도 언급했지만 Pointer는 C언어를 처음 배우는 사람에게는 난공불락이다. Pointer의 장벽을 넘는 것이 C언어를 마스터 하느냐 하지 않느냐하는 중대한 문제인 것이다. 나중에 보면 그리 어렵지 않은 것이 그때는 왜 그리 어려운지 ^^ 이 책은 Pointer만을 위한 책이다. C언어에서 포인터가 어떤 형태로 보여지는지 또 포인터라는 말이 쓰인 함수 포인터가 무언인지 등에 대해서 쓰여져 있다. 국내에서 쓰여진 책이라는 점도 놀랍니다. 사실 국내 기술 서적은 정말 보기 힘들다. 대부분이 외국 서적인 상황에서 이런 종류의 책이 국내서로 나왔다는 것은 분명 좋은 현상일 것이다.


#3
서명: C++ PRIMER 3/E
저자: Josee Lajoie  
출판: Addison Wesley

C++로 넘어 왔다. C++ 서적 역시 모든 책들이 대동소이 하다. 안 좋은 책들이 있지만 이런 이런 책은 좋지 않다고 이곳에서 대 놓고 쓸 수 는 없기 때문에 생략한다. 혹 알고 싶으신 분은 개인적으로 연락을 C++책은 C책보다 훨씬 양이 적다. 이유는 Pointer에서 좌절한 사람들이 C++로 넘어 오지 않기 때문이다. ^^ 필자가 비트 시절 추천 목록중 하나였던 책이다. 아쉽게도 원서지만 공부 할 만하다.


#4
서명: C로배우는 알고리즘(1)
저자: 이재규  
출판: 세화

C를 공부하는 사람중에는 모르는 사람이 없는 책이다. 구지 설명을 하지 않아도 모두들 아시리라 생각하고 넘어 가겠다. 모른다면 -_-; C공부를 다시 생각해 보기 바란다. 2권도 내용이 좋지만 1권만 집고 넘어 간 뒤 필요할 때 참고 자료로 보는 것이 공부의 양을 줄이는 길이라고 생각한다. 욕심이 많아서 2권까지 공부하겠다는 사람을 말리지는 않겠다.


#5
서명: Database System Concepts 4/e
저자: Abraham Silberschatz , Henry F. Korth , S. Sudarshan , Sudarshan S.  
출판: McGraw-Hill

DataBase 동네에서 유명한 책이다. DB를 하는 사람중에 이 책을 모르면 간첩이라는 소리를 들을 수 있다. ^^ DB의 기초부터 SQL 문까지 자세하게 쓰여 있다. 프로그램을 짜다 보면 DB의 필요성을 많이 느끼게 된다. 물론 오라클이나 엠에스의 DB를 사용하겠지만 기초적인 내용은 이해 하고 있다면 그런 프로그램을 사용하는데 어려움은 없을 것이다. SQL 문을 잘 알고 있다면 소스코드 백여줄이 할 일을 SQL 몇 줄로 줄일 수 있다는 점을 생각한다면 꼭 집고 넘어가야 할 부분이다. 원서 번역서 큰 차이는 없지만 번역서로 공부를 하면 재미나게 할 수 있을 것이다. ^^


#6
서명: UNIX NETWORK PROGRAMMING(2nd)
저자: W.RICHARD STEVENS
출판: Prentice Hall

요즘 같이 인터넷이 보급된 상황에서 Network 프로그래밍은 고급 학습 단계가 아닌 필수 학습 단계이다. 스티븐스는 네트웍 동네에서 알아 주는 터줒대감으로 그 명성이 자자 하다. 이 책은 TCP/IP뿐 아니라 UDP등의 다른 프로토콜에 대한 내용도 많다. 또한 IPC에 관한 내용은 2권으로 따로 분리되어 있어서 필요에 따라서 한 권만 구입할 수 있다. (총 2권) UNIX Network이라고는 하지만 Windows도 소켓 통신은 비슷하기 때문에 큰 지장은 없다. 구지 TCP 만을 공부해야 겠다는 사람은 이 책 이외에 4권으로 된 TCP/IP 책이 있다. 이 책에는 http부터 시작해서 ftp, telnet등의 모든 프로토콜에 대한 설명이 들어 있다. 물론 4권의 두꼐를 보고 나면 학습 의욕이 상실 할 것이다. ^^

#7
서명: PROGRAMMING WINDOWS 5/E
저자: Charles Petzold  
출판: MICROSOFT PRESS

그 유명한 Petzold 책이다. 윈도우 프로그래밍의 고전이라고 할 수 있다. 비트 다닐 당시에는 볼만한 정도의 두께였는데 요즘은 MFC 책을 능가하는 두께이다. 내용도 좋고 참고 자료로도 훌륭하다. 더 이상 설명은 사족에 불가할 것 같다.


#8
서명: Linux Programming Bible (2/E)
저자: 권수호
출판: 글로벌

Linux 프로그래밍이 주목 받기 시작한 것은 그리 오래된 것이 아니다. 소수의 매니아들만이 공유하던 Linux 프로그래밍은 한만용 이라는 거목을 필두로 책이 나오기 시작해서 지금은 수 많은 책들이 서점으로 쏟아져 나왔다. 한만용 씨가 국내 최초로 쓴 Linux 프로그래밍 책은 아쉽게도 서점에서 찾아 볼 수 없다. "초보 리눅스 프로그래밍" 이란 책인데 번역서 였는지 국내서 인지는 기억이 가물 가물 하다.
이책은 저자가 직접쓴 책이다. 또 내용도 충실해서 리눅스 System Programming을 공부 해보고 싶은 사람에게는 강력 추천하는 책이다.

#9
서명: VISUAL C++ OWNER'S MANUAL VERSION 5.0  
저자: ZARATIAN  
역자: 서원정  
출판: 삼각형

Visual C++을 사용 할 때 문법이나 MFC 사용 못지 않게 Visual C++에 있는 그 많은 메뉴들이 뭐하는 것들이지 난감하다 -_-; 사실 이런건 학원같은데서도 잘 안가르쳐 준다. 고수들은 귀찮아서 안 가르쳐 준다. 디버깅이 뭐고 북마크는 뭐고 하는 것들이 뭔지 참으로 궁금하기도 한다. 바로 이런 것들만 묶어서 만든 책이 이 책이다. 비록 5.0 버전으로 되어 있지만 6.0과 거의 비슷하며 한 번 개념을 익히면 모든 IDE 프로그램이 비슷한 의미로 사용하기 때문에 많은 도움이 된다. MFC 책을 보기 전에 권하는 책이지만 아쉽게도 지금은 절판되서 찾기 힘든 책이다. 중고도서 쪽은 찾아 보아야 할 것이다. 더 아쉬운점은 이 책을 대체할만한 책이 없다는 것이다. 기것 해봐야 MFC책에 조금씩 설명이 나와 있는 정도이다. 아마도 독자층이 없어서 그런 것 같다. 절판된 책을 왜 소개하냐구 묻지 마라 -_-;;; 별로 참고는 안되겠지만 6.0용으로 Microsoft Visual C++ 6.0 Programmer's Guide (Programmer's Guide) 라는 책이 있는데 이 역시 절판이다. ^^*


#10
서명: Understanding the LINUX KERNEL(2nd)
저자: Daniel P. Bovet , Marco Cesati  
출판: O'REILLY

#8에 이은 리눅스 관련 서적이다. 이 책은 리눅스 커널에 관한 책이다. 리눅스 커널에 열의를 가지고 도전해 본 사람은 커널이 얼마나 이해하기 힘든지 알 수 있을 것이다. 우선 부트 로더를 이해하기 위해서는 어셈블리까지 해야 하니 말이다. 인터넷의 Hacker's 어쩌구 하는 자료가 있긴 하지만 나같이 머리 짧은 사람들은 이해하기 힘들다 -_-;; 이 책은 커널 프로그래밍에 관현 몇 안되는 책중에 하나 이다. 관심이 있는 사람은 꼭 보길 권한다. 아울로 C로 얼마나 복잡한 프로그래밍을 할 수 있는지 알 수 있는 기회가 될 것이다.


#11
서명: MICROSOFT PROGRAMMING WINDOWS WITH MFC
저자: JEFF PROSISE  
출판: MICROSOFT PRESS

Win32API에 Petzold책이  있다면 MFC에는 바로 이책이 있다. 이 책은 다른 Visual C++ 프로그래밍 책들이 MFC의 사용방법 들 정도만 나열했다면 MFC의 속에서 어떤 일들이 벌어 지고 그런 것들을 사용하기 위한 방법들이 나와 있다. 처음 이책을 봤을 때는 너무도 감동해서 눈물이 나올 뻔했다. 정말 좋은 책이다. MFC프로그래밍을 하는 사람이라면 꼭 봐야 할 책이다. MFC에서 Message loop를 어떻게 도는지 부터 시작해서 Com, ActiveX까지 주옥 같은 글들이 실려 있다. 컴피플에서 번역서도 나와 있는 것으로 알고 있다.


#12
서명: 윈도우프로그래밍
저자: 김선우,신화선  
출판: 한빛미디어(주)  

비트교육센터 강사와 삼성전자 4년차 프로그래머가 함께 집필한 책이다. 비트는 내가 교육 받은 곳이고 삼성잔자 프로그래머는 내 옆자리에 앉아 있다. ^^;; 머리말에 내 이름도 나온다. ㅋㅋㅋ 사살 그런 이유로 선정한 것은 아니다. (정말이다 -_-;) 기존 Visual C++ 프로그래밍 책들은 지나치게 양이 많거나 양이 적으면 수박 겉핱기식의 책들이 었다면 이 책은 양도 많지 않으면서 필요한 내용들이 쏙쏙 박혀 있는 엑기스라 할 수 있다. 한가지 흠이 있다면 예제가 저자의 의도와 다르게 너무 어렵다는 점이다. ^^*


#13
서명: Professional C# (2/E)
저자: Simon Robinson , WATSON , Karli Watson , Burton Harvey , Jay Glynn 외 6명  
출판: WROX PRESS

C# 책들 역시 두께가 장난이 아니다. 이 책 역시 예외는 아니다. 이 책은 C#을 처음 접하는 사람들이 어셈블리, 리플렉션 등을 이해하기 쉽게 다루고 있다. 한 가지 단점은 이 책은 C나 C++을 일정 수준 이상으로 이해하고 있는 사람들이 보면 좋은 책이라는 점이다. C와 C++을 숙지하고 있는 사람이라면 쉽게 이해할 수 있을 것이다.


#14
서명: .NET Framework Solutions : In Search of the Lost Win32 API
저자: John Paul Mueller  
출판: SYBEX

.NET으로 프로그래밍을 하다 보면 가장 갑갑한게 Win32API를 어떻게 사용하는가 이다. 물론 언메니지드를 사용하면 된다구 하지만 말이 쉽지 -_-; 이 책은 그런 가려운 곳만 쏙쏙 긁어주는 책이다. Win32 API를 이용해서 .NET프로그래밍을 쉽게 하고 쉽다면 빨리 가서 이 책을 구입하기 바란다.


ps. 위에서 선정된 책들은 내 스스로가 학습했던 책중에서 이해하기 쉽고 각 과정에 꼭 필요하다고 생각되는 책들을 선정한 것이다. 출판사, 저자와는 아무런 이해 관계가 없음을 밝혀 둔다. -_-; 네 옆자리 사람이 쓴 책은 증정본으로 하나 받긴했다. ^^;

푸른창공 :: 초보자로써 한번 끝까지 읽어봤는데 수고하셨구요 감사드립니다. ^^* 2003/11/12  

Name Memo Password  
        


Prev
   switch...case 를 쓸 때 {}를 써야 하는 경우 [6]

조규남
Next
   [강좌] How to use C++ in MFC No.1 Operator Overload [1]

조규남


Copyright 1999-2018 Zeroboard / skin by JiYoo / edit by Mystous