زبان برنامه‌نویسی ای‌بی‌سی

از ویکی‌پدیا، دانشنامهٔ آزاد
ای‌بی‌سی
طراحی شده توسطلئو گورتس، لامبرت میرتنس، و استیون پمبرتون
توسعه‌دهندهCWI
انتشار پایدار
۱٫۰۵٫۰۲
وبگاه

زبان برنامه‌نویسی ای‌بی‌سی (به انگلیسی: ABC) یک زبان برنامه‌نویسی همه منظورهٔ دستوری و یک محیط برنامه‌نویسی است که در CWI کشور هلند تولید شده‌است. افرادی مثل گورتس، لامبرت میرتنس، و استیون پمبرتون آن را توسعه داده‌اند. این زبان تعاملی، ساختار یافته، سطح بالا است، و برای استفاده به جای بیسیک، پاسکال، یا AWK ایجاد شده‌است. این زبان به منظور برنامه‌نویسی سیستم ایجاد نشده‌است، بلکه برای آموزش و ایجاد پروتوتایپ ایجاد شده‌است.

ای‌بی‌سی تنها دارای پنج نوع داده پایه است. این زبان به تعریف متغیر نیاز ندارد. تو در تویی جملات با میزان دندانه‌گذاری مشخص می‌شود. دارای امکانات حساب با دقت نامحدود، رشته‌ها و آرایه‌ها با اندازه نامحدود، و ویژگی‌های دیگری که کار را برای تازه‌کاران آسان‌تر می‌کند است.

ای‌بی‌سی تأثیر بزرگی بر طراحی زبان برنامه‌نویسی پایتون داشت. خودو فان روسوم، طراح پایتون، در اوایل دهه هشتاد میلادی چندین سال بر روی سیستم ای‌بی‌سی کار می‌کرد.

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

طراحان این زبان ادعا می‌کنند که برنامه‌های ABC معمولاً حدود یک چهارم اندازه برنامه‌های پاسکال و C معادل با آن هستند و خوانایی بیشتری دارند. ویژگی‌های کلیدی عبارتند از:

  • تنها پنج نوع داده‌های اولیه.
  • متغیر نیاز ندارد.
  • حمایت صریح و روشن برای برنامه‌نویسی از بالا به پایین
  • عبارت‌های تودرتو توسط تو رفتگی از طریق قانون off-side نشان داده می‌شوند.
  • دقت نامحدود، لیست و رشته‌ها با طول نامحدود، پشتیبانی از تعامد و سهولت استفاده توسط افراد تازه‌کار

ABC در اصل یک پیاده‌سازی یکپارچه است که به دلیل عدم توانایی در پاسخ گویی به نیازهای جدید طراحی شد. این زبان مانند ایجاد یک رابط کاربر گرافیکی نمی‌تواند به‌طور مستقیم به سیستم فایل و سیستم عامل دسترسی داشته باشد.

سیستم کامل ABC شامل یک محیط برنامه‌نویسی با ویرایش مستقیم نحو، پیشنهادها و متغیرهای مداوم و فضای کاری متعدد است؛ در حال حاضر نسخه ۱٫۰۵٫۰۲ از آن موجود است، و منتقل شده به یونیکس، DOS، آتاری و اپل مکینتاش می‌باشد.

مثال[ویرایش]

تابع نمونه words برای جمع‌آوری مجموعهٔ تمامی کلمات یک سند در زیر آمده‌است:

 HOW TO RETURN words document:
    PUT {} IN collection
    FOR line IN document:
       FOR word IN split line:
          IF word not.in collection:
             INSERT word IN collection
    RETURN collection

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

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