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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
ای‌بی‌سی
طراحی‌شده توسط لئو گورتس، لامبرت میرتنس، و استیون پمبرتون
توسعه‌دهنده 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

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

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