โครงสร้างพื้นฐานภาษาทั่วไปคืออะไร?

โครงสร้างพื้นฐานภาษาทั่วไป (CLI) เป็นชุดของมาตรฐานทางเทคนิคระหว่างประเทศที่ส่งเสริมการทำงานร่วมกันของภาษาโปรแกรมคอมพิวเตอร์ CLI ยังอนุญาตให้ภาษาระดับสูงมากมายพัฒนาแอปพลิเคชั่นที่ไม่ขึ้นอยู่กับแพลตฟอร์มและสถาปัตยกรรม มีภาษาโปรแกรมมากกว่า 30 ภาษาจัดกลุ่มไว้สำหรับจุดประสงค์นี้และใช้ประโยชน์จากสี่ส่วนของข้อกำหนดการเขียนโปรแกรมภาษาทั่วไปเพื่อให้เป็นไปตาม CLI

การใช้ประโยชน์จากสิ่งที่เรียกว่า common type system (CTS) โดยใช้ชุดของชนิดข้อมูลและการดำเนินการและข้อมูลเมตาดาต้าในโครงสร้างการเขียนโปรแกรมช่วยให้การเขียนรหัสข้ามภาษา CLI รวบรวมภาษาเป็นภาษากลางทั่วไป (CIL) และจาก CIL สื่อสารด้านการใช้งานกับภาษาแอสเซมบลีของเครื่องซึ่งระบุตำแหน่งฮาร์ดแวร์ นอกจากนี้ยังมีข้อกำหนดภาษาทั่วไป (CLS) ซึ่งเป็นกฎพื้นฐานที่กำหนดไว้สำหรับการใช้งานโดยการค้นหาภาษาใด ๆ และระบบปฏิบัติการเสมือน (VES) สำหรับการโหลดการดำเนินการและการสร้างรหัสการรันสำหรับโปรแกรมที่สอดคล้องกับ CLI ทั้งหมด .

ภาษาที่สอดคล้องกับ CLI ส่วนใหญ่รวบรวมโดยตรงกับ CIL โดยใช้ runtime ภาษาทั่วไป (CLR) หลังจากคอมไพล์และแคชแล้วคอมไพเลอร์แบบทันเวลาพอดีกับรหัสเครื่องจากสถาปัตยกรรมที่มีอยู่ การสร้างรหัสเครื่องประกอบยังสามารถสร้างขึ้นก่อน CLR ด้วยคอมไพเลอร์ล่วงหน้า

สำหรับภาษาที่สอดคล้องกับ CLI เพื่อใช้ประโยชน์จากความเฉพาะเจาะจงของวัตถุโครงสร้างพื้นฐานภาษาทั่วไประบุว่าวัตถุต้องการเพียงแค่เปิดเผยคุณสมบัติที่พวกเขามีร่วมกันกับภาษาที่สอดคล้องกับ CLI อื่น ๆ เมื่อถูกเรียก ส่วนประกอบของรหัสที่พัฒนาขึ้นเพื่อใช้เฉพาะชนิดข้อมูลที่ยอมรับใน CTS ถูกกล่าวว่าสอดคล้องกับ CLI และสามารถเข้าถึงได้กับภาษาอื่นที่สอดคล้องกับ CLI ทั้งหมด นอกจากนี้การสร้างภาษาใด ๆ ที่ไม่สามารถตรวจสอบได้อย่างรวดเร็วโดยความปลอดภัยประเภทของรหัสจะถูกแยกออกจาก CLS ดังนั้นจึงมีเพียงรหัสที่สามารถตรวจสอบได้เท่านั้นที่สามารถกล่าวได้ว่าสอดคล้องกับ CLS

คุณสมบัติการเขียนโปรแกรมบางอย่างเป็นเรื่องปกติสำหรับทั้งคอมไพเลอร์และนักพัฒนาและคุณสมบัติอื่น ๆ สำหรับคอมไพเลอร์เท่านั้น รายการมีความยาวและเต็มไปด้วยคุณสมบัติที่เป็นประโยชน์ คุณลักษณะที่มีให้สำหรับคอมไพเลอร์เท่านั้นคือ: คำหลักที่ให้ตัวระบุการอ้างอิงและที่สามารถแทนที่วิธีเสมือนด้วยชื่อที่เป็นคำหลัก คุณลักษณะที่มีให้ทั้งคอมไพเลอร์และนักพัฒนารวมถึง: คุณสมบัติตัวดัดแปลงที่กล่าวว่าคุณสมบัติเช่นเดียวกับผู้ประเมินต้องเป็น "แบบคงที่" ทั้งหมดจะต้องเป็น "เสมือนจริง" ต้องเป็น "อินสแตนซ์" ทั้งหมด

โปรแกรมการติดตั้งใช้งานสำหรับเดสก์ท็อปเซิร์ฟเวอร์อุปกรณ์พกพาและเครื่องเล่นเกม โปรแกรมเพิ่มประสิทธิภาพการมองเห็นด้วยคอมพิวเตอร์และชุดเครื่องมือเสมือนระดับต่ำได้รับการพัฒนาจากโครงสร้างพื้นฐานภาษาทั่วไป - ภาษาที่เข้ากันได้ โครงสร้างพื้นฐานภาษาทั่วไปรันไทม์จัดสรรทรัพยากรระบบและโทรอุปกรณ์ต่อพ่วงได้อย่างมีประสิทธิภาพแม้ว่าพวกเขาจะเป็นอิสระจากแพลตฟอร์ม