윈도우 세상에서만 사는 것이 싫다면, 이 책이 큰 도움을 줄 것 같습니다. 저 역시 대다수의 프로그래머와 마찬가지로 윈도우 세상에 살고 있습니다. 그런데 제가 바이오 인포메틱스라는 분야의 연구를 하고 있는데, 이 쪽 프로그램들이 대부분 리눅스 기반으로 구축 되있어서, 그 프로그램들과 연계된 작업을 위해 리눅스로 프로그램을 개발해야 했습니다. 사실 C/ C++은 윈도우나 리눅스나 공통이기 때문에 개발 자체는 플렛폼을 바꾼다 하더라도 어려움은 없지만, 대신 개발 환경 즉, 컴파일을 한다던가 쉘 스크립트를 쓴다던가 하는데는 생소한 점이 많습니다. 자기가 윈도우에서 날고 기는 프로그래머라 하더라도 처음엔 리눅스에서 컴파일 하기도 힘듭니다. 이러한 어려움에 처한 사람에게 필요한 것을 꼭 찝어서 알려주는 책이 바로 이 책입니다. Only 윈도우즈 프로그래머가 아니라면 아주 유익한 책 입니다.
GNU의 개발 환경은 새롭게 접하게 되는 프로그래머에겐 매우 낯설게 느껴지는 점들이 많습니다. 그런 의미에서 이 책은 쉬운 설명, 친절하게 잘 번역된 내용, 부담없는 두께로 새로운 개발환경에 적응하는데 많은 도움이 되리라 생각됩니다. 오라일리의 번역서들은 전반적으로 괜찮은 번역과 잘 정리된 내용으로 좋은 평가를 받는 것 같습니다. 다만, 아쉬운 점은 익숙하지 않은 편집기인 Emacs가 들어가 있다는 점과 입문서의 특성상 내용의 깊이가 그리 깊지 못하다는 점입니다. 하지만, 초보자들의 입문서로는 좋은 책이라고 생각합니다.
이 책은 다양한 GNU 소프트웨어 개발 도구들에 관한 사용자 설명서입니다. 즉, Manual적인 성격이 강합니다. 이 책에서는 특히 유닉스/리눅스 계열의 운영체제에서 프로그램을 개발할 경우 사용될 수 있는 다양한 도구를 소개하고 도구의 사용법을 상세하게 설명하고 있습니다.
O"Reilly는 다양한 방법으로 GNU를 후원하는 출판사 답게 처음 유닉스/리눅스 플랫폼에서 개발하는 독자를 위해 당당히~!! 이 책을 작성한 것 같습니다.
이 책은 총 10장으로 구성되어 있습니다.
1장에서는 GNU 개발환경에 대한 포괄적인 소개와 자유소프트웨어 문화에 관해 언급하고 있습니다. (역시 O"Reilly 다운 내용입니다.)
2장에서는 유닉스 운영체제를 소개하고, 유닉스에서 가장 처음 접하게 되는 로그인하기 같은 아주아주 기초적인 부분을 시작으로 설명하고 있습니다. 유닉스의 명령, 파일시스템, 온라인 문서, 표준 입출력, 작업 제어, 쉘 프로그램, 쉘 커스트마이즈 등을 미리 설명함으로써 앞으로 다루게 될 도구들에 대한 기본 지식을 습득할 수 있도록 하고 있습니다.
3장에서는 GNU의 대표적인 텍스트 편집기인 Emacs에 대해 설명하고 있습니다. (이 부분은 제가 Emacs와 별로 친해지고 싶은 생각이 없어서 건너 뛰었습니다. -_-; Emacs를 쓰는 사람은 변태라는 우스께 소리도 -0-;)
4장은 GNU의 대표적인 컴파일러인 gcc에 관한 내용으 다루고 있습니다. 컴파일 하는 방법에서 부터 크로스 컴파일까지 전반적인 gcc에 대해 설명하고 있습니다. 평소 접해보기 힘든 어셈블러나 링커도 다루고 있고, 라이브러리를 만드는 방법도 설명하고 있습니다.
5장에서는 GNU에서 제공하는 다양한 라이브러리에 대해 다루고 있습니다. 또한 그를 활용한 다양한 프로그래밍 기법도 소개하고 있습니다.
6장에서는 gdb를 이용한 디버깅에 관해 다루고 있습니다. gdb를 이용하는 방법과 Emacs에서 사용하는 방법 등을 다루고 있고 퀵레퍼런스를 두어 필요할 때 마다 펴 볼 수 있도록 하였습니다.
7장에서는 make를 이용한 컴파일 자동화를 다루고 있습니다. 큰 프로젝트의 경우 많은 파일을 컴파일하여야 하는 경우 make를 통해 쉽게 컴파일 할 수 있도록 설명하고 있고, 에러메시지를 정리하여 초보자가 쉽게 다룰 수 있도록 하고 있습니다.
8장에서는 소스버전 관리기인 RCS에 대해 설명하고 있습니다.
9장에서는 프로그램 시간 측정과 프로파일링 10장에서는 부록으로 GNU 소프트웨어 자체를 빌드하는 방법을 다루고 있습니다.
이와 같이 이 책은 전반적으로 GNU 소프트웨어를 이용하여 프로그래밍을 할 수 있도록 필요한 소프트웨어들을 사용하는 방법을 다루고 있습니다.
리눅스를 사용하여 처음 프로그래밍을 시작하시는 분이라면 꼭 사두어야 할 것같네요...
그치만 자신이 중/고급 프로그래머라면 돈이 안깝다는 생각이 들지도 모르겠네요..
전반적으로 초보를 위한 프로그램 사용법이 잘 나와 있는 것 같네요...
번역도 잘 되었구요.... ^^
이제 유닉스/리눅스 프로그래밍을 시작하시는 분들은 필수이고요...
중급자 이상은 권해드릴 수가 없네요...
중급자 이상인 분들은 선택사항!!
GNU 프로그래밍 소프트웨어에 관한 짧은 책이다.
어느책이고 읽고 또 읽으면 다 도움이될것이다는 그정도에서 머무른다.
주로 C프로그래밍에 초점이 맞쳐진 책의 목차를 보자
.GNU 소개
.유닉스 기본 사용법
.Emacs 기본 사용법과 c 모드
.gcc
.gdb
.make
.RCS
.Profiling
무지 큰 프로그램들을 짧게 짧게 소개하다보니 그야말로 메뉴얼의 프린터물이 되버렸다.
c 프로그래밍에서 부닥치는 정말 실제적인 것들은 없다.
Emacs에서 컴파일할때 디폴트인 make -k를 gcc 로 바꾸는LISP명령어같은것을 기대했던 나로서는 한번만 입력하면 같은세션에서 다음부터는 gcc라고 입력하지 않아도 된다는 것이 전부인 필자의 설명에 책을 덮고 말았다.
GNU입문서라면 Running Linux의 프로그래밍에관한 글도 매우 훌륭하다. 거기에다 메뉴얼에 나온 옵션들을 약간 덧붙인 책이라고 보면 정확하겠다.(나중에 돈이 아까워서 물론 책을 끝까지 다 읽었다.)
메뉴얼같은 책은 정말 싫다.
그리고
영어는 잘 못하지만 그래도 원서를 많이 봐야하는 또하나의 이유
무슨 오타가 그리 많나
Emacs의 키조합 명령어를 설명하면서 뒤에 것을 빼먹으면 어떻게 찾으라는 말인지....
오라일리 서적은 정말 좋은 책들이 많다.
두고두고 필자의 각고의 노력을 엿볼수 있어 감탄하곤했다.
대가들의 생각과 일치할때는 약간의 전율도 느끼곤 한다.
허지만 이 책은 아파치가이드라는 책과 더불어 약간 실망했던 책이다.
(물론 전적으로 저의 생각입니다. 별 둘)
번역판을 망설이면서 샀는데 분량이 적어서 그런지 모르지만 -.- 번역이 잘 되어있습니다. 어제
사서 반나절만에 모두 읽어버렸는데 단연코 GNU/Linux 프로그래밍에 처음이거나 아직 익숙치 않은 사람을 위한 최고의 개발환경 안내서라고 생각합니다. 커니건과 파이크의 고전 The Unix Programming Environment의 GNU버전이 아닐까 싶습니다. Wrox등에서 나온 잡다한 지식을 이것 저것 모아 다룬 집합서같은 책보단(대부분이 기술 토픽이고 예제로 채워진) 간결한 안내서를 원하시는 분에게는 딱 그만입니다. 다른 다른 환경(Win32등)에서 그누툴이 사용되는 곳으로 오신 분에게 적극 추천합니다.