ปะการัง
| ปะการัง 66 | |
|---|---|
| กระบวนทัศน์ | ขั้นตอน , คำสั่ง , มีโครงสร้าง |
| ตระกูล | อัลโกล |
| ออกแบบ โดย | ฟิลิป วูดเวิร์ด , ไอเอฟ เคอร์รี, เอ็ม. กริฟฟิธส์ |
| นักพัฒนา | สถาบันเรดาร์หลวง |
| ปรากฏครั้งแรก | 1964 ( 1964 ) |
| วินัยในการพิมพ์ | คงที่แข็งแกร่ง |
| ขอบเขต | คำศัพท์ |
| ภาษาการใช้งาน | บีซีพีแอล |
| แพลตฟอร์ม | CTL Modular-1 , DEC Alpha , GEC , Ferranti , Honeywell , HPE Integrity Servers , Interdata 8/32, PDP-11 , SPARC , VAX , x86 , Intel 8080 , Zilog Z80 , Motorola 68000 |
| โอเอส | OpenVMS , [ 1 ] BSD Unix , Linux , Solaris |
| ได้รับอิทธิพลจาก | |
| ALGOL , JOVIAL , Fortran | |
CORALซึ่งย่อมาจากComputer On-line Real-time Applications Languageเป็นภาษาโปรแกรมที่พัฒนาขึ้นครั้งแรกในปี 1964 ที่Royal Radar Establishment (RRE) เมือง Malvern มณฑล Worcestershireในสหราชอาณาจักร[ 2 ]ตัวอักษร R เดิมทีหมายถึง "radar" ไม่ใช่ "real-time" [ 3 ]ได้รับอิทธิพลหลักมาจากJOVIALและALGOLแต่ไม่ใช่ส่วนย่อยของทั้งสองภาษา
เวอร์ชันที่เป็นที่รู้จักกันอย่างแพร่หลายที่สุดคือCORAL 66ซึ่งต่อมาได้รับการพัฒนาโดย IF Currie และ M. Griffiths ภายใต้การดูแลของInter-Establishment Committee for Computer Applications (IECCA) คำจำกัดความอย่างเป็นทางการซึ่งแก้ไขโดยWoodward , Wetherall และ Gorman ได้รับการตีพิมพ์ครั้งแรกในปี 1970 [ 4 ]
ในปี 1971 กระทรวงกลาโหมได้เลือก CORAL เป็นภาษาสำหรับแอปพลิเคชันทางทหารในอนาคต และเพื่อสนับสนุนเรื่องนี้ จึงได้มีการนำโครงการกำหนดมาตรฐานมาใช้เพื่อให้มั่นใจว่าคอมไพเลอร์ของ CORAL เป็นไปตามข้อกำหนด กระบวนการนี้ต่อมาได้รับการนำไปใช้โดยกระทรวงกลาโหมของสหรัฐอเมริกาในขณะที่กำหนดนิยามของภาษาAda
ภาพรวม
Coral 66 เป็นภาษาโปรแกรมอเนกประสงค์ที่พัฒนามาจากALGOL 60โดยมีคุณสมบัติบางอย่างจาก Coral 64, JOVIALและFortranประกอบด้วยชนิดข้อมูลแบบมีโครงสร้าง (เช่นเดียวกับในPascal ) และรองรับการบรรจุข้อมูลลงในพื้นที่จัดเก็บข้อมูลที่มีจำกัด (เช่นเดียวกับใน Pascal) เช่นเดียวกับEdinburgh IMPมันอนุญาตให้ใช้ภาษาแอสเซมบลี แบบฝัง ตัว (inline assembly language) และยังมี การตรวจสอบและวินิจฉัยข้อผิด พลาดขณะรันไทม์ ที่ดี ได้ รับการออกแบบมาสำหรับการประมวลผลแบบเรียล ไทม์ และ แอปพลิเคชัน ระบบฝังตัวและสำหรับการใช้งานบนคอมพิวเตอร์ที่มีกำลังประมวลผลจำกัด รวมถึงคอมพิวเตอร์ที่จำกัดเฉพาะการคำนวณเลขจุดคงที่และคอมพิวเตอร์ที่ไม่รองรับการจัดสรรพื้นที่จัดเก็บข้อมูลแบบไดนามิก
ภาษานี้เป็นมาตรฐานระหว่างหน่วยงานสำหรับการเขียนโปรแกรมทางทหารของอังกฤษ[ 5 ]และยังได้รับการนำไปใช้อย่างกว้างขวางเพื่อวัตถุประสงค์ทางพลเรือนในอุตสาหกรรมการควบคุมและระบบอัตโนมัติของอังกฤษ มันถูกใช้ในการเขียนซอฟต์แวร์สำหรับทั้ง คอมพิวเตอร์ Ferranti [ 6 ]และGeneral Electric Company (GEC) ตั้งแต่ปี 1971 เป็นต้นไป นอกจากนี้ยังมีการใช้งานสำหรับแพลตฟอร์ม Interdata 8/32, PDP-11 , VAXและAlphaและเซิร์ฟเวอร์ HPE Integrity ; สำหรับHoneywellและสำหรับComputer Technology Limited (CTL ต่อมาคือ ITL) Modular-1 ; [ 7 ]และสำหรับSPARCที่ใช้SolarisและIntelที่ใช้Linux
สมเด็จพระราชินีนาถเอลิซาเบธที่ 2ทรงส่งอีเมลฉบับแรกจากประมุขแห่งรัฐจากหน่วยข่าวกรองและเรดาร์หลวงผ่านทางARPANETเมื่อวันที่ 26 มีนาคม พ.ศ. 2519 ข้อความระบุว่า "ข้อความนี้ถึงผู้ใช้ ARPANET ทุกท่าน ขอแจ้งให้ทราบถึงความพร้อมใช้งานของคอมไพเลอร์ Coral 66 บน ARPANET ซึ่งจัดทำโดย คอมพิวเตอร์ GEC 4080ที่หน่วยข่าวกรองและเรดาร์หลวง เมืองมัลเวอร์น ประเทศอังกฤษ ... Coral 66 เป็นภาษาโปรแกรมระดับสูงแบบเรียลไทม์มาตรฐานที่กระทรวงกลาโหม นำมาใช้ " [ 8 ] [ 9 ]
เนื่องจาก Coral มีเป้าหมายเพื่อใช้งานกับงานแบบเรียลไทม์ที่หลากหลาย มากกว่าการประมวลผลข้อมูลสำนักงานทั่วไป จึงไม่มีไลบรารีstdio ที่ เป็นมาตรฐาน IECCA แนะนำ ให้ใช้แพ็ก เกจอินพุต/เอาต์พุต (I/O) พื้นฐานควบคู่ไปกับคอมไพเลอร์ทุกตัว (ในเอกสารชื่อ " อินพุต/เอาต์พุตของข้อมูลอักขระในโปรแกรมยูทิลิตี้ Coral 66 ") ผู้พัฒนาส่วนใหญ่หลีกเลี่ยงวิธีนี้โดยการสร้างอินเทอร์เฟซ Coral สำหรับไลบรารี Fortran ที่มีอยู่แล้ว และต่อมาสำหรับไลบรารีC
ผลงานที่สำคัญที่สุดของ CORAL ในด้านการคำนวณอาจเป็นการบังคับใช้การควบคุมคุณภาพในคอมไพเลอร์ เชิง พาณิชย์[ 7 ]เพื่อให้คอมไพเลอร์ CORAL ได้รับการอนุมัติจาก IECCA และทำให้สามารถวางจำหน่ายคอมไพเลอร์ในฐานะคอมไพเลอร์ CORAL 66 ได้ คอมไพเลอร์ที่เสนอจะต้องคอมไพล์และรันชุดโปรแกรมทดสอบมาตรฐาน 25 โปรแกรมและโปรแกรมวัดประสิทธิภาพ 6 โปรแกรม กระบวนการนี้เป็นส่วนหนึ่งของ กระบวนการอนุมัติ มาตรฐานอังกฤษ (BS) 5905 วิธีการนี้ได้รับการสังเกตและปรับใช้ในภายหลังโดยกระทรวงกลาโหมของสหรัฐอเมริกาสำหรับการรับรองคอมไพเลอร์Ada
มีการกู้คืนซอร์สโค้ดของคอมไพเลอร์ Coral 66 (เขียนด้วยภาษาBCPL ) และเอกสาร นิยามอย่างเป็นทางการของ Coral 66จากสำนักงานสิ่งพิมพ์ของสมเด็จพระราชินีนาถ (HMSO) ก็ได้รับการสแกนแล้ว นอกจากนี้ สำนักงานสิทธิบัตรของกระทรวงกลาโหมได้ออกใบอนุญาตให้โครงการประวัติศาสตร์คอมพิวเตอร์เอดินบะระสามารถนำทั้งโค้ดและเอกสารอ้างอิงภาษาไปเผยแพร่ทางออนไลน์เพื่อการใช้งานที่ไม่ใช่เชิงพาณิชย์ได้
ตัวแปร
ภาษาโปรแกรม Coral 66 เวอร์ชันหนึ่งชื่อ PO-CORAL ได้รับการพัฒนาขึ้นในช่วงปลายทศวรรษ 1970 ถึงต้นทศวรรษ 1980 โดยสำนักงานไปรษณีย์กลาง ของอังกฤษ (GPO) ร่วมกับGEC , STC และPlesseyเพื่อใช้กับคอมพิวเตอร์ควบคุมระบบโทรศัพท์ดิจิทัลSystem X ต่อมาได้เปลี่ยนชื่อเป็น BT-CORAL เมื่อ บริษัท British Telecomแยกตัวออกมาจากสำนักงานไปรษณีย์ คุณสมบัติที่เป็นเอกลักษณ์ของภาษานี้คือการเน้นการประมวลผลแบบเรียลไทม์ การประมวลผลข้อความ การจำกัดการประมวลผลคำสั่งระหว่างรอรับข้อมูล และการห้ามใช้การเรียกซ้ำเพื่อขจัดความจำเป็นในการใช้สแต็ก
- ↑ "ได้เปรียบด้วย CORAL, CORAL+ และ Context" (PDF) DXC Technologyกันยายน 2017 เก็บถาวร(PDF)จากต้นฉบับเมื่อวันที่ 23 มกราคม 2021 เรียกดูเมื่อวันที่ 29 ธันวาคม 2021
- ↑ คอมพิวเตอร์ไมโครวงจร FM1600B บริษัท เฟอร์แรนติ ดิจิทัล ซิสเต็มส์ (PDF)แบร็กเนลล์ เบิร์กเชียร์ สหราชอาณาจักร: บริษัท เฟอร์แรนติ จำกัดแผนกระบบดิจิทัล ตุลาคม 1968 [กันยายน 1968] รายการ DSD 68/6 เก็บถาวร(PDF)จากต้นฉบับเมื่อวันที่ 19 พฤษภาคม 2020 เรียกดูเมื่อวันที่ 19 พฤษภาคม 2020
- ↑ Gough, Jack (1993). Watching the skies: a history of ground radar for the air defence of the United Kingdom by the Royal Air Force from 1946 to 1975. HMSO. หน้า264. ISBN 978-0-11-772723-6.
- ↑ Woodward, Philip M. (1970). คำจำกัดความอย่างเป็นทางการของ CORAL 66สำนักงานสิ่งพิมพ์ของสมเด็จพระราชินีนาถ (HMSO). หน้าvii+58. ISBN 0114702217–ผ่านทางInternet Archive
- ↑ "Coral 66 - คู่มืออ้างอิงภาษา - คู่มือ - ประวัติศาสตร์คอมพิวเตอร์" . www.computinghistory.org.uk . เก็บถาวรจากต้นฉบับเมื่อวันที่ 31 กรกฎาคม 2023 . เรียกดูเมื่อวันที่ 31 กรกฎาคม 2023 .
- ↑ Gorman, B (มิถุนายน 1978). คอมไพเลอร์ Coral 66 สำหรับคอมพิวเตอร์ Ferranti ARGUS 500 (รายงาน). สำนักสัญญาณและเรดาร์แห่งราชวงศ์. บันทึกทางเทคนิค 799. เก็บถาวรจากต้นฉบับเมื่อวันที่ 17 มีนาคม 2021. สืบค้นเมื่อ17 มกราคม 2018 .
- 1 2 "ภาษาที่ชัดเจนอาจช่วยคอมพิวเตอร์ในยุโรปได้"นิวไซเอนทิสต์ 30 พฤศจิกายน 1972 หน้า513 สืบค้นเมื่อ 8 เมษายน 2019
- ↑ Metz, Cade (25 ธันวาคม 2012). "วิธีที่สมเด็จพระราชินีแห่งอังกฤษเอาชนะทุกคนในการเข้าถึงอินเทอร์เน็ต" . Wired . ISSN 1059-1028 . สืบค้นเมื่อ9 มกราคม 2020 .
- ↑ซ้าย, ซาราห์ (13 มีนาคม 2545). "ลำดับเหตุการณ์อีเมล" . เดอะการ์เดียน . ISSN 0261-3077 . สืบค้นเมื่อ9 มกราคม 2563 .
ลิงก์ภายนอก
- โปรแกรมทดสอบ CORAL 66ที่ดึงมาจากรายงานผู้ตอบสนองการทดสอบ
- เกณฑ์มาตรฐาน CORAL 66
- มาตรฐาน BS5905 CORAL 66
- DEF STAN 05-47
- ไลบรารีการเชื่อมต่อ PDP-11 CORAL/ASM
- สคริปต์แก้ไขของ ECCE สำหรับแปล CORAL 66เป็นEdinburgh IMP