메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

자바스크립트로 배우는 SICP

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

한빛미디어

번역서

판매중

  • 저자 : 해럴드 에이블슨 , 제럴드 제이 서스먼 , 마틴 헨즈 , 토비아스 브릭스타드 , 줄리 서스먼
  • 번역 : 류광
  • 출간 : 2022-12-30
  • 페이지 : 884 쪽
  • ISBN : 9791169210621
  • 물류코드 :11062
초급 초중급 중급 중고급 고급
0점 (0명)
좋아요 : 3

모든 프로그래머는 마법사다

 

난해한 프로그래밍 언어로 만들어진 컴퓨터 프로그램. 프로그램은 일정한 패턴을 따라 주어진 과제를 해결해 나간다. 즉, 프로그래머는 프로그램이라는 주문을 외워 컴퓨터에 깃든 영혼을 부리는 마법사인 셈이다. 여기 모든 마법사를 위한 마법사 책이 찾아왔다. 이 책은 모든 프로그래밍 언어에서 유용한 사고법과 그 표현법을 소개해 프로그램을 효율적으로 조직화하는 법을 알려준다. 이제 뛰어난 마법사의 비법을 알아보자.

 

 

700px_자바스크립트로 배우는 SICP.jpg

해럴드 에이블슨 저자

해럴드 에이블슨

MIT 컴퓨터 과학 및 공학 학부 클래스 오브 1922 교수(Class of 1922 Professor of Computer Science and Engineering)

제럴드 제이 서스먼 저자

제럴드 제이 서스먼

MIT 전기공학부 파나소닉 교수(Panasonic Professor of Electrical Engineering)

 

마틴 헨즈 저자

마틴 헨즈

싱가포르 국립대학교 컴퓨터 과학 부교수(Associate Professor of Computer Science)

토비아스 브릭스타드 저자

토비아스 브릭스타드

웁살라 대학교의 컴퓨터 과학 교수

줄리 서스먼 저자

줄리 서스먼

프로그래머 출신 편집자 겸 작가

류광 역자

류광

25년 이상의 번역 경력을 가진 전문 번역가로, 『컴퓨터 프로그래밍의 예술』(The Art of Computer Programming) 시리즈와 『UNIX 고급 프로그래밍』(Advanced Programming in UNIX Environment ) 제2판 및 제3판, 『인공지능: 현대적 접근방식』(Artificial Intelligence: A Modern Approach) 제3판 및 제4판, 『Game Programming Gems』 시리즈를 비롯해 80권 이상의 다양한 IT 전문서를 번역했다. 본서와 관련이 깊은 번역서로는 『유연한 소프트웨어를 만드는 설계 원칙』(한빛미디어, 2020)이 있다.

 

개인 웹사이트 류광의 번역 이야기(https://occamsrazr.net)와 게임 개발 웹사이트 Gpg Study(https://gpgstudy.com)를 운영한다. 

 

 

제1장 함수를 이용한 추상화

1.1 프로그래밍의 기본 요소

1.1.1 표현식

1.1.2 이름 붙이기와 환경

1.1.3 연산자 조합의 평가

1.1.4 복합 함수

1.1.5 함수 적용의 치환 모형

1.1.6 조건부 표현식과 술어

1.1.7 예제: 뉴턴 방법으로 제곱근 구하기

1.1.8 블랙박스 추상으로서의 함수

1.2 함수와 과정(함수가 생성하는)

1.2.1 선형 재귀와 반복

1.2.2 트리 재귀

1.2.3 증가 차수

1.2.4 거듭제곱

1.2.5 최대공약수

1.2.6 예제: 소수 판정

1.3 고차 함수를 이용한 추상의 정식화

1.3.1 함수를 받는 함수

1.3.2 람다 표현식을 이용한 함수 구축

1.3.3 일반적 방법으로서의 함수

1.3.4 함수를 돌려주는 함수

 

제2장 데이터를 이용한 추상화

2.1 데이터 추상화

2.1.1 예제: 유리수 산술 연산

2.1.2 추상화 장벽

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 예제: 기호 미분

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 배정과 지역 상태

3.1.1 지역 상태 변수

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 제약의 전파

3.4 동시성: 시간은 필수요건이다

3.4.1 동시적 시스템에서 시간의 본질

3.4.2 동시성 제어 메커니즘

3.5 스트림

3.5.1 지연 평가를 이용한 스트림 표현

3.5.2 무한 스트림

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 내부 선언들

4.1.7 구문 분석과 실행의 분리

4.2 느긋한 평가

4.2.1 정상 순서와 적용적 순서

4.2.2 느긋한 평가를 이용하는 해석기

4.2.3 느긋한 목록으로서의 스트림

4.3 비결정론적 컴퓨팅

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 질의 시스템의 구현

 

제5장 레지스터 기계를 이용한 계산

5.1 레지스터 기계의 설계

5.1.1 레지스터 기계의 서술을 위한 언어

5.1.2 기계 설계의 추상들

5.1.3 서브루틴

5.1.4 스택을 이용한 재귀 구현

5.1.5 명령 요약

5.2 레지스터 기계 시뮬레이터

5.2.1 기계 모형

5.2.2 어셈블러

5.2.3 명령과 명령 실행 함수

5.2.4 기계 성능의 감시와 측정

5.3 저장소 할당과 쓰레기 수거

5.3.1 벡터 구조로 표현된 메모리

5.3.2 무한 메모리라는 환상의 유지

5.4 명시적 제어 평가기

5.4.1 디스패처와 기본 평가 서브루틴

5.4.2 함수 적용의 평가

5.4.3 블록, 배정, 선언

5.4.4 평가기의 실행

5.5 컴파일

5.5.1 컴파일러의 구조

5.5.2 구성요소들 컴파일

5.5.3 함수 적용과 반환문의 컴파일

5.5.4 명령렬들의 조합

5.5.5 컴파일된 코드의 예

5.5.6 어휘순 주소 접근

5.5.7 컴파일된 코드와 평가기의 연동

SICP, 자바스크립트를 만나다 

 

프로그래밍의 바이블 『컴퓨터 프로그램의 구조와 해석』(SICP)이 자바스크립트를 만났다. 1985년부터 지금까지 전 세계 수많은 교육기관에서 교과서로 채택되며 컴퓨터 과학 교과과정에 영향을 미친 이 책은 프로그래머 사이에서 마법사 책(Wizard Book)이라는 별명으로 유명하다. SICP는 사실 모든 프로그래밍 언어에서 사용하기 유용하고 강력한 프로그램 조직화 방법을 소개하지만 스킴(Scheme)이라는 언어를 사용해 진입 장벽이 있었다. 이 책은 그런 SICP를 많은 개발자들에게 친숙한 언어인 자바스크립트로 옮긴 책이다. 여러분의 사고법을 바꿔줄 설명과 이를 적용해보는 연습문제를 통해 마법 능력을 한껏 키워보자.

 

 

대상 독자

  • 프로그래밍적인 사고법을 배우고 싶은 학생
  • 효율적인 프로그램을 만들려는 개발자
  • 스킴이라는 생소한 언어 때문에 SICP에 엄두를 내지 못했던 독자

 

배우는 내용

  • 고수준 프로그래밍 언어에 공통으로 적용되는 프로그래밍 개념
  • 다른 언어를 사용해 새 언어를 확립하는 기술
  • 하드웨어 설계자의 관점에서 프로그래밍 요소를 구현하는 법

 

추천사

 

“‘더 나은 프로그래머가 되려면 어떻게 해야 하나요?’라고 묻는 이에게 이 책을 추천한다.”

_더글러스 크락포드, 『자바스크립트는 왜 그 모양일까?』의 저자

 

“뛰어난 재능과 탁월한 교수법, 새로운 내용으로 세심하게 개정하고 현대화한 고전.”

_올리비에 댄비, 예일-NUS 대학

 

“프로그래밍 서적은 프로그래밍 언어에 얼마나 많은 영향을 받을까? 이 책은 SICP를 자바스크립트로 훌륭하게 옮겼다. 오늘날의 프로그래머에게 탁월한 선택이다.”

_피터 판 로이, 루뱅 카톨릭 대학교

  • 첫번째 리뷰어가 되어주세요.
  • 결제하기
    • 문화비 소득공제 가능
    • 배송료 : 2,000원배송료란?

    배송료 안내

    • 20,000원 이상 구매시 도서 배송 무료
    • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

    무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

    닫기

    도서판매처

    리뷰쓰기

    닫기
    * 도서명 :
    자바스크립트로 배우는 SICP
    * 제목 :
    * 별점평가
    * 내용 :

    * 리뷰 작성시 유의사항

    글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

    1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
    2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

    오탈자 등록

    닫기
    * 도서명 :
    자바스크립트로 배우는 SICP
    * 구분 :
    * 상품 버전
    종이책 PDF ePub
    * 페이지 :
    * 위치정보 :
    * 내용 :

    도서 인증

    닫기
    도서명*
    자바스크립트로 배우는 SICP
    구입처*
    구입일*
    부가기호*
    부가기호 안내

    * 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

    * 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

    * 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

    닫기

    해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
    장바구니로 이동하시겠습니까?

    자료실