อยากรู้อยากเห็นหนึ่งคำตอบสำหรับคำถามนี้แล้วในโปรแกรมเมอร์ SE
อ้างส่วนที่เกี่ยวข้อง:
ประเด็นของ Greenspun คือ (บางส่วน) ที่โปรแกรมที่ซับซ้อนจำนวนมากมีล่ามในตัว แทนที่จะสร้างล่ามให้เป็นภาษาเขาแนะนำว่ามันอาจเหมาะสมกว่าที่จะใช้ภาษาอย่าง Lisp ที่มีตัวแปล (หรือคอมไพเลอร์) อยู่แล้ว
ตอนนั้นฉันทำงานกับแอพที่ค่อนข้างใหญ่ซึ่งทำการคำนวณที่ผู้ใช้กำหนดโดยใช้ล่ามที่กำหนดเองสำหรับภาษาที่กำหนดเอง ฉันตัดสินใจลองเขียน core ใน Lisp ใหม่อีกครั้งเพื่อทดลองขนาดใหญ่
ใช้เวลาประมาณหกสัปดาห์ รหัสเดิมคือ ~ 100,000 บรรทัดของ Delphi (ตัวแปร Pascal) ใน Lisp ที่ลดลงเหลือ 10,000 บรรทัด ที่น่าแปลกใจมากขึ้นคือความจริงที่ว่า Lisp engine เร็วกว่า 3-6 เท่า และจำไว้ว่านี่เป็นผลงานของ Neophyte Lisp! ประสบการณ์ทั้งหมดนั้นค่อนข้างเปิดตาสำหรับฉัน เป็นครั้งแรกที่ฉันเห็นความเป็นไปได้ของการรวมการแสดงและการแสดงออกในภาษาเดียว
- Michael Lenaghan
เพื่อชี้แจงเพิ่มเติมในส่วนนั้น Michael ตอบกลับความคิดเห็นด้วย:
ว้าวนั่นน่าจะเป็นโค้ด Delphi ที่น่ากลัวจริงๆถ้ามันจัดการได้ช้ากว่าการใช้ Lisp ถึง 3-6 เท่า! "ใช่ฉันจะนับว่าเป็นความล้มเหลวของฉันที่ไม่อธิบายได้ดีกว่าการใช้ Lisp นั้นสามารถเปลี่ยนได้ การแสดงออกของผู้ใช้เป็นนิพจน์ Lisp - เป็นกระบวนการที่ง่ายเล็กน้อย - แล้วรวบรวมนิพจน์ Lisp ให้เป็นรหัสเนทีฟ (ด้วยการปรับให้เหมาะสมที่สุด) นั่นคือความหมายของกฎข้อที่สิบของ Greenspun
- - Michael Lenaghan
ให้คำตอบนี้ประกอบด้วยคำตอบของคนอื่นที่อื่นมันเป็น wiki ชุมชน