확장메뉴
주요메뉴


소득공제

Crafting Interpreters 로버트 나이스트롬의 인터프리터 in Java, C

: 내 손으로 직접 밑바닥부터 만들며 배우는 리얼 인터프리터와 컴파일러의 세계

리뷰 총점9.4 리뷰 7건 | 판매지수 1,266
베스트
IT 모바일 top100 1주
정가
55,000
판매가
49,500 (10% 할인)
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩)
지역변경
  • 배송비 : 무료 ?
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청
  •  국내배송만 가능
  •  최저가 보상
  •  문화비소득공제 신청가능

품목정보

품목정보
발행일 2023년 11월 30일
쪽수, 무게, 크기 816쪽 | 188*257*30mm
ISBN13 9791140707386

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

책 속으로 책속으로 보이기/감추기

여러분은 지금 멀고 험난한 대장정의 시작점에 있다. 이 책은 한장 한장 흥미진진한 언어의 세계로 안내할 것이다. 이 책에서는 프로그래밍 언어의 인터프리터를 직접 구현한다. 또 구현할 가치가 있는 언어를 디자인하는 방법을 차근차근 설명한다. 지금부터 완전한 기능을 갖춘 언어를 두 개의 완전한 인터프리터로 구현하는 과정을 하나씩 살펴보겠다. 여러분이 언어의 내면을 들여다보는 것은 처음이라 보고, 실행 가능하면서도 성능이 빠른, 완전한 언어 구현체를 만들기 위해 필요한 개념과 코드를 단계별로 설명할 것이다. 개인적으로 직접 실행해보면서 배우는 게 최고라고 생각한다. 추상적 개념으로 가득한 단락의 파도를 넘고 넘어 내 것으로 만들기는 어렵지만, 직접 코드를 짜서 실행하고 디버깅을 해보면 비로소 내 산 지식이 된다. 나는 여러분이 이 책을 다 읽고 나서 실제 언어가 어떻게 살아 숨 쉬는지 확실히 깨닫고, 나중에 다른 더 이론적인 책을 읽더라도 이 책에서 실습을 통해 이해한 기반을 바탕으로 개념을 마음 속에 단단히 새겼으면 좋겠다. 언어를 구현하는 일은 진정한 프로그래밍 스킬의 시험대다. 코드는 복잡하고 성능은 중요하다. 재귀, 동적 배열, 트리, 그래프, 해시 테이블의 달인이 되어야 한다. 늘 프로그래밍을 하면서 해시 테이블을 사용해왔어도 정말 해시 테이블을 완전하게 이해하고 있는 사람은 드물다. 장담컨대, 처음부터 해시 테이블을 만들어보면 확실하게 이해하게 될 것이다.
--- 「지은이 서문」 중에서

이 책에 수록된 두 인터프리터의 소스 코드를 여러분의 PC에서 실습하는 방법을 몇 가지 안내한다.
- 방법 1. 지은이의 깃헙 리포지터리에서 직접 git clone하여 자신이 즐겨 쓰는 IDE에서 자신이 선호하는 빌드 방법으로 환경을 구성한다.
- 방법 2. 방법 1이 조금 어렵다면, 옮긴이가 미리 장별로 예제 코드를 추출하여 재작성한 깃헙 리포지터리를 git clone하기 바란다.
- 방법 3. 초심자거나 스스로 개발 환경을 구성하기 어려운 윈도우 PC 사용자라면 부록으로 설명한 내용을 참고하기 바란다.
실습 환경 구성에 어려움을 겪는 독자들을 위해 미리 셋업이 완료된 개발 환경을 제공하였으나, 이 책의 주제가 인터프리터를 직접 만들어보는 것인 만큼 단순히 예제 코드를 실습해보는 것에 만족하지 말고, 자신이 추구하는 방향과 가장 잘 맞는 개발 환경을 스스로 구축하기 바란다. 개발 환경을 구축하는 과정에서 뜻하지 않은 오류 등 많은 난관에 부딪힐 수도 있지만, 그런 것을 해결하는 과정 역시 학습의 일부라는 사실을 잊지 말고 혼자서 적극적으로 해결하는 연습을 권장한다.
--- 「옮긴이 서문」 중에서

출판사 리뷰 출판사 리뷰 보이기/감추기

추천평 추천평 보이기/감추기

평소에 접해보지 못한 조금 다른 관점의 책입니다. 예를 들어 언어의 종류는 많지만, 사칙연산은 모두 동일하게 처리합니다. 1+1=2도 차이가 없습니다. 일반적으로 아무렇지 않게 사용하던 사칙연산 + - * / 및 연산에 대한 우선순위, 함수를 호출해서 인자값을 받기 위한 function() 구성은 어떻게 처리되는지 등 그 안의 인터프리터를 너무 당연하게 사용하고 있다는 생각이 들었습니다. 이를 하나하나 구현해나가면서, 무의식 중에 사용하던 기능을 구현하는 과정을 경험하면서 프로그래밍을 평소와 다른 관점으로 바라보게 되는 느낌이 매우 새로웠습니다.
- 박찬웅 (개발자)
클래스나 클로저 같은 요즘 언어가 가지는 필수 기능들을 구현해보고, 생각해볼 만한 엣지 케이스와 문제들이 제공되어 고민하면서 언어를 만들어가는 과정을 경험할 수 있었습니다. 실습은 어려움 없이 진행할 수 있었고, 책의 실습을 따라 한 이후에도 다양한 언어로 포팅된 리포지터리를 따라 관심 있는 언어의 구현체를 살펴보고, 새롭게 구현해보면서 체화할 수 있다는 점도
- 최용욱 (고려대학교 컴퓨터학과, 2년 차 DX 개발자)
이미 출간된, 혹은 인터넷으로 공개된 많은 컴파일러 책 중에서 가장 실용적인 책입니다. 이 책에서 다루고 있는 컴파일러 내용, 다이어그램과 코드를 이용한 설명은 매우 훌륭합니다. 특히 후반부에 다루는 가비지 콜렉션에 대한 내용은 정말 인상적이었습니다. 실제 GC의 구동 방식과 실제 구현에 대한 설명은 GC의 동작 방식을 이해하는 데 매우 좋았습니다. 실제 코드를 작성할 때 메모리 사용 및 해제 전략을 수립하는 데 큰 도움이 될 것입니다. 재미 삼아 쉽게 읽을 수 있는 책은 아닙니다. 컴파일러에 대한 배경지식도 일부 필요하고요. 하지만 책을 다 읽고 나면, 내가 작성한 코드가 어떤 식으로 처리되고 수행되는지를 이해하는 데 있어서 큰 산을 하나 넘었다 생각할 수 있을 것 같습니다.
- 윤종민 (라인플러스, 22년 차 개발자)
처음에는 언어를 구현한다는 것이 어려울 거라고 생각했는데, 쉽고 재미있게 설명되어 있어서 좋았습니다. 책의 예제들과 설명이 매우 직관적이고 명료해서 이론적인 지식이 없어도 이해하기 쉬웠습니다. 실제로 언어를 만들어보면서 큰 성취감을 느낄 수 있었고, 실제로 동작하는 인터프리터와 컴파일러를 만드는 것이 컴퓨터 과학의 기본 원리를 더 깊이 이해하는 데 도움이 된다는 게 인상적이었습니다.
- 박광현 ((주)핀테크, 서버 개발자)
제가 생각한 이 책의 장점은 이렇습니다. (1) 이야기를 풀어내듯 설명하여 부담 없이 읽을 수 있었습니다. (2) 핵심 부분에 집중할 수 있게 간결함을 추구합니다. 코드도 최대한 간결하게 갑니다. 핵심 부분에 주로 발생하는 엣지 케이스나 까다로운 문제 해결에 집중합니다. (3) 챕터별로 옮긴이가 준 예제 코드를 같이 띄워 놓고 보다 편하게 실습하며 책을 읽을 수 있었습니다. 최종 완성본이 아니라 챕터별로 컴파일 가능한 코드가 제공된다는 것이 큰 장점으로 느껴졌습니다. 내려받은 모든 파일이 잘 컴파일되어서 편하게 실습할 수 있었습니다. 간결하지만 복잡한 컴파일러 코드를 기반으로 여러 예시와 구현 의도를 설명하며 책이 진행되기 때문에 마치 지은이가 옆에서 설명하면서 같이 코딩하는 느낌이 들었습니다.
- 고주형 (중앙대학교 소프트웨어학부, 백엔드 개발자 취업 준비 중)

회원리뷰 (4건) 회원리뷰 이동

한줄평 (3건) 한줄평 이동

총 평점 8.7점 8.7 / 10.0

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  •  쿠폰은 결제 시 적용해 주세요.
1   49,500
뒤로 앞으로 맨위로 공유하기