กลับไปหน้าบทความ

อ่าน 3 นาที

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

โครงสร้าง พื้นฐานภาษาทั่วไป ( CLI ) เป็น ข้อกำหนด แบบเปิด และ มาตรฐานทางเทคนิค ที่พัฒนาขึ้นครั้งแรกโดย Microsoft และได้รับการกำหนดมาตรฐานโดย ISO / IEC ( ISO/IEC 23271 ) และ Ecma...

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

โครงสร้างพื้นฐานภาษาทั่วไป
ISO/IEC 23271:2012(E)
คำย่อซีแอลไอ
สถานะที่ตีพิมพ์
ปีเริ่มต้น2000 ( 2000 )
เผยแพร่ครั้งแรกปี 2001 (ECMA) และปี 2003 (ISO/IEC) ( 2001 ) ( 2003 )
เวอร์ชั่นล่าสุดฉบับที่หกมิถุนายน 2555 ( มิถุนายน 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)

ข้อกำหนด 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

ดูเพิ่มเติม

หมายเหตุ

  1. ^ a b "ISO/IEC 23271:2012 - เทคโนโลยีสารสนเทศ -- โครงสร้างพื้นฐานภาษาทั่วไป (CLI)" . ISO . เก็บถาวรจากต้นฉบับเมื่อวันที่ 2 กรกฎาคม 2023
  2. ^ a b "ECMA-335" . ECMA International . มิถุนายน 2012. เก็บถาวรจากต้นฉบับเมื่อวันที่ 16 ตุลาคม 2023.
  3. ^ "บทนำสู่การพัฒนาแอปพลิเคชัน Windows Store ขั้นสูงโดยใช้ HTML5 และ JavaScript" Microsoft Press Store 15 ตุลาคม 2013 เก็บถาวรจากต้นฉบับเมื่อวันที่ 30 มีนาคม 2023
  4. ^ de Icaza, Miguel (15 กันยายน 2011). "ไขความลับ WinRT" . เก็บถาวรจากต้นฉบับเมื่อ 30 พฤศจิกายน 2023.
  5. ^ Galli, Peter (6 กรกฎาคม 2552). "มาตรฐาน C# และ CLI ของ ECMA" . Port 25 . เก็บถาวรจากต้นฉบับเมื่อ 9 กรกฎาคม 2552 . เรียกดูเมื่อ26 กันยายน 2552 .
  6. ^ v-alje (16 มีนาคม 2023). "[MS-DEVCENTLP]: คำมั่นสัญญาของชุมชน Microsoft" . Microsoft Learn . สืบค้นเมื่อ1 พฤษภาคม 2023 .
  • ISO/IEC 23271:2012 เทคโนโลยีสารสนเทศ — โครงสร้างพื้นฐานภาษาทั่วไป (CLI)

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Common_Language_Infrastructure&oldid=1329056080 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ โครงสร้างพื้นฐานภาษาทั่วไป

โครงสร้าง พื้นฐานภาษาทั่วไป ( 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 ซึ่งเดิมเรียกว่า .