완벽함이란 더 이상 무엇인가를 더할 것이 없을때 이루어 지는 것이 아니라, 더 이상 무엇인가를 뺄 것이 없을 때 이루어진다. - 앙뜨완느 마리 로제 드 생떽쥐페리
by 미친병아리 이글루스 피플 2006 Egloos top100 2007 Egloos top100
포토로그
메뉴릿


주저리 주저리
라이프 로그
Art Of UNIX Programming..
Art of UNIX Programming

유닉스는 정말 독특한 시스템이다.. X윈도우라는 GUI를 제공하지만, 익숙해지면 GUI 보다 커맨드라인 쉘이 훨씬 편한 시스템이니 말이다.. 도스를 좀 사용해보긴 했지만, 여전히 윈도우즈를 10년 넘게 사용해온 현재는 GUI가 없는 시스템은 거부감이 드는 나 이지만, 그래도 유닉스는 아직까지도 배워보고 싶은 시스템으로 남아 있다.. 최근 리눅스가 데스크탑 시스템의 새로운 강자로 떠 오르던 말던 상관없이 말이다.. 지금까지 제대로 사용도 못해봐 놓고선 그래도 계속해서 매력을 느끼고 있는 이유는 유닉스 시스템 전반에 깔려 있는 실용적인 설계철학 때문일 것이다.. 아울러 이 시스템에서 동작하는 프로그램을 개발한 많은 프로그래머들 역시 같은 철학을 바탕으로 시스템을 키워왔다..
UNIX는 운영체제 보다는 구전 역사에 가깝다. - 닐 스테펜슨
오픈소스라는 명시적인 운동 없이도 자유롭게 소스코드를 공유하며, 동료들과 리뷰, 개발을 같이 하는 분위기는 유닉스 철학의 대표적인 사상이라 할 수 있겠다.. 유닉스는 탄생후 처음 10년동안 소스코드와 함께 배포가 되었기 때문에 가능한 현상이다.. 이 책은 이러한 유닉스의 철학 뿐만 아니라, 설계패턴, 툴, 문화, 그리고 전통들을 한데 묶어낸 내용들로 가득하다..
한 프로그램을 단 한 가지 일만을 훌륭하게 처리하도록 만들어라. 프로그램들이 서로 묶여서 사용될 수 있도록 만들어라. 텍스트 스트림을 처리할 수 있는 프로그램을 만들어라. 그것은 명백히 보편적인 인터페이스이기 때문이다. 이것이 바로 UNIX 철학이다.
기능의 90%를 구현하고 잘 돌아가는 편이 100%를 구현했지만 동작하지 않는 것보다 낫다. - 커니한, 플라우저
우리는 작은 효과들을 무시하고 97%의 시간에 대해 말해야 한다. 미숙한 최적화는 악의 축이다. - 도날드 크누쓰
프로토타입을 만들어라. 최적화에 앞서 돌아가는 버젼을 만들어라. - 롭 파이크, 켄 톰슨
실행되게 하라. 그리고 올바르게 돌아가도록 만들어라. 그 다음에는 빨리 실행되도록 만들어라 - 켄트 벡
1,000 라인의 코드를 없애버린 날은 내게 가장 생산적이었던 날들 중 하나로 기억된다. - 켄 톰슨
이 책은 어떻게 보면 기술서라기 보다는 유닉스의 실용적인 설계철학을 배우는 책이다.. 따라서 가끔 소스코드가 등장하긴 하지만, 그 보다는 여러가지 뒷 이야기가 더 많이 나온다.. 프로그래밍 테크닉에 관련된 내용, 시스템의 하드코어적인 내용을 원한다면 이 책은 맞지 않는다.. 그런 내용을 원한다면 Advanced Programming In The Unix Environment 이라는 책을 보는 것이 좋다.. 아주 고전이며, 윈도 프로그래밍 개발자들의 펫졸드 아저씨 책과 같은 바이블이라 할 수 있겠다.. 국내에서는 김상형님의 Win32 API 정복이라는 책이 더 좋은 비유일지도..

윈도우즈 프로그래밍이 전문인 사람들에게는 어떤 도움이 될까? 윈도우에서는 GUI가 기본이기 때문에 유닉스의 개발철학, 문화를 수용하는 것은 맞지 않는다고 생각하는가? 그렇지 않다.. 보편적인 진리는 분야를 막론하고 통하기 마련이다.. 유닉스의 철학을 무조건적으로 윈도우즈용 어플리케이션 개발에 수용하는 것이 맞지 않을 수도 있다.. 하지만, 일반적인 인터페이스를 통한 (텍스트 입출력을 사용하는.. XML을 활용하는 방안도 포멧과 구조가 바뀌었을 뿐 이와 크게 다르지 않다.. 텍스트 입출력은 다루기 가장 편리한 입출력 방식이다..) 개발방식, 한 어플리케이션에 여러가지 임무를 맡겨 거대하게 만들지 않고 전체를 간결하게 유지하는 방식 (이것은 객체지향형 프로그래밍과 일맥상통한다..) 등은 우리가 어느 개발환경에서 S/W를 설계하고 만들던 적용될 수 있는 지혜들이기 때문이다.. 이미 오래전 선배들이 만들어논 전통중 승계하여 발전시킬 좋은 문화들은 적극 활용하는 것이 좋다.. 그런 차원에서 제목이 풍기는 배타성을 잠시 접어두고 이 책을 읽어보라 권하고 싶다.. 물론, 내 전문 도메인의 지식탐구가 시야와 견해를 넓히는 지적호기심을 억누르는 상황이라면 더 할 말은 없다.. 그래도 나중에라도 꼭 읽어보라는 권유를 전하고 싶다..
by 미친병아리 | 2007/09/04 03:35 | ▣ 책이야기 ▣ | 트랙백 | 덧글(9)
트랙백 주소 : http://madchick.egloos.com/tb/1630248
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by Frank at 2007/09/04 09:42
며칠 전부터 읽을까 말까 고민하던 책인데
서평을 보고 나니 필독서라고 생각하고 방금 질러버렸습니다 +_+

고수들의 내공이 녹아있는 비법서같네요 ㅎㅎㅎ
Commented by 스팟 at 2007/09/04 10:02
저도 보고 있는중이죠 2달째..
항상 제 책상에 펴져있습니다. 시간날때 짬짬히 보게되서 좀 오래걸리네요.(이제 반정도)

'철학을 배운다'는 점에서 많은 것들을 배우고 있습니다.
Commented by 緣/affinity at 2007/09/04 10:24
이름은 많이 들어봤지만 개인 사용자가 거의 접할일이 없는 OS죠. Unix 는.
Commented by 달빛변신 at 2007/09/04 12:27
어려운 부분을 휘릭 하고.. 쉬운부분부터 읽었습니다.
철학을 배우고 있습니다. ^^
Commented by 쩌비 at 2007/09/04 13:40
유닉스 프로그램을 하다보면 요즘의 비쥬얼한 인터페이스 구현에서 저~~만치 벗어 나기때문에 쉽다는 느낌이 많이 하게 되죠. 다시 말하면, 동작만 하면 갑의 딴지에선 벗어나므로,.. 그러나,...

철학이라. 저도 한번 읽어봐야겠습니다.
Commented by 제임스 at 2007/09/04 23:53
제목 보고 탁 떠오른 질문의 답을 다 적어주셨네요 ^^
배타성이 강하게 느껴지죠. 종교 전쟁 분위기의...
그 간격을 넘어 다른 생각에 마음을 여시는 자세가 용기 있어 보입니다.
실제로 해보면 (저에게는) 참으로 어려운 일이 더라고요.
Commented by jong10 at 2007/09/06 01:50
에릭 S 레이몬드가 저울추 끝에 서있는 사람이라 그럴수도 있겠지만, 이 철학서(?!)는 좀 맹목적인 부분이 있는 것 같습니다. Unix 세계의 문화와 철학들을 종합해서 소개해준다는 점은 정말 좋았지만, 몇몇 종교의 믿음과도 같은 문장들에선 오히려 반감이 생기더군요.
이런 쓰레드( http://kldp.org/node/78900 )도 있는거 보면, 이 사람은 이젠 뭐.. 정치가인 것 같습니다. 한때는 오픈소스의 전도사로도 칭해지던 ESR이 이젠 오픈소스 커뮤니티 안에서도 천덕꾸러기 취급을 받는것 같더군요.
아.. 뭔가 안좋은 얘기만 써놓은것 같지만, 책 내용은 상당히 좋았습니다.
Commented by sayhappy at 2007/09/07 10:15
전 처음엔 재밌었는데, 뒤로 갈 수록 약간 지겨워지더라구요;
생판 모르는 것들에 대한 이야기도 나오고...;;
그래서 중간까지만 읽고 접었습니다. '-'
Commented by 미친병아리 at 2007/09/09 22:19
Frank님 : 잘 하셨습니다..

스팟님 : 저도 다 읽는데 그보다 오래 걸릴 것 같습니다..

緣/affinity님 : 아무래도 geek의 장난감에 더 가깝죠..

달빛변신님 : 쉬운부분부터 읽기.. 좋은 전략입니다..

쩌비님 : 음.. 동작만 하면 갑의 딴지에서 벗어난다.. ㅎㅎㅎ

제임스님 : 제임스님도 해보시면 그리 어렵지 않게 가능하실 겁니다.. ^^

jong10님 : 아직까진 읽으면서 그런 부분까지는 발견하지 못했는데, 그런 부분이 얼마나 되는지 눈여겨 봐야겠습니다..

sayhappy님 : 나중에 다시 읽어보세요.. 모르던 이야기들도 새롭게 와 닿을 겁니다..

:         :

:

비공개 덧글

Creative Commons License

< 이전페이지 다음페이지 >


이글루 파인더
카테고리
태그
최근 등록된 덧글
최근 등록된 트랙백
"다음으로 지원한 이메일..
by 민노씨.네
알라딘 TTB2 둘러보다
by NKOKON's Web-Note
문답 # ActiveX 문답
by 아이리스가 만개한 언덕..
미친병아리의 생각
by madchick's me2DAY
나의 에반게리온, 그리..
by 공포영화를 좋아하는 블로그
소비지향의 대학축제
by 세상을 보는 또 다른 시선
러브양이님에 의해 도서..
by 도서가격비교 와비
덕평 자연 휴게소
by 지민아빠의 해처리
대한민국 남자의 의무를..
by 검색은 콘텐츠다
두 변수 값 바꾸기에 대한..
by art.oriented
폴 포츠(Paul Potts)
by 마음으로 찍는 사진
우분투 8.04 간단 이용기
by 부자아빠의 세상 살아가..
[책] 잘나가던 기업을..
by - Last Paromix -
꽃띠앙의 생각
by codian's me2DAY
군대와 병역특례
by from __future__ impor..
jericho의 생각
by jericho's me2DAY
내 노트북 바탕화면
by 공순이 감성로그
내 컴퓨터 바탕화면
by 餘分D: physics and fun
Quake 3 in .Net..
by RSS 국내 블로그들
구냥이 알아챈 내 창의력..
by COMMONPLACE.kr
이글루 링크
EBC (Egloos Broad..
erehwon.LAB
About willy
Living Loving and L..
修身齊家萬事成
【 이름쟁이™의 눈으로 】
개 풀 뜯어먹는 소리
觀鷄者의 망상 공간
Oz in Wonderland
김명신의 즐거운 하루
Clip for 눈love
함께.. 늘 그렇게..
荷花(hehua)
소스코드위를 걷다.....
Pieces of tale
zoops 이야기
까모의 룰루랄라~
▒ 제닉스의 사고뭉치 ▒
河伊兒의 고물상
가로수들은 여전히 제자..
餘分D: physics and fun
hansang's world is no..
길고양이 이야기
어쨌건간에 흘러가는 者
선인장 일지
~★~ 우하하!!~ 프로..
without coffee
Lady Nariel's Golde..
검색엔진 루씬 Lucene..
fire, walk with me
디지털을 말한다 by oojoo
♠후리지아 향기처럼♠
일상 생활 속의 파편들
뽐뿌 inside
책읽는 엄마의 보석창고
Mono log
blogger jely
반복되는 일상속의 비정..
골룸에세이
질풍 17주의 머브러브 라..
maniacs
AURA's Showcase
ozzyz review 허지웅..
디제의 애니와 영화 이야기
OMEGASTREAM
미달이의 육아일기
All about IT Trends
Suicide Solution
to~STORY
외계인 교차점
모기불통신
Trip
찬별은 초식동물
숲 속 작은 섬
snowcat blog
전도서에 바치는 장미
한글이 꿈틀
이우진의 UCC 제작실 ..
INVENT
위로..위로..위로..
woody's film review
God Blame You!!!
전자음악 알아보기
sunny's store
이규영 연예영화 블로그
◀ M.HOUSE - Masade..
공순이 감성로그
쉽니다.
roadster
무디의 무책임한 세상
이제 다시... 바라보다.
random life
Beyond Web
ricordati di me
Jania's Blog
Gaious 功房 네오베..
애자일 이야기
- Last Paromix -
T9T9 Research Center
양군 블로그
소프트웨어 이야기
chef's garden
Software Engineering..
C++ 프로그래머 티오
고재관의 블로그
Monaca
yundream의 프로그래..
{뉴욕저널}
lalou
생각이 없는 블로그
이전 블로그
rss

skin by 이글루스