การรวบรวมภาษาระดับที่สูงขึ้นไปยังภาษาที่ระดับต่ำกว่าคือเค้ก มีตัวอย่างมากมายที่กำลังทำอยู่ เราสามารถชี้ไปที่คอมไพเลอร์ C ++ ก่อนหน้าซึ่งคอมไพล์ลงไปที่ C
เมื่อคุณเริ่มโยน "สะอาด" และ "อ่าน" ลงในส่วนผสมอย่างไรก็ตามสิ่งต่าง ๆ นั้นยากมาก รหัสที่สะอาดและอ่านได้จะแสดงความหมายและเจตนาของสิ่งที่คุณเขียน คอมพิวเตอร์มีการตีความและสร้างความหมายที่ไม่ดี คุณมีแนวโน้มที่จะจบลงด้วยตัวแปรชื่อกว่าint_147
input_buffer_length
แน่นอนว่าถ้าคุณจริงๆอยากจะทำให้การทำงานของโครงการนี้คุณสามารถมีส่วนร่วมในโครงการเอไอขนาดใหญ่ที่จะจัดการกับการแปลงเสียงกระเพื่อมของคุณเพื่อเรียงลำดับของการอ่าน decently c ++ บางส่วน แต่จะเป็นทำเลที่ดีเลิศเที่ยงตรง, คอมไพเลอร์ทั่วไปเสียงกระเพื่อมจะสวยร่วมเพศดีในสิ่งที่พวกเขาทำ .
สำคัญกว่าความยากในการสร้าง C ++ จาก Lisp คือประโยชน์ของสิ่งนี้ มันจะมีจุดประสงค์อะไรเพื่อให้ C ++ ที่สร้างขึ้นสามารถอ่านได้ หาก Lisp เป็นซอร์สโค้ดของคุณการเป็นตัวแทนระดับกลางควรไม่เกี่ยวข้อง หากคุณต้องการมอบ C ++ ให้กับโปรแกรมเมอร์ที่ไม่เข้าใจ Lisp ดั้งเดิมของคุณตอนนี้คุณก็มีปัญหาอีกประการหนึ่ง จะเกิดอะไรขึ้นเมื่อพวกเขาต้องการแก้ไข C ++ ที่คุณสร้างขึ้น จะเกิดอะไรขึ้นถ้าพวกเขาเขียนสิ่งต่าง ๆ ใน C ++ ที่ไม่แปลภาษา Lisp ของคุณอย่างหมดจด?
สมมติว่าเราได้แก้ไขมันแล้ว มันเป็นทศวรรษต่อมาและหลังจากการเผาเงินจำนวนหลายร้อยล้านดอลล่าร์ให้เงินเราได้สร้างเครื่องมือแปลภาษาขนาดใหญ่ที่ซับซ้อน สิ่งที่เราได้รับจริง ๆ แล้วจะไม่สามารถทำได้สำเร็จโดยการสอนภาษาโปรแกรมใหม่หรือพัฒนาคอมไพเลอร์ใหม่ที่ให้เราเชื่อมโยงสองภาษา
โอ้ใช่. เจ้านายของคุณต้องการให้คุณเขียน C ++ และคุณไม่ต้องการ อัพเดทประวัติย่อของคุณและหางานใหม่