GN⁺: 인터프리터 제작 기술
(craftinginterpreters.com)직접 프로그래밍 언어를 만들고 싶거나, 그것들이 어떻게 설계되고 구축되는지 궁금한 적이 있는가? 그렇다면 이 책이 당신을 위한 것임. _Crafting Interpreters_는 완전한 기능을 갖춘 효율적인 스크립팅 언어를 구현하는 데 필요한 모든 것을 포함하고 있음. 구문 분석과 의미론에 대한 고수준 개념부터 바이트코드 표현 및 가비지 컬렉션과 같은 세부 사항까지 배울 수 있음. 새로운 아이디어로 뇌가 빛나고, 손이 더러워지고 굳은살이 생길 것임. 정말 재미있음.
main()
부터 시작하여, 풍부한 구문, 동적 타이핑, 가비지 컬렉션, 렉시컬 스코프, 일급 함수, 클로저, 클래스 및 상속을 특징으로 하는 언어를 구축함. 모든 것이 몇 천 줄의 깨끗하고 빠른 코드에 담겨 있으며, 각 줄을 직접 작성하기 때문에 완전히 이해할 수 있음.
책은 네 가지 맛있는 형식으로 제공됨:
인쇄본
- 640페이지의 아름다운 타이포그래피와 고해상도 손으로 그린 삽화
- 저자가 정성스럽게 조판한 각 페이지
- 최고의 독서 경험 제공
- Amazon.com | .ca | .uk | .au | .de | .fr | .es | .it | .jp
- Barnes and Noble | Book Depository
전자책
- 신중하게 조정된 CSS가 전자책 리더와 화면 크기에 맞게 조정됨
- 풀 컬러 구문 강조 및 라이브 하이퍼링크 제공
- Kindle Amazon.com | .uk | .ca | .au | .de | .in
- .fr | .es | .it | .jp | .br | .mx | Apple Books
- Play Books Google | Nook B&N | EPUB Smashwords
- 인쇄본의 수작업 조판과 선명한 삽화를 완벽하게 반영
- 휴대하기 훨씬 쉬움
- Payhip에서 구매 가능
- 무료 샘플 다운로드
웹
- 세심한 반응형 디자인으로 데스크탑부터 휴대폰까지 훌륭하게 보임
- 모든 챕터, 사이드, 삽화가 포함됨
- 전체 책을 무료로 읽을 수 있음
- 지금 읽기
Robert Nystrom 소개
- 몇 년 전 육아 휴가 중에 언어 버그에 물림
- 여러 취미 언어를 조합한 후 정식 프로그래밍 언어 직업에 들어감
- 현재 Google에서 Dart 언어 작업 중
- Electronic Arts에서 8년 동안 게임 개발
- 그곳에서 배운 것을 바탕으로 베스트셀러 책 _Game Programming Patterns_를 저술
- Twitter (
@munificentbob
), 이메일 (bob
at 이 사이트의 도메인), 블로그, 저빈도 메일링 리스트에서 더 많은 정보를 찾을 수 있음
GN⁺의 정리
- _Crafting Interpreters_는 프로그래밍 언어를 직접 만들고자 하는 사람들에게 필수적인 책임
- 구문 분석, 의미론, 바이트코드 표현, 가비지 컬렉션 등 다양한 주제를 다룸
- Robert Nystrom은 Dart 언어 작업을 통해 얻은 경험을 바탕으로 이 책을 저술함
- 이 책은 인쇄본, 전자책, PDF, 웹 형식으로 제공되어 다양한 독서 경험을 제공함
- 프로그래밍 언어 설계와 구현에 관심 있는 사람들에게 매우 유용한 자료임
Hacker News 의견
-
이 책은 PL 컴파일러 학습의 두 번째 또는 세 번째 단계로 적합함
- 첫 번째 단계는 간단한 언어로 직접 인터프리터를 작성하는 것임
- 두 번째 단계는 이를 다시 작성하여 실수를 줄이는 것임
- 이를 통해 주제의 미묘한 차이를 이해할 수 있음
-
Crumb을 만들 때 Crafting Interpreters를 읽었음
- 스코프와 로컬 변수에 대한 섹션이 특히 유용했음
- 기술적 구현과 개념적 통찰의 균형이 매우 도움이 되었음
- 영감을 주는 기술적 글쓰기의 예임
-
이 책의 가장 좋은 점은 동일한 언어에 대해 두 개의 인터프리터를 작성하는 과정을 안내함
- 첫 번째 인터프리터에서 큰 아이디어를 접하고, 두 번째 인터프리터에서 이를 다시 다루며 흡수할 수 있음
- 정말 훌륭한 책임
-
다른 컴파일러 리소스에 대해 이야기하자면, Immo Landwerth가 C#으로 컴파일러를 작성하는 것을 즐겼음
- IL과 디버그 심볼을 생성함
- 약 5년 전의 자료이지만 여전히 유용함
- https://youtube.com/playlist/?list=PLRAdsfhKI4OWNOSfS7EUu5GRAVmze1t2y
-
대부분의 프로그래머가 이 책을 한 번쯤은 읽어야 함
- 컴파일러 내부에서 무슨 일이 일어나는지 이해하게 됨
- 매우 잘 작성된 기술 가이드임
- 개념을 내면화하는 데 도움이 됨
-
파라메트릭 다형성과 기본 타입 추론이 있는 정적 타입 언어를 만드는 좋은 리소스를 아는지 궁금함
-
프로그래밍 분야에 새로 입문한 사람으로서, 이런 책을 어떻게 소비해야 하는지 궁금함
- 저자와 함께 코딩하며 책을 처음부터 끝까지 읽어야 하는지 궁금함
- 지식을 유지하는 데 어려움을 겪고 있음
- 언어 인터프리터에 대해 더 배우고 싶지만, 형식이 도움이 될지 모르겠음
- 노트 필기를 통해 보완하려고 노력 중임
-
드디어 책을 읽기로 결심했음
- 책장에 먼지가 쌓여 있었음
-
두 번째 절반을 막 끝냈음
- 훌륭한 책임
- 각 장에서 제안된 도전 과제 중 하나 또는 두 개를 수행하는 것을 추천함
-
언어를 만들고자 하는 열정이 지나가는 관심사였음에 감사함
- 엄청난 양의 작업임