อ่าน 3 นาที
โครงสร้างพื้นฐานภาษาทั่วไป
โครงสร้าง พื้นฐานภาษาทั่วไป ( CLI ) เป็น ข้อกำหนด แบบเปิด และ มาตรฐานทางเทคนิค ที่พัฒนาขึ้นครั้งแรกโดย Microsoft และได้รับการกำหนดมาตรฐานโดย ISO / IEC ( ISO/IEC 23271 ) และ Ecma...
โครงสร้างพื้นฐานภาษาทั่วไป
| โครงสร้างพื้นฐานภาษาทั่วไป | |
|---|---|
| ISO/IEC 23271:2012(E) | |
| คำย่อ | ซีแอลไอ |
| สถานะ | ที่ตีพิมพ์ |
| ปีเริ่มต้น | 2000 |
| เผยแพร่ครั้งแรก | ปี 2001 (ECMA) และปี 2003 (ISO/IEC) |
| เวอร์ชั่นล่าสุด | ฉบับที่หกมิถุนายน 2555 |
| องค์กร | พัฒนาโดย: Microsoft , Hewlett-Packard , Intelและบริษัทอื่นๆ กำหนดมาตรฐานโดย: Ecma , ISO / IEC |
| คณะกรรมการ | ISO/IEC JTC 1/SC 22 |
| โดเมน | ภาษาทั่วไป ( ข้ามแพลตฟอร์ม ) |
| ใบอนุญาต | แรนด์ |
| เว็บไซต์ | ECMA-335 , ISO/IEC 23271 |
โครงสร้างพื้นฐานภาษาทั่วไป ( CLI ) เป็นข้อกำหนด แบบเปิด และมาตรฐานทางเทคนิคที่พัฒนาขึ้นครั้งแรกโดยMicrosoftและได้รับการกำหนดมาตรฐานโดยISO / IEC ( ISO/IEC 23271 ) และEcma International ( ECMA 335 ) [ 1 ] [ 2 ]ซึ่งอธิบายโค้ดที่สามารถเรียกใช้งานได้และสภาพแวดล้อมรันไทม์ที่อนุญาตให้ใช้ภาษาโปรแกรมระดับสูงหลายภาษา บน แพลตฟอร์มคอมพิวเตอร์ ต่างๆ โดยไม่ต้องเขียนใหม่สำหรับสถาปัตยกรรมเฉพาะ ซึ่งหมายความว่าไม่ขึ้นกับแพลตฟอร์มใดๆ . NET Framework , .NETและMonoเป็นการใช้งาน CLI รูปแบบ เมตาเดตายังใช้เพื่อระบุคำ จำกัดความ APIที่เปิดเผยโดยWindows Runtime [ 3 ] [ 4 ]
ภาพรวม

ข้อกำหนด CLI ระบุถึงห้าประเด็นสำคัญ ซึ่งรวมถึงประเด็นอื่นๆ ด้วย:
- ระบบประเภททั่วไป (CTS)
- ชุดของชนิดข้อมูลและการดำเนินการที่ใช้ร่วมกันโดยภาษาโปรแกรม ทั้งหมดที่สอดคล้องกับมาตรฐาน CTS
- ข้อมูลเมตา
- ข้อมูลเกี่ยวกับโครงสร้างโปรแกรมไม่ขึ้นอยู่กับภาษาใดภาษาหนึ่งดังนั้นจึงสามารถอ้างอิงถึงกันได้ระหว่างภาษาและเครื่องมือต่างๆ ทำให้ง่ายต่อการทำงานกับโค้ดที่เขียนด้วยภาษาที่นักพัฒนาไม่ได้ใช้
- ข้อกำหนดภาษาทั่วไป (CLS)
- CLS ซึ่งเป็นส่วนหนึ่งของ CTS คือกฎที่ส่วนประกอบที่พัฒนาขึ้นโดยใช้/สำหรับภาษาที่รองรับต้องปฏิบัติตาม
- หลักการเหล่านี้ใช้ได้กับผู้บริโภค (นักพัฒนาที่เข้าถึงส่วนประกอบที่สอดคล้องกับ CLS ผ่านทางโปรแกรม) เฟรมเวิร์ก (นักพัฒนาที่ใช้คอมไพเลอร์ภาษาเพื่อสร้างไลบรารีที่สอดคล้องกับ CLS) และผู้ขยาย (นักพัฒนาที่สร้างเครื่องมือ เช่น คอมไพเลอร์ภาษาหรือตัวแยกวิเคราะห์โค้ดที่สร้างส่วนประกอบที่สอดคล้องกับ CLS)
- ระบบการดำเนินการเสมือน (Virtual Execution System หรือ VES)
- VES โหลดและเรียกใช้โปรแกรมที่เข้ากันได้กับ CLI โดยใช้เมตาเดตาเพื่อรวมส่วนของโค้ดที่สร้างขึ้นแยกกันในระหว่างการทำงาน
- ภาษาที่เข้ากันได้ทั้งหมดจะคอมไพล์เป็นภาษาตัวกลางทั่วไป (CIL) ซึ่งเป็นภาษาตัวกลางที่ถูกแยกออกจากฮาร์ดแวร์ของแพลตฟอร์ม เมื่อโค้ดถูกประมวลผล VES เฉพาะแพลตฟอร์มจะคอมไพล์ CIL ให้เป็นภาษาเครื่องตามฮาร์ดแวร์และระบบปฏิบัติการที่เฉพาะเจาะจง
- ในมาตรฐาน CLI ที่พัฒนาขึ้นครั้งแรกโดย Microsoft นั้น VES ถูกนำไปใช้โดยCommon Language Runtime (CLR)
- ห้องสมุดมาตรฐาน
- ชุดไลบรารีที่รวบรวมฟังก์ชันทั่วไปมากมาย เช่น การอ่านและการเขียนไฟล์ โดยมีแกนหลักคือไลบรารีคลาสพื้นฐาน (Base Class Libraryหรือ BCL)
การกำหนดมาตรฐานและการออกใบอนุญาต
ในเดือนสิงหาคม ปี 2000 ไมโครซอฟต์ฮิวเลตต์-แพคการ์ดอินเทลและบริษัทอื่นๆ ได้ร่วมกันกำหนดมาตรฐาน CLI (Command-Line Interface) และได้รับการรับรองโดยECMA ( Ecology and Microintestinal Management) ในเดือนธันวาคม ปี 2001 ตามมา ด้วย การกำหนดมาตรฐาน โดย ISO / IECในเดือนเมษายน ปี 2003
ไมโครซอฟต์และพันธมิตรถือครองสิทธิบัตรสำหรับ CLI Ecma และ ISO/IEC กำหนดให้สิทธิบัตรทั้งหมดที่จำเป็นต่อการนำไปใช้งานต้องเปิดเผยภายใต้ " เงื่อนไขที่สมเหตุสมผลและไม่เลือกปฏิบัติ (RAND) " โดยทั่วไปแล้ว การอนุญาตใช้สิทธิแบบ RAND มักต้องมีการจ่ายค่าลิขสิทธิ์ ซึ่งอาจเป็นสาเหตุที่น่ากังวลสำหรับMonoณ เดือนมกราคม 2013 ทั้งไมโครซอฟต์และพันธมิตรยังไม่พบสิทธิบัตรใด ๆ ที่จำเป็นต่อการนำไปใช้งาน CLI ภายใต้เงื่อนไข RAND
ณ เดือนกรกฎาคม พ.ศ. 2552 [ 5 ]ไมโครซอฟต์ได้เพิ่มC#และ CLI ลงในรายการข้อกำหนดที่Microsoft Community Promiseนำไปใช้[ 6 ]เพื่อให้ทุกคนสามารถใช้งานมาตรฐานเวอร์ชันที่กำหนดได้อย่างปลอดภัยโดยไม่ต้องกังวลเรื่องการฟ้องร้องสิทธิบัตรจากไมโครซอฟต์ การใช้งานมาตรฐาน CLI จำเป็นต้องปฏิบัติตามโปรไฟล์ที่รองรับและกำหนดไว้ของมาตรฐานอย่างน้อยหนึ่งโปรไฟล์ ซึ่งโปรไฟล์ขั้นต่ำคือโปรไฟล์เคอร์เนล โปรไฟล์เคอร์เนลเป็นชุดประเภทที่รองรับขนาดเล็กมากเมื่อเทียบกับไลบรารีหลักที่เป็นที่รู้จักกันดีของการติดตั้ง .NET เริ่มต้น อย่างไรก็ตาม ข้อกำหนดการปฏิบัติตามมาตรฐาน CLI อนุญาตให้ขยายโปรไฟล์ที่รองรับโดยการเพิ่มเมธอดและประเภทใหม่ลงในคลาส รวมถึงการสืบทอดจากเนมสเปซใหม่ แต่ไม่อนุญาตให้เพิ่มสมาชิกใหม่ลงในอินเทอร์เฟซ ซึ่งหมายความว่าคุณสมบัติของ CLI สามารถใช้งานและขยายได้ ตราบใดที่การใช้งานโปรไฟล์ที่สอดคล้องกับมาตรฐานไม่ได้เปลี่ยนแปลงพฤติกรรมของโปรแกรมที่ตั้งใจจะทำงานบนโปรไฟล์นั้น ในขณะที่อนุญาตให้มีพฤติกรรมที่ไม่ระบุจากโปรแกรมที่เขียนขึ้นโดยเฉพาะสำหรับการใช้งานนั้น
ในปี 2555 Ecma และ ISO/IEC ได้เผยแพร่มาตรฐาน CLI ฉบับใหม่[ 1 ] [ 2 ]
การนำไปใช้
- .NET Frameworkคือการใช้งาน CLI เชิงพาณิชย์ดั้งเดิมของ Microsoft รองรับเฉพาะระบบปฏิบัติการ Windows เท่านั้น และถูกแทนที่ด้วย .NET ในเดือนพฤศจิกายน 2020
- .NETซึ่งเดิมเรียกว่า .NET Core เป็นซอฟต์แวร์โอเพนซอร์สแบบฟรีที่ใช้งานได้บนหลายแพลตฟอร์ม ซึ่งเป็นรุ่นต่อจาก .NET Framework โดยเผยแพร่ภายใต้ใบอนุญาต MIT
- .NET Compact Frameworkคือการนำ CLI มาใช้ในเชิงพาณิชย์ของ Microsoft สำหรับอุปกรณ์พกพาและXbox 360
- .NET MicroFrameworkเป็นการใช้งาน CLI แบบโอเพนซอร์สสำหรับอุปกรณ์ที่มีทรัพยากรจำกัด
- Monoเป็นซอฟต์แวร์โอเพนซอร์สทางเลือกที่ใช้แทน CLI และเทคโนโลยีที่เกี่ยวข้อง โดยส่วนใหญ่ใช้สำหรับการพัฒนาแอปพลิเคชันบนมือถือและเกม
- DotGNUคือส่วนหนึ่งของโครงการ GNU ที่ถูกยกเลิกไปแล้ว ซึ่งเริ่มต้นในเดือนมกราคมปี 2001 โดยมีเป้าหมายเพื่อจัดหาซอฟต์แวร์ทางเลือกแบบโอเพนซอร์สและฟรี เพื่อทดแทน . NET Frameworkของ Microsoft
ดูเพิ่มเติม
หมายเหตุ
- ^ a b "ISO/IEC 23271:2012 - เทคโนโลยีสารสนเทศ -- โครงสร้างพื้นฐานภาษาทั่วไป (CLI)" . ISO . เก็บถาวรจากต้นฉบับเมื่อวันที่ 2 กรกฎาคม 2023
- ^ a b "ECMA-335" . ECMA International . มิถุนายน 2012. เก็บถาวรจากต้นฉบับเมื่อวันที่ 16 ตุลาคม 2023.
- ^ "บทนำสู่การพัฒนาแอปพลิเคชัน Windows Store ขั้นสูงโดยใช้ HTML5 และ JavaScript" Microsoft Press Store 15 ตุลาคม 2013 เก็บถาวรจากต้นฉบับเมื่อวันที่ 30 มีนาคม 2023
- ^ de Icaza, Miguel (15 กันยายน 2011). "ไขความลับ WinRT" . เก็บถาวรจากต้นฉบับเมื่อ 30 พฤศจิกายน 2023.
- ^ Galli, Peter (6 กรกฎาคม 2552). "มาตรฐาน C# และ CLI ของ ECMA" . Port 25 . เก็บถาวรจากต้นฉบับเมื่อ 9 กรกฎาคม 2552 . เรียกดูเมื่อ26 กันยายน 2552 .
- ^ v-alje (16 มีนาคม 2023). "[MS-DEVCENTLP]: คำมั่นสัญญาของชุมชน Microsoft" . Microsoft Learn . สืบค้นเมื่อ1 พฤษภาคม 2023 .
ลิงก์ภายนอก
- ISO/IEC 23271:2012 เทคโนโลยีสารสนเทศ — โครงสร้างพื้นฐานภาษาทั่วไป (CLI)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โครงสร้างพื้นฐานภาษาทั่วไป
โครงสร้าง พื้นฐานภาษาทั่วไป ( CLI ) เป็น ข้อกำหนด แบบเปิด และ มาตรฐานทางเทคนิค ที่พัฒนาขึ้นครั้งแรกโดย Microsoft และได้รับการกำหนดมาตรฐานโดย ISO / IEC ( ISO/IEC 23271 ) และ Ecma...
ภาพรวม
ข้อกำหนด CLI ระบุถึงห้าประเด็นสำคัญ ซึ่งรวมถึงประเด็นอื่นๆ ด้วย:
การกำหนดมาตรฐานและการออกใบอนุญาต
ในเดือนสิงหาคม ปี 2000 ไมโครซอฟต์ ฮิ วเลตต์-แพคการ์ด อินเทล และ บริษัทอื่นๆ ได้ร่วมกันกำหนดมาตรฐาน CLI (Command-Line Interface) และได้รับการรับรองโดย ECMA ( Ecology and Microintestinal Management) ในเดือนธันวาคม ปี 2001 ตามมา ด้วย การกำหนดมาตรฐาน โดย ISO /...
การนำไปใช้
.NET Framework คือการใช้งาน CLI เชิงพาณิชย์ดั้งเดิมของ Microsoft รองรับเฉพาะระบบปฏิบัติการ Windows เท่านั้น และถูกแทนที่ด้วย .NET ในเดือนพฤศจิกายน 2020 .NET ซึ่งเดิมเรียกว่า .