پرش به محتوا

کورال

از ویکی‌پدیا، دانشنامهٔ آزاد
Coral 66
پارادایم برنامه‌نویسیprocedural, imperative, structured
خانوادهALGOL
طراحی شده توسطPhilip Woodward, I. F. Currie, M. Griffiths
توسعه‌دهندهRoyal Radar Establishment
ظهوریافته در۱۹۶۴؛ ۶۰ سال پیش (۱۹۶۴-خطا: زمان نامعتبر}})
Static, strong
دامنهLexical
زبان پیاده‌سازی
BCPL
بن‌سازه رایانش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,[۱] BSD Unix, Linux, Solaris
متأثر از
ALGOL, JOVIAL, Fortran

CORAL، مخفف Computer On-line Real-time Applications Language (زبان برنامه‌نویسی کاربردهای بلادرنگ آنلاین کامپیوتر)، یک زبان برنامه‌نویسی است که سال ۱۹۶۴ در موسسه سلطنتی رادار (RRE)، مالورن، ووسترشایر، در بریتانیا توسعه یافت.[۲] حرف R در ابتدا به معنای "رادار" بود، نه "بلادرنگ".[۳] این زبان عمدتاً تحت تأثیر JOVIAL و نتیجتاً ALGOL بود، اما زیرمجموعه هیچ‌کدام از آنها نیست.

معروف‌ترین نسخه، CORAL 66، سپس توسط I. F. Currie و M. Griffiths تحت نظارت کمیته بین‌موسسه‌ای برنامه‌های کامپیوتری (IECCA) توسعه یافت. تعریف رسمی آن، که توسط وودوارد، ودرال و گورمن ویرایش شد، برای اولین بار در سال ۱۹۷۰ منتشر شد.[۴]

در سال ۱۹۷۱، CORAL توسط وزارت دفاع به عنوان زبان برنامه‌نویسی برای کاربردهای نظامی آینده انتخاب شد و برای حمایت از این امر، برنامه استانداردسازی‌ای معرفی شد تا اطمینان حاصل شود که کامپایلرهای CORAL مشخصات مورد نیاز را برآورده می‌کنند. این فرایند بعداً توسط وزارت دفاع ایالات متحده در هنگام تعریف زبان Ada اتخاذ شد.

بررسی اجمالی[ویرایش]

Coral 66 یک زبان برنامه‌نویسی همه‌منظوره است که بر اساس ALGOL 60 طراحی شده و دارای برخی از ویژگی‌های Coral 64، JOVIAL، و Fortran است. این زبان شامل انواع رکورد ساخت‌یافته (مانند پاسکال) است و از بسته‌بندی داده‌ها در حافظه محدود پشتیبانی می‌کند (همچنین مانند پاسکال). مانند Edinburgh IMP، اجازه استفاده از زبان اسمبلی درون‌خطی (درج‌شده) را می‌دهد و همچنین بررسی زمان اجرا و تشخیص‌های خوبی ارائه می‌دهد. این زبان برای رایانش بلادرنگ و کاربردهای سیستم‌های تعبیه‌شده و برای استفاده در کامپیوترهایی با توان پردازش محدود، از جمله آنهایی که به حساب‌های ثابت محدود هستند یا از تخصیص حافظه پویا پشتیبانی نمی‌کنند، طراحی شده است.

این زبان یک استاندارد میان‌خدمتی برای برنامه‌نویسی نظامی بریتانیا بود[۵] و همچنین برای اهداف غیرنظامی در صنعت کنترل و اتوماسیون بریتانیا به‌طور گسترده‌ای مورد استفاده قرار گرفت. از این زبان برای نوشتن نرم‌افزار برای کامپیوترهای Ferranti[۶] و General Electric Company (GEC) از سال ۱۹۷۱ به بعد استفاده شد. همچنین پیاده‌سازی‌هایی نیز برای Interdata 8/32، PDP-11 VAX، و پلتفرم‌های Alpha و سرورهای HPE Integrity، برای Honeywell و Computer Technology Limited (CTL، بعدها ITL) Modular-1؛[۷] و نیز برای SPARC با سیستم عامل Solaris و Intel با سیستم عامل Linux وجود دارد.

ملکه الیزابت دوم اولین ایمیل را از سوی یک رئیس کشور از موسسه سیگنال‌ها و رادار سلطنتی از طریق ARPANET در ۲۶ مارس ۱۹۷۶ ارسال کرد. پیام به این مضمون بود: "این پیام به همه کاربران ARPANET اعلام می‌کند که کامپایلر Coral 66 ارائه شده توسط کامپیوتر GEC 4080 در موسسه سیگنال‌ها و رادار سلطنتی، مالورن، انگلستان، در ARPANET در دسترس است... Coral 66 زبان سطح بالای استاندارد بلادرنگی است که توسط وزارت دفاع پذیرفته شده است."[۸][۹]

از آنجا که Coral برای کارهای بلادرنگ مختلف و نه پردازش داده‌های عمومی دفتر کار طراحی شده بود، معادل استانداردی برای کتابخانه "stdio" وجود نداشت. IECCA یک بسته ورودی/خروجی (I/O) ابتدایی را توصیه کرد که همراه هر کامپایلری باشد (در سندی با عنوان ورودی/خروجی داده‌های کاراکتری در برنامه‌های کمکی Coral 66). بیشتر پیاده‌سازان این مشکل را با تولید رابط‌های Coral برای کتابخانه‌های موجود Fortran و بعداً C برطرف کردند.

مهم‌ترین سهم CORAL در محاسبات ممکن است اجرای کنترل کیفیت در کامپایلرهای تجاری باشد.[۷] برای اینکه یک کامپایلر CORAL توسط IECCA تأیید شود و به این ترتیب اجازه داشته باشد به عنوان یک کامپایلر CORAL 66 به بازار عرضه شود، کامپایلر مورد نظر باید یک مجموعه استاندارد شامل ۲۵ برنامه آزمایشی و ۶ برنامه بنچمارک را کامپایل و اجرا کند. این فرایند بخشی از فرایند تأیید استاندارد بریتانیا (BS) 5905 بود. این روش بعداً توسط وزارت دفاع ایالات متحده برای تأیید کامپایلرهای Ada مشاهده و اقتباس شد.

کد منبع یک کامپایلر Coral 66 (نوشته شده به زبان BCPL) بازیابی شده و سند تعریف رسمی Coral 66 توسط اداره چاپ سلطنتی (HMSO) اسکن شده است؛ اداره ثبت اختراعات وزارت دفاع مجوزی به پروژه تاریخچه کامپیوتر ادینبورگ صادر کرده تا به آنها اجازه دهد هر دو کد و مرجع زبان را برای استفاده غیرتجاری به صورت آنلاین قرار دهند.

گونه‌ها[ویرایش]

یک گونه از Coral 66 به نام PO-CORAL در اواخر دهه ۱۹۷۰ تا اوایل دهه ۱۹۸۰ توسط اداره پست عمومی بریتانیا (GPO) به همراه GEC، STC، و Plessey برای استفاده در کامپیوترهای کنترل مراکز تلفن دیجیتال System X توسعه یافت. این زبان بعداً با نام BT-CORAL شناخته شد زمانی که British Telecom از اداره پست جدا شد. ویژگی‌های منحصر به فرد این زبان تمرکز بر اجرای بلادرنگ، پردازش پیام، محدودیت در اجرای دستورها حین انتظار برای ورودی، و ممنوعیت استفاده از بازگشت (recursion) برای حذف نیاز به پشته بود.[نیازمند منبع]

منابع[ویرایش]

  1. "Gain the advantage with CORAL, CORAL+ and Context" (PDF). DXC Technology. September 2017. Archived (PDF) from the original on 2021-01-23. Retrieved 2021-12-29.
  2. FM1600B Microcircuit Computer Ferranti Digital Systems (PDF). Bracknell, Berkshire, UK: Ferranti Limited, Digital Systems Department. October 1968 [September 1968]. List DSD 68/6. Archived (PDF) from the original on 2020-05-19. Retrieved 2020-05-19.
  3. 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. p. 264. ISBN 978-0-11-772723-6.
  4. Woodward, Philip M. (1970). Official Definition of CORAL 66. Her Majesty's Stationery Office (HMSO). pp. vii+58. ISBN 0114702217 – via Internet Archive.
  5. "Coral 66 - Language Reference Manual - Manual - Computing History". www.computinghistory.org.uk. Archived from the original on 2023-07-31. Retrieved 2023-07-31.
  6. Gorman, B (June 1978). The Coral 66 Compiler for Ferranti ARGUS 500 Computer (Report). Royal Signals and Radar Establishment. Technical Note 799. Archived from the original on 17 March 2021. Retrieved 17 January 2018.
  7. ۷٫۰ ۷٫۱ "Lucid language may help European computers". New Scientist. 30 November 1972. p. 513. Retrieved 8 April 2019.[پیوند مرده]
  8. Metz, Cade (2012-12-25). "How the Queen of England Beat Everyone to the Internet". Wired. ISSN 1059-1028. Retrieved 2020-01-09.
  9. Left, Sarah (2002-03-13). "Email timeline". The Guardian (به انگلیسی). ISSN 0261-3077. Retrieved 2020-01-09.

پیوند به بیرون[ویرایش]