کول (زبان برنامه‌نویسی)

کول (زبان برنامه‌نویسی) (COOL مخفف Classroom Object Oriented Language) یک زبان برنامه‌نویسی است که به‌وسیلهٔ الکساندر ایکن برای استفاده در پروژهٔ درس کامپایلر طراحی شد. با اینکه که COOL برای یک پروژهٔ درسی، به اندازهٔ کافی جمع‌وجور است، اما خیلی از ویژگی‌های زبان‌های برنامه‌نویسی جدید مثل شی‌ها، قابلیت مدیریت حافظهٔ خودکار، نوع‌بندی ایستا به‌طور قوی و بازتاب آسان را داراست.

کول (زبان برنامه‌نویسی)
الگو برنامه‌نویسیبرنامه‌نویسی شیءگرا
طراحی شده توسطAlexander Aiken
توسعه‌دهندهAlexander Aiken
ظهوریافته در۱۹۹۶
static، وابستگی زیاد و کم به نوع، manifest
گویش
Cool 2004, Cool 2005, Cool 2006, Cool 2007, Cool 2008, unCool
متأثر از
Sather164, جاوا (زبان برنامه‌نویسی)، ام‌ال (زبان برنامه‌نویسی)، پاسکال (زبان برنامه‌نویسی)
تأثیر گذاشته بر
اکمل

مرجع مترجم کول با سی‌پلاس‌پلاس نوشته شده و به‌طور کامل با ابزار دامنهٔ عمومی ساخته‌شده‌است. این مرجع برای SPIM، شبیه‌ساز MIPS (میپس)، کد تولید می‌کند؛ بنابراین این زبان باید به راحتی با سایر بسترهای نرم‌افزاری ارتباط برقرار کند. این زبان برای آموزش کامپایلر در بسیاری از مراکز آموزشی از جمله دانشگاه کالیفرنیا، برکلی (جایی که برای اولین بار مورد استفاده قرار گرفت) و دانشگاه شهید بهشتی ایران استفاده شده‌است و نرم‌افزار آن نیز پایدار است.

این زبان ارتباطی با زبان COOL موجود در CLIPS ندارد.

ویژگی‌ها

ازآنجایی که هدف اصلی این زبان، استفاده در آموزش است، خیلی از ویژگی‌های زبان‌های برنامه‌نویسی کلی‌تر را ندارد. برای مثال این زبان از عملگر مقایسه‌ای کوچک‌تر پشتیبانی می‌کند اما از بزرگ‌تری نه. نحو این زبان ویژگی‌های کمی دارد و کتابخانهٔ استانداردش هم فقط چند کلاس اصلی و مهم را دارد. اگرچه کامپایلر از چند فایل منبع به عنوان ورودی پشتیبانی می‌کند اما ترجمهٔ جداگانه پشتیبانی نمی‌شود. هر برنامهٔ کول یک کلاس Main دارد که یک سازندهٔ بدون آرگومان دارد و جریان اجرا در آن شروع می‌شود. فضای نام در کول پشتیبانی نمی‌شود.

منابع

    مشارکت‌کنندگان ویکی‌پدیا. «Cool (programming language)». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۲۷ November ۲۰۱۳.

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.