ศิลปะการสร้างอินเทอร์พรีเตอร์
(craftinginterpreters.com)เคยอยากสร้างภาษาโปรแกรมขึ้นมาเอง หรือสงสัยไหมว่าภาษาเหล่านั้นถูกออกแบบและสร้างขึ้นอย่างไร? ถ้าใช่ หนังสือเล่มนี้เหมาะสำหรับคุณ Crafting Interpreters ครอบคลุมทุกอย่างที่จำเป็นต่อการสร้างภาษาสคริปต์ที่สมบูรณ์และมีประสิทธิภาพ ตั้งแต่แนวคิดระดับสูงอย่างการแยกวิเคราะห์และความหมายของภาษา ไปจนถึงรายละเอียดอย่างการแทนค่าแบบไบต์โค้ดและการเก็บกวาดหน่วยความจำ สมองของคุณจะสว่างไสวไปด้วยไอเดียใหม่ ๆ และคุณจะได้ลงมือจริงจนมือเปื้อนและเป็นด้าน มันสนุกมากจริง ๆ
เริ่มตั้งแต่ main() แล้วค่อย ๆ สร้างภาษาที่มีไวยากรณ์หลากหลาย, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes และ inheritance ทุกอย่างถูกรวมอยู่ในโค้ดที่สะอาดและรวดเร็วเพียงไม่กี่พันบรรทัด และเพราะคุณจะเขียนทุกบรรทัดด้วยตัวเอง คุณจึงเข้าใจมันได้อย่างถ่องแท้
หนังสือมีให้เลือกในสี่รูปแบบที่ยอดเยี่ยม:
ฉบับพิมพ์
- 640 หน้าพร้อมงานพิมพ์อักษรที่สวยงามและภาพประกอบวาดมือความละเอียดสูง
- ทุกหน้าจัดวางตัวพิมพ์อย่างพิถีพิถันโดยผู้เขียน
- มอบประสบการณ์การอ่านที่ดีที่สุด
- Amazon.com | .ca | .uk | .au | .de | .fr | .es | .it | .jp
- Barnes and Noble | Book Depository
อีบุ๊ก
- CSS ที่ปรับแต่งอย่างรอบคอบให้เหมาะกับเครื่องอ่านอีบุ๊กและขนาดหน้าจอ
- มี syntax highlighting แบบเต็มสีและไฮเปอร์ลิงก์แบบใช้งานได้จริง
- 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
- ดาวน์โหลดตัวอย่างฟรีได้
เว็บ
- ดีไซน์ responsive ที่ใส่ใจรายละเอียด ทำให้ดูดีตั้งแต่เดสก์ท็อปไปจนถึงโทรศัพท์มือถือ
- รวมทุกบท เนื้อหาข้างเคียง และภาพประกอบ
- อ่านหนังสือทั้งเล่มได้ฟรี
- อ่านได้เลยตอนนี้
เกี่ยวกับ Robert Nystrom
- เมื่อหลายปีก่อน ระหว่างลาพักเพื่อเลี้ยงดูลูก เขาได้ติดหลงใหลเรื่องภาษาโปรแกรม
- หลังจากลองทำภาษางานอดิเรกหลายตัว เขาก็ก้าวเข้าสู่อาชีพด้านภาษาโปรแกรมอย่างจริงจัง
- ปัจจุบันทำงานกับภาษา Dart ที่ Google
- เคยพัฒนาเกมอยู่ 8 ปีที่ Electronic Arts
- จากสิ่งที่ได้เรียนรู้ที่นั่น เขาเขียนหนังสือขายดี Game Programming Patterns
- ดูข้อมูลเพิ่มเติมได้ทาง Twitter (
@munificentbob), อีเมล (bobat โดเมนของเว็บไซต์นี้), บล็อก และเมลลิงลิสต์ความถี่ต่ำ
สรุปโดย GN⁺
- Crafting Interpreters เป็นหนังสือสำคัญอย่างยิ่งสำหรับผู้ที่ต้องการสร้างภาษาโปรแกรมด้วยตนเอง
- ครอบคลุมหัวข้อต่าง ๆ เช่น การแยกวิเคราะห์ ความหมายของภาษา การแทนค่าแบบไบต์โค้ด และการเก็บกวาดหน่วยความจำ
- Robert Nystrom เขียนหนังสือเล่มนี้จากประสบการณ์ที่ได้รับจากการทำงานกับภาษา Dart
- หนังสือมีทั้งฉบับพิมพ์ อีบุ๊ก PDF และเว็บ มอบประสบการณ์การอ่านได้หลากหลาย
- เป็นแหล่งข้อมูลที่มีประโยชน์มากสำหรับผู้ที่สนใจการออกแบบและการพัฒนาภาษาโปรแกรม
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
หนังสือเล่มนี้เหมาะเป็นขั้นที่สองหรือสามในการเรียนรู้คอมไพเลอร์ PL
ตอนทำ Crumb ได้อ่าน Crafting Interpreters
สิ่งที่ดีที่สุดของหนังสือเล่มนี้คือมันพาเราเขียนอินเทอร์พรีเตอร์สองตัวสำหรับภาษาเดียวกัน
ถ้าพูดถึงแหล่งเรียนคอมไพเลอร์อื่น ๆ ผมสนุกกับการดู Immo Landwerth เขียนคอมไพเลอร์ด้วย C#
โปรแกรมเมอร์ส่วนใหญ่น่าจะควรอ่านหนังสือเล่มนี้สักครั้ง
อยากรู้ว่ามีแหล่งเรียนดี ๆ สำหรับการสร้างภาษาสแตติกไทป์ที่มี parametric polymorphism และ basic type inference หรือไม่
ในฐานะคนที่เพิ่งเริ่มเข้าวงการโปรแกรมมิง อยากรู้ว่าควรเสพหนังสือแบบนี้อย่างไร
ในที่สุดก็ตัดสินใจว่าจะอ่านหนังสือเล่มนี้
เพิ่งอ่านครึ่งหลังจบ
รู้สึกขอบคุณที่ความหลงใหลในการสร้างภาษาเป็นแค่ความสนใจชั่วคราว