สมมติว่าฉันต้องการสร้างตัวแปลภาษา / ตัวแปลภาษาแบบไดนามิกซึ่งอาจเป็นล่าม Scheme บนแพลตฟอร์ม. NET ที่มีอยู่ในปัจจุบัน ฉันจะดีกว่าถ้าใช้Dynamic Language Runtime (DLR) หรือใช้ C # 4.0 เพื่อใช้คุณสมบัติแบบไดนามิกของภาษาของฉันหรือไม่ หรือฉันต้องการทั้งสองอย่าง?
ฉันรู้ว่ามีได้รับงานอื่น ๆ ที่ทำในพื้นที่นี้โดยเฉพาะอย่างยิ่งกับIronSchemeและIronPython ทั้งสองภาษาใช้ DLR ฉันเชื่อว่า IronPython ใช้เวอร์ชั่นล่าสุดของ DLR (ซึ่งเป็นอายุประมาณหนึ่งปี) ในขณะที่ IronScheme ใช้ต้น fork ที่มีการดัดแปลงแก้ไขอย่างรวดเร็วของเวอร์ชันแรก ๆ ของ DLR แต่ C # 4.0 ไม่สามารถใช้ได้เมื่อคอมไพเลอร์เหล่านี้ถูกสร้างขึ้น
ฉันเคยเห็น Rob Conery ทำงานกับMassiveโดยใช้คุณสมบัติแบบไดนามิกของ C # 4.0 มันค่อนข้างน่าประทับใจ แต่ C # จะใช้ความพยายามอย่างเต็มที่ของผู้แปลภาษา / ผู้บุกรุกแบบไดนามิกหรือไม่? มีฟีเจอร์ใน DLR ที่หายไปจาก C # หรือว่าเป็น DLR ที่รีดเป็น C # 4.0 หรือไม่? ฉันจะพลาดคุณสมบัติที่สำคัญของ DLR หรือไม่หากฉันใช้ C # 4.0 เท่านั้น