로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

컴퓨터 프로그램의 구조와 해석

   
지은이 해럴드 애빌슨   |   출판사 Insight (인사이트)  |   발행일 2007년 10월 25일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 43,000원38,700원 10%
마일리지 5% 2,150원
발행일 2007-10-25
ISBN 8991268323 | 9788991268326
기타정보 번역서 | 888쪽
예상출고일
배송비 무료배송
   
컴퓨터공학
종합지수 8p 51 위
   
이 책의 원서
  Structure and Interpretation of Computer Programs - 2nd Edition
MIT PRESS | Harold Abelson
 

프로그래밍 뼈대를 구성하는 기술을 설명한『컴퓨터 프로그램의 구조와 해석』. 이 책은 소프트웨어 제작의 원리와 구성요소를 바탕으로 프로그래밍의 이슈를 살펴보면서 프로그래밍에 대한 방식과 생각을 정리했다.

《컴퓨터 프로그램의 구조와 해석》은 프로시저를 써서 요약하는 법과 데이터를 요약해서 표현력 끌어올리기, 언어 처리법과 레스트터 기계로 계산하기 등으로 구성했다.
1. 프로시저를 써서 요약하는 방법

1.1 프로그램 짤 때 바탕이 되는 것
1.1.1 식
1.1.2 이름과 환경
1.1.3 엮은식(combination)을 계산하는 방법
1.1.4 묶음 프로시저(compound procedure)
1.1.5 맞바꿈 계산법(substitution model)으로 프로시저를 실행하는 방법
1.1.6 조건 식과 술어(predicate)
1.1.7 연습 : 뉴튼 법(newton method)으로 제곱근 찾기
1.1.8 블랙박스처럼 간추린 프로시저

1.2 프로시저와 프로세스
1.2.1 되돌거나(recursion) 반복하는(iteration) 프로세스
1.2.2 여러 갈래로 되도는 프로세스
1.2.3 프로세스가 자라나는 정도
1.2.4 거듭제곱
1.2.5 최대 공약수
1.2.6 연습 : 소수 찾기

1.3 차수 높은 프로시저(higher-order procedure)로 요약하는 방법
1.3.1 프로시저를 인자로 받는 프로시저
1.3.2 lambda로 나타내는 프로시저
1.3.3 일반적인 방법을 표현하는 프로시저
1.3.4 프로시저를 만드는 프로시저

2. 데이터를 요약해서 표현력을 끌어올리는 방법

2.1 데이터 요약데이터 간추리기, 데이터 내용 감추기
2.1.1 연습 : 유리수를 위한 산술 연산
2.1.2 요약의 경계(abstraction barrier)
2.1.3 데이터란 무엇인가?
2.1.4 집중 과제 : 구간 산술 연산 만들기

2.2 계층 구조 데이터와 닫힘 성질
2.2.1 차례열의 표현 방법
2.2.2 계층 구조
2.2.3 공통 인터페이스로써 차례열의 쓰임새
2.2.4 연습 : 그림 언어

2.3 글자기호 데이터
2.3.1 따옴표 연산
2.3.2 연습 : 글자 식의 미분(symbolic differentiation)
2.3.3 연습 : 집합을 나타내는 방법
2.3.4 연습 : 허프만 인코딩 나무

2.4 요약된 데이터의 표현 방식이 여러 가지일 때
2.4.1 복소수 표현
2.4.2 타입을 표시한 데이터
2.4.3 데이터 중심 프로그래밍과 덧붙임 성질

2.5 일반화된 연산 시스템
2.5.1 일반화된 산술 연산
2.5.2 타입이 다른 데이터를 엮어 쓰는 방법
2.5.3 연습 : 기호 식 대수

3. 모듈, 물체, 상태

3.1 덮어쓰기와 갇힌 상태(local state)
3.1.1 갇힌 상태변수(local state variable)
3.1.2 덮어쓰기가 있어서 좋은 점
3.1.3 덮어쓰기를 끌어들인 대가

3.2 환경 계산법
3.2.1 계산 규칙
3.2.2 간단한 프로시저 계산하기
3.2.3 물체에 상태를 넣어두는 곳, 변수 일람표
3.2.4 안쪽 정의

3.3 변형 가능한 데이터로 프로그래밍하기
3.3.1 변형 가능한 리스트
3.3.2 큐
3.3.3 표
3.3.4 디지털 회로 시뮬레이터
3.3.5 관계 알리기(constraint propagation)

3.4 병행성竝行性 : 시간은 중요하다
3.4.1 병행 시스템에서 시간의 성질본질
3.4.2 병행성을 다스리는 방법

3.5 스트림
3.5.1 스트림과 (계산을) 미룬 리스트
3.5.2 무한 스트림(infinite stream)
3.5.3 스트림 패러다임
3.5.4 스트림과 셈미룸 계산법
3.5.5 모듈로 바라본 함수와 물체

4. 언어를 처리하는 기법

4.1 메타써큘러 실행기
4.1.1 언어 실행기의 알짜배기
4.1.2 식을 나타내는 방법
4.1.3 언어 실행기에서 쓰는 데이터 구조
4.1.4 언어 실행기를 보통 프로그램처럼 돌려보기
4.1.5 프로그램도 데이터처럼
4.1.6 안쪽 정의(internal definition)
4.1.7 문법 분석과 실행 과정을 떼어놓기

4.2 Scheme 바꿔보기 - 제때 계산법
4.2.1 식의 값을 구하는 차례 - 정의대로 계산법과 인자 먼저 계산법
4.2.2 제때 계산법을 따르는 실행기
4.2.3 제때셈 리스트와 스트림

4.3 Scheme 바꿔보기 - 비결정적 계산
4.3.1 amb와 찾기
4.3.2 비결정적 프로그램 짜기
4.3.3 amb 실행기 구현

4.4 논리로 프로그램 짜기
4.4.1 연역식 정보 찾기
4.4.2 쿼리 시스템의 동작 방식
4.4.3 논리 프로그래밍은 수학 논리를 따르는가?
4.4.4 쿼리 시스템 만들기
4.4.4.1 드라이버 루프와 쿼리 값 찍어내기(instantiation)
4.4.4.2 실행기(evaluator)
4.4.4.3 패턴 매칭으로 참말 찾아내기
4.4.4.4 규칙과 동일화
4.4.4.5 데이터베이스의 관리
4.4.4.6 스트림 연산
4.4.4.7 쿼리의 문법을 처리하는 프로시저
4.4.4.8 일람표와 정의

5. 레지스터 기계로 계산하기

5.1 레지스터 기계 설계하기
5.1.1 레지스터 기계를 묘사하는 언어
5.1.2 기계 디자인에서의 속 내용 감추기(abstraction)
5.1.3 서브루틴
5.1.4 스택(stack)을 이용해 되돌기(recursion) 구현하기
5.1.5 명령어 정리

5.2 레지스터 기계 시뮬레이터
5.2.1 기계 모형
5.2.2 어셈블러
5.2.3 명령에 해당하는 실행 프로시저 만들기
5.2.4 기계 성능 지켜보기

5.3 메모리 할당(memory allocation)과 재활용(garbage collection)
5.3.1 벡터로 나타낸 메모리
5.3.2 무한히 많은 메모리인 양 보이기

5.4 제어가 다 보이는 실행기
5.4.1 제어가 다 보이는 실행기의 핵심부
5.4.2 시퀀스 계산과 꼬리 되돌기(tail recursion)
5.4.3 조건 식, 덮어쓰기(assignment), 정의
5.4.4 실행기 돌리기

5.5 번역(compilation)
5.5.1 번역기의 구조
5.5.2 프로그램 식의 번역
5.5.3 조합 식 번역하기
5.5.4 명령줄 한데 합치기
5.5.5 번역된 코드의 예
5.5.6 텍스트에서 변수의 정의를 파악하기(lexical addressing)
5.5.7 번역된 코드를 실행기에 연결하기

용어 대역표
연습문제 목차
참고문헌
찾아보기
Harold Abelson
매사추세츠 공과대학(MIT)의 전기공학&컴퓨터과학 학부(Department of Electrical Engineering and Computer Science)에서 컴퓨터과학을 가르치며, 미국 전기전자기술자협회(IEEE)의 특별회원이다. Creative Commons와 Public Knowledge, 자유소프트웨어연합(FSF)을 세우는 일을 이끌었으며, MIT 교육기술자문위원회의 공동의장으로 일한다.

Gerald Jay Sussman
매사추세츠 공과대학의 전기전자공학부에서 전자공학을 가르치며, 1964년부터 MIT 인공지능 연구에 참여하여 문제해결 분야에 공헌하고 있다. ‘프로그램의 구조와 해석’(2판)에 공저자로 참여하였다.

Julie Sussman
제럴드 서스먼의 부인으로, 자연어와 컴퓨터 언어를 모두 다루는 작가 겸 편집자다.

김재우
동아대학교 컴퓨터공학과를 나왔고, 블루엣과 플라스틱 등 소프트웨어 개발 도구 전문회사에서 십여 년간 기술 지도자로 일했다. 이론 연구 성과를 교육과 실무에서 전하는 것을 즐거워하며, 현재는 메타프로그래밍과 선형 논리를 한 시스템으로 묶는 데 열을 올리고 있다. 자주 글을 쓰지 않아 찾는 사람도 없건만, http://kizoo.blogspot.com에 글자리를 펴놓았다. 현재는 동명대학교 컴퓨터공학과 전임강사와 (주)블루엣 인터내셔널의 소프트웨어 아키텍처 멘토로 일하고 있다.

안윤호
의대를 졸업하고 서울대학교 의용생체공학과에서 연구를 했으며 동대학원에서 공학을 전공했다. 전자공학과 컴퓨터를 취미로 다룬 지는 아주 오래되었다. 지금도 개인적인 호기심의 세계와 첨단 엔지니어링 세계에 차별을 두지 않고 전자공학과 컴퓨터 그리고 기술세계의 문화에 대한 관심을 기울이고 있다. 『과학 동아』에 과학과 기술과 문화에 대한 글을, 『마이크로소프트웨어』에 컴퓨터의 역사에 대한 새로운 시각과 리눅스 운영체제의 구조에 대한 칼럼을 오랫동안 기고하였으며 ZDNET에는 디지털 평전을 연재하고 있다. 개인적으로 LISP와 인공지능에 관심을 두고, FAB에 대해서도 나름대로 구현하는 방법을 연구 중이다.

김수정
동명대학교 MPS(Multi-paradigm Problem Solving) 교과의 강의팀에서 일했고, 현재는 동서대학교 전자공학과에서 강의를 하고 있다. 한국해양대학교 전자공학과를 졸업했다.

김정민
서울대 컴퓨터공학부를 졸업하고, 현재 SK Telecom 정보기술연구원에서 RM 및 PI 활동을 수행하며 모바일 고객센터, 디지털 홈 인프라, SPAM관리시스템 구축 등 다양한 소프트웨어 프로젝트의 PM으로 참여하였다. 옮긴 책으로 『소프트웨어 개발의 지혜』(야스미디어), 『실용주의 프로그래머를 위한 프로젝트 자동화』(인사이트), 『생각하는 Big Java』(사이텍미디어), 『LogOn Java2 Programming』(사이텍미디어), 『실용주의 프로그래머를 위한 단위 테스트 with JUnit』(인사이트)이 있다.

감수: 이광근
서울대학교 자연과학대학에서 전산과학을 전공하고 미국 일리노이 대학교(UIUC)에서 박사 학위를 받았다. 미국 벨연구소 Software Principle Research Department에서 정규 연구원과 KAIST 전산학과 교수를 지내고, 현재 서울대학교 컴퓨터공학부 교수로 있다. 과학기술부 창의연구단인 ‘프로그램 분석 시스템 연구단’ 단장과, 파리 고등사범학교(ENS) 초빙교수를 역임했다. 프로그래밍 언어 이론을 응용한 무결점 소프트웨어 개발 도구에 대해 연구해 오고 있다. 홈페이지는 http://ropas.snu.ac.kr/~kwang
좋은 번역
홍지호님이 쓰신 서평보기 I 평점 I 조회수(1313) I 공감 (0) I 블로그
아직 중간까지 봐서 온전한 평가를 할 수는 없지만 폴 그레이엄이나 조엘의 평가를 보면 이 책의 가치가 얼마나 되는지는 쉽게 알 수 있다. 그건 둘째 문제고 이 정도 수준의 번역이 왜 이리 저평가 되는지 난 납득할 수가 없다. 관점의 차이가 이리도 크다니 abstraction을 요약, 간추리기 등으로 해석한 부분에서는 감탄이 나올 지경이다. 지금 이 글을 읽고 비웃음이 나온다면 직접 읽어 보면 안다. 얼마나 문맥속에서 잘 어우러지고 이해가 쉬운지이런 단어를 끄집어 내...
고전
강지훈님이 쓰신 서평보기 I 평점 I 조회수(1376) I 공감 (0) I 블로그
저는 이 책을 원서로 접했는데.. 어떤 분이 서평으로 이를 테면 구조체 같은 것을  "pair"라고 하고, 배열과 닮은 것을 "sequence"라고 매크로 비스므리한 것을 "lambda"라고 하는 것 같습디다.  라고 하시면서 그다지 다를게 없다고 하시며 비판하신걸 보았는데요, 제 생각에는 그러한 모든 구조화의 고전중의 고전이 lisp이라고 생각되네요. C++ standard library는 멤버함수를 accessor, modifier, mutator로 구분하는데 이러한 전통은 아...
번역도 문제지만...
유종석님이 쓰신 서평보기 I 평점 I 조회수(1545) I 공감 (0) I 블로그
번역도 번역이지만, 원전도 논란이 많은 책입니다.아마존에서 검색해보시면 아시겠지만, 좋게 평가하는 사람들과 나쁘게 평가하는 극렬하게 나뉘어져 있는 책이죠.  저는 원전도 읽어보고 번역서도 읽어봤는데요...  끝까지 읽어보진 않았읍니다만,아니 읽을수가 없었읍니다. 도통 무슨 말인지... 내가 읽어본 computer science 책중에 제일 어렸웠읍니다. 개인적으로 교육적 가치가 거의 없는 책이라고 생각합니다.scheme 이라는 언어를 사용해서 이야기를 진행시키고...
용어선택이 적절치 못하다고 생각합니다.
이문희님이 쓰신 서평보기 I 평점 I 조회수(1380) I 공감 (0) I 블로그
 커널-쉘 은 커널-쉘이지 알맹이-껍데기가 아닙니다. 책에서 선택한 무리한 한글화된 단어들은 부적절하다고 생각합니다.예를 들어 abstraction 은 "추상화"도 아니고 더군다나 "요약"도 아닙니다.또한 asignment가 "덮어쓰기"일리는 만무하구요.  앞가지 쓰기 ============== prefix notation붙박이-연산자 ============ built-in operator갇힌 상태 변수 ============ local state variable 이것은 memory를 "기억"으로 . stack을 "(접시)더미", register를...
고민이 묻어나는 번역
장학상님이 쓰신 서평보기 I 평점 I 조회수(1738) I 공감 (0) I 블로그
현재 나와 있는 수많은 컴퓨터 프로그래밍 관련 서적은 별다른 논의나 고민없이 번역을 해왔다. 그래서 이 책을 보면 그 용어의 낯설음에 고개를 갸우뚱 거릴지도 모른다.  하지만, 이 책은 MIT에서 프로그래밍 입문자를 위해 쓰여진 책이다. 프로그래밍을 모르는 사람들을 위해서 쓰여진 만큼 원서를 보면 아주 쉽게 풀이된 책이다. 하지만 재밌게도 외국에서는 프로그래밍 입문자가 쉽게 볼 수 있는 이 책을,  별 고민없이 번역하고 나면 아...
책내용의 우수함을 떠나, 실망스러운 번역..
권은진님이 쓰신 서평보기 I 평점 I 조회수(1463) I 공감 (0) I 블로그
 이책의 원서는 책 좀 읽어본 프로그램쟁이들에겐 굉장히 유명하고 언젠가 독파해야할 비급의 권법서와도 같은 존재다. 이번에 번역서가 나와서 기쁜마음에 한치의 망설임도 없이 구매를 했다. 하지만 읽으면 읽을수록, 그 유명한 김치하 사건*이 문득문득 떠오르게 된다.  진정 그들이 IT언어의 국산화를 노력한것인지 아니면 값싼 번역기나 번역자를 부려 초벌 번역된것을 정리한것인지 모르겠다. 제발 "짜장면"은 짜장면이라고 불렀으면 좋겠다. 짜...
드디어 나왔군요!!
박상혁님이 쓰신 서평보기 I 평점 I 조회수(1123) I 공감 (0) I 블로그
학교다닐 때 이 책의 원서로 수업을 했습니다. 그 당시에는 C계열의 언어만 배우다가처음으로 Scheme 을 접했는데. 함수형 언어를 처음 접하고는 신선한 충격을 받았던기억이 나네요. 책을 따라 수업을 진행하면서 프로그래밍에 있어 여러가지 새로운 개념들을 쉽게받아들일 수 있었고 프로그래밍의 새로운 면을 보게 해준 소중한 수업이었습니다. 이렇게 멋진 책들이 하나 둘 씩 번역되어 나온다는건 정말이지 축하할 일이군요. 오랜만에 구석에 두었던 원서를 꺼내서 봐...
누구나 쉽게 배우는 챗봇 서비스...
박경호
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(44)
회원평점   회원서평수 7
좋은 번역
홍지호 님  2008-10-07
고전
강지훈 님  2008-01-22
번역도 문제지만...
유종석 님  2007-12-15
용어선택이 적절치 못하다고 생각합니다.
이문희 님  2007-12-13
고민이 묻어나는 번역
장학상 님  2007-11-29
책내용의 우수함을 떠나, 실망스러운 번역..
권은진 님  2007-11-29
드디어 나왔군요!!
박상혁 님  2007-10-29
김정민 의 최근 저서
 
모바일 앱 프로토타이핑
19,800원
(10%↓+5%)
 
김수정 의 최근 저서
 
무작정 따라하기 홍콩 마카오(2016-2017)
16,900원
(10%↓+5%)
 
이광근 의 최근 저서
 
컴퓨터과학이 여는 세계
16,200원
(10%↓+5%)
 
김정민 의 최근 저서
 
실내건축산업기사 2차 작업형 실기
28,800원
(10%↓+5%)
 
Gerald Jay Sussman 의 최근 저서
 
Structure and Interpretation of Classical Mechanics
113,100원
(15%↓+1%)
 
Insight (인사이트) 출판사의 신간
슬기로운 파이썬 트릭
댄 베이더 저
18,000원
(10%↓+5%)
 
슬기로운 파이썬 트릭
댄 베이더 저
0원
(0%↓+1%)
 
깐깐하게 배우는 파이썬 3: 기본기를 다져주는 단계별 학습법
제드 쇼 저
19,800원
(10%↓+5%)
 
스타트업처럼 혁신하라

19,800원
(10%↓+5%)
 
R을 활용한 데이터 과학
해들리 위컴, 개럿 그롤문드 저
30,600원
(10%↓+5%)
 
이메일주소수집거부