추천 서적
PoolCWiki
각종 추천 서적을 등록하는 페이지
서적들이 어느 정도 등록된 이후에는 리팩토링이 필요할 듯
리팩토링 시 서적마다 따로 페이지를 등록할까? 분류별로 등록할까? 후자가 나을 듯
분류가 없는 경우라면 따로 추가할 것
서평은 주관이 개입되므로 등록한 사람의 아이디 등을 남겨도 좋을 듯. 허나 익명도 상관 없음
목차 |
[편집] 입문 서적
[편집] 혼자 연구하는 C/C++
- 김상형 저 / 와우북스
winapi.co.kr의 운영자 김상형님이 저술한 책으로, C/C++에 대해 상당히 친절하게 다루고 있다. C/C++만이 아니라 컴퓨터 구조, 자료 구조 등의 기본적인 내용에 대해서도 서술되어 있으므로 프로그래밍 입문에 무척 좋은 책이다. C++을 객체 지향 언어로만 다루고 있는 다른 C++ 책에서 잘 다루지 않는 STL 부분까지 나름 깊게 다루고 있는 등 내용들이 의외로 깊은 편이라 C/C++을 한번 공부했던 사람이라도 복습용으로 다시 한번 보는 것도 괜찮다.
다만 C++의 경우 모든 문법에 대해 완벽하게 다루는 것은 아니며 언어 자체가 다루기 무척 까다롭기 때문에 이 책만으로는 좀 부족할 수 있다. 허나 학부 수준의 프로그래밍에 있어서는 이 정도면 족하지 않을까?
예전에 한번 절판되었던 관계로 내용 전반은 winapi.co.kr에 올라와 있으나, 오프라인 책 역시도 재출간되어 있으므로 자주 볼 사람이라면 구입하는 것도 고려할 만 하다.
[편집] 프로그래밍 일반
[편집] 실용주의 프로그래머
프로그래머로써 갖추어야 할 스킬, 마음가짐, 철학 등 더 나은 소프트웨어 개발을 하기 위한 방법에 대해 단순한 코딩 레벨에서 소프트웨어의 설계, 팀 단위의 협업까지 여러 개의 주제로 나누어 다루고 있는 책이다. 주제 하나 하나가 개발의 본질에 대해 실용적인 예시를 들어 명쾌하고도 설득력 있게 짚고 있다. 소프트웨어 개발을 하며 먹고 살 생각이라면 꼭 읽어 보는 것이 좋다.
그간 소프트웨어 개발을 위해 수많은 방법론이 나왔지만, 그 수명이 10년 이상 간 경우는 극히 드믈다. 이 책은 그러한 방법론에 대해 다루지는 않는다. 하지만 그 방법론들을 제시하게 한 소프트웨어 개발의 기본적인 대원칙들에 대해 다루고 있다. 내 개인적으로는 프로그래밍을 하면 할수록 그 진가를 더 느끼게 되는, 흔치 않은 가치의 책이라고 생각한다.
[편집] 컴퓨터 프로그램의 구조와 해석
[편집] Art of Unix Programming
- 에릭 S. 레이옴드 저, 김희석 역 / 정보문화사
유닉스철학에 대해서 논한 책이다. 유닉스의 설계 철학, 유닉스의 설계 철학을 적용한 실제 예제에 대해서 설명한다. 프로그래밍 언어에 대한 이야기는 단 한줄도 없지만 읽고나면 프로그래밍의 도가 무엇인지 느낄수 있다. 컴과를 위한 교양서적으로서 추천
- if1live
[편집] C/C++
[편집] Effective C++
시스템 프로그래밍 언어인 C를 이어 받았다는 그 태생으로 인해 C++은 사용하기 매우 어려운 언어가 될 수 밖에 없다. 거기에 초창기 객체 지향 언어로써 겪은 시행 착오와 다중 패러다임 언어라는 특징까지 겹쳐지며 현재 사용하기 어려운 언어 중 하나로 손 꼽히고 있으며, 효율적으로, 안전하게 쓰기는 더더욱 어렵다.
Effective C++은 이러한 C++을 어떻게 하면 보다 더 정확하고 안전하게 사용할 수 있는지에 대한 지침들을 모아놓은 책이다. C++을 주력으로 사용할 사람이라면 기본서를 뗀 이후 제일 처음 보아야 할 책.
[편집] More Effective C++
[편집] Effecttive STL
[편집] The C++ programming language
[편집] Modern C++ design
[편집] Win32 프로그래밍
[편집] 윈도우즈 API 정복
[편집] Programming Windows
[편집] Windows via C/C++
[편집] DirectX
[편집] DirectX9을 이용한 게임 프로그래밍 입문
[편집] 3D 게임 프로그래밍
[편집] 초보 개발자를 위한 DirectX 게임 데모 프로그래밍
[편집] OpenGL
[편집] 게임 프로그래밍 전반
[편집] Game Programming Gems 시리즈
[편집] 인공지능
[편집] AI Game programming wisdom 시리즈
[편집] Programming Game AI by Example
[편집] Artificial Intelligence, A modern approach
[편집] 병렬 프로그래밍
[편집] The art of multiprocessor programming
[편집] 웹
[편집] 한국 웹의 불편한 진실
인터넷 프로그래밍에 관심이 있거나 수업을 들을 사람은 무조건 읽어야 하며, 그렇지 않더라도 컴과생이라면 읽어야 해! 라고 할 정도로 강력히 추천하고 싶은 책. 고려대 법대 교수이자 '오픈 웹 소송'의 주인공인 김기창씨(이분은 오랜 영국 생활에서 컴퓨터 사양이 딸림을 리눅스+lynx(텍스트 브라우저)+LaTex 등으로 극복하며 살아 오시다가 한국에 오니 아무것도 되는 것이 없자 분개한 나머지 소송을 생각해게 된 모양이다)의 책으로, 왜 현재 한국 웹의 ActiveX가 난무하고, 표준이 지켜지지 않는 상황이 얼마나 크나큰 문제인지를 관련 법령 인용까지 포함한 조목조목한 논리와 통쾌한 풍자로 풀어낸다(공대생은 이렇게 재미있게 책 쓰기가 힘들것이다. 아울러 컴과생인데 법대 출신보다도 웹에 대한 깨달음이 적었다니! 반성하는 계기도 되겠다).
인터넷 프로그래밍을 듣는 사람은 웹 표준에 대해 상당히 강조를 당할 텐데, 당장 한국인이 웹 표준 코딩에 익숙하지 않으니 당연히 코딩이 불편하다. 하지만 당장 코딩의 불편함이 별 게 아니라는 걸 확실히 깨달아 둘 필요가 있다(인프를 듣는 사람은, 이로써 수업때 강요당하는 표준이 강요가 아니라 당연한 것으로 패러다임의 전환을 얻을 수 있기를 바란다). 본인도 인프 경험이 좀 있지만 막힐때면 그냥 막장 코드로 갈까 항상 유혹이 찾아온다. 그러나 책을 통해 더욱 웹 표준을 지향해야 함을 확실히 깨닫게 되었다. 또한 '개방된 공간으로써의 웹'에 대한 개념에 대해서도 다시 한번 생각해 볼 여지를 제공한다.
전부터 느꼈지만 풀씨 홈페이지 제작자중 한명으로써 동아리 회원들에게 정말 송구스러움을 느껴왔는데, 책을 읽으니 더해졌다(지금의 풀씨 홈페이지는 코드 뿐 아니라 여러 면에서 좀 막장이다). 이에 대한 개선안 draft를 조만간 올려 보도록 하겠다.
-bluewizard
[편집] 디자인 패턴
[편집] 실전 코드로 배우는 실용주의 디자인 패턴
[편집] Head First Design Pattern
[편집] 리눅스 / 유닉스
[편집] 유닉스/리눅스 프로그래밍 필수 유틸리티
리눅스 콘솔 환경에서 사용할수 있는 에디터, 툴에 대해서 설명한 책이다. 프로그래밍실습을 포함한 일부 수업에서는 리눅스에서 프로그래밍을 해야하는데 마소의 노예들은 이때 리눅스를 처음만져봐서 매우 고생한다. 일부 마소의 노예들은 이때 리눅스를 사용하는것과 vim같은 리눅스용 에디터를 배우는것을 포기하고 윈도우에서 소스를 고치고 리눅스에 올려서 컴파일하기도 한다(-_-) 이런 사태를 방지하기 위해서 읽으면 좋은 책이다.
-if1live
