برنامه‌نویسی اعلانی

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

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

زبانهای معمول اعلانی شامل برنامه‌نویسی تابعی، عبارت باقاعده، برنامه‌نویسی منطقی می‌شوند.‎۱

تعریف[ویرایش]

زبان‌های اعلانی معمولاً به روشهای گوناگونی معرفی می‌شوند:‎۲

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

خلاصه[ویرایش]

زبان‌های اعلانی را می‌توان به منزله چتری فرض کرد که شامل چند نمونه ساختار برنامه نویسی معروف می‌باشد:‎۳

در این شیوه محاسبات و تحلیلات به مانند ارزیابی توابع ریاضیاتی رفتار می‌کنند و از داده‌های توضیحی (state) و بی ثبات (mutable) دوری می‌کنند. و بر خلاف برنامه‌نویسی دستوری که به تغییرات وضعیت درون برنامه‌ها تاکید دارد به کاربرد توابع تآکید می‌کند. از جملهٔ این گونه زبان‌های برنامه‌نویسی می‌توان به لیسپ و ای پی ال اشاره کرد که بعدها نمونه‌های پیشرفته آن مانند اسکیم ایجاد شد.

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

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

  • مشارکت‌کنندگان ویکی‌پدیا، «Declarative programming»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۲۶ آوريل ۲۰۱۱).
زبانهای دستوری
زبانهای منطق
زبانهای کاربردی

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

DECLARATIVE LANGUAGES