-
บทสัมภาษณ์สั้น ๆ กับ Dr. Brian Kernighan ผู้ให้กำเนิด AWK
-
แนะนำ Dr. Brian Kernighan
- Dr. Brian Kernighan เป็นนักวิทยาการคอมพิวเตอร์ชาวแคนาดา ผู้มีส่วนร่วมในการพัฒนา UNIX ที่ Bell Labs
- ร่วมเขียนหนังสือพื้นฐานเกี่ยวกับภาษาโปรแกรม C ชื่อ "The C Programming Language" กับ Dennis Richie
- ตั้งแต่ปี 2000 เป็นต้นมา ได้สอนและบ่มเพาะโปรแกรมเมอร์รุ่นใหม่ที่ Princeton University
- เป็นที่รู้จักจากการเขียนโปรแกรม "Hello World!" โปรแกรมแรก
-
แนวคิดใหม่ของ AWK
- แนวคิดหลักของ AWK คือ associative arrays
- ในเวลานั้นถือเป็นแนวคิดใหม่ แต่ปัจจุบันถูกใช้ในภาษาส่วนใหญ่ทั้งในรูปฟังก์ชันไลบรารี (hashmaps in Java or C++) หรือเป็นส่วนหนึ่งของภาษาเอง (dictionaries in Perl and Python)
- associative arrays เป็นโครงสร้างที่ทรงพลังมาก และสามารถใช้จำลองโครงสร้างข้อมูลได้หลากหลาย
- กระบวนทัศน์ pattern-action ก็ยังไม่แพร่หลายนักในเวลานั้น แต่เป็นวิธีที่มีประสิทธิภาพในการจัดระเบียบการคำนวณบางประเภท
-
แหล่งอ้างอิงที่ใช้ตอนสร้างภาษาโปรแกรม
- Dr. Kernighan: "ไม่มี"
- ในช่วงทศวรรษ 1970 มีภาษาเฉพาะทางใหม่ ๆ จำนวนมาก และแทบไม่มีงานก่อนหน้าที่ใช้อ้างอิงได้
- Yacc เป็นเครื่องมือสำคัญที่ช่วยให้สร้างและทดลองไวยากรณ์ได้ง่าย
- Lex ทำหน้าที่แบบเดียวกันในระดับการวิเคราะห์คำศัพท์ โดยแทนที่โค้ดน่าเบื่อจำนวนมากด้วยชุดกฎ
- Lex และ Yacc เป็นตัวอย่างของภาษาแบบ pattern-action และส่งเสริมกันเป็นวงจรเชิงบวก
-
คำแนะนำสำหรับคนรุ่นใหม่ที่สนใจการออกแบบภาษาโปรแกรม
- เขาแนะนำให้ลองออกแบบและพัฒนาภาษาเฉพาะทางขนาดเล็ก
- สิ่งนี้ทั้งสนุกและมีประโยชน์มาก และง่ายกว่าการสร้างภาษามาแทน Rust หรือ C++ มาก
- แนะนำให้มองหางานที่สามารถทำให้เป็นอัตโนมัติได้ แล้วสร้างคอมไพเลอร์และรันไทม์อย่างง่าย
- บทความที่ Jon Bentley เขียนไว้นานแล้วในเรื่องนี้ยังคงใช้ได้อยู่
-
ที่มาของภาพ
- Wikimedia Commons
-
สรุปโดย GN⁺
- Dr. Brian Kernighan เป็นบุคคลสำคัญที่มีส่วนร่วมในการพัฒนา UNIX และภาษา C และเป็นผู้ให้กำเนิดภาษา AWK ที่นำเสนอ associative arrays และกระบวนทัศน์ pattern-action
- associative arrays เป็นโครงสร้างข้อมูลอันทรงพลังที่ปัจจุบันถูกใช้ในภาษาโปรแกรมส่วนใหญ่
- สำหรับโปรแกรมเมอร์รุ่นใหม่ การลองออกแบบและพัฒนาภาษาเฉพาะทางขนาดเล็กเป็นสิ่งที่มีประโยชน์
- Yacc และ Lex เป็นเครื่องมือที่ช่วยให้การวิเคราะห์ไวยากรณ์และคำศัพท์ทำได้ง่ายขึ้น และเป็นตัวอย่างที่ดีของภาษาแบบ pattern-action
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News