الکتروهایو

هوش مصنوعی / الکترونیک / برنامه‌نویسی

یک پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

برنامه نویسی امری(Imperative) و اعلانی(Declarative) و مفاهیم آنها

برنامه نویسی امری(Imperative) و اعلانی(Declarative) در الکتروهایو
در این مقاله می‌خوانید:

زمان تخمینی مطالعه: 4 دقیقه

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

برنامه نویسی امری(Imperative) و اعلانی(Declarative) و مفاهیم آنها

برنامه نویسی امری(Imperative)

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

  • در این پاردایم برنامه‌ها نحوه انجام آن را مشخص می‌کنند
  • جریان کنترل محاسبات را توصیف می‌کند
  • هدف اصلی آن توصیف چگونگی رسیدن و یا تکمیل است
  • از مزایای آن می‌توان به سهولت در یادگیری و خواندن، مدل مفهومی ساده برای درک و غیره اشاره کرد
  • انوع آن شامل برنامه نویسی رویه‌ای، برنامه نویسی شی‌گرا، رویکرد پردازش موازی است
  • کاربر مجاز به تصمیم گیری و یا دستور دادن به کامپایلر است
  • این پارادایم دارای عوارض جانبی بوده و در مقایسه با برنامه نویسی اعلانی شامل متغیرهای قابل تغییر است
  • کنترل کامل را به توسعه دهندگان می‌دهد که در برنامه نویسی سطح پایین بسیار مهم است
  • در برنامه نویسی امری، برنامه نویس مسئول بهینه سازی کد برای عملکرد بهتر است
  • در برنامه نویسی امری، متغیرها می‌توانند جهش یابند(Mutable)

برنامه نویسی اعلانی(Declarative)

همانطور که از نام آن پیداست یک نوع پارادایم برنامه نویسی است که توصیف می‌کند چه برنامه‌هایی باید اجرا شوند. توسعه دهندگان بیشتر نگران پاسخی هستند که دریافت می‌شود. اعلام می‌کند که چه نوع نتایجی را می‌خواهیم و زبان برنامه‌نویسی را کنار می‌گذاریم که به سادگی متوجه نحوه تولید آنها شویم. به عبارت ساده، عمدتاً بر نتیجه نهایی تمرکز دارد. منطق محاسبات را بیان می کند. Miranda، Erlang، Haskell، Prolog چند نمونه محبوب از برنامه نویسی اعلانی هستند. در ادامه ویژگی‌های این مدل برنامه نویسی آورده شده است:

  • در این پارادایم، برنامه‌ها مشخص می کنند که چه کاری باید انجام شود
  • به سادگی منطق محاسبات را بیان می‌کند
  • هدف اصلی آن توصیف نتیجه مورد نظر بدون دیکته مستقیم در مورد چگونگی به دست آوردن آن است
  • از مزایای آن می‌توان به کد با کارائی بالا اشاره کرد که با استفاده از روش‌ها، گسترش آسان، سطح بالای انتزاع و غیره قابل اعمال است
  • انواع آن شامل برنامه نویسی منطقی و برنامه نویسی تابعی است
  • در این مدل، یک کامپایلر مجاز به تصمیم گیری است
  • هیچ گونه عوارض جانبی ندارد و در مقایسه با برنامه نویسی امری، هیچ متغیر قابل تغییری(Mutable) را شامل نمی‌شود
  • ممکن است جریان تکراری را همراه با ساده‌سازی ساختار کد خودکار کند
  • در برنامه نویسی اعلامی، سیستم کد را بر اساس قوانین و محدودیت‌های مشخص شده توسط برنامه نویس بهینه می‌کند
  • در برنامه نویسی اعلانی، متغیرها معمولاً تغییرناپذیر(immutable) هستند

متدولوژی برنامه نویسی امری Imperative و اعلانی Declarative مفاهیمی مهم در علم برنامه نویسی و توسعه هستند و داشتن دانش کافی در مورد هر دو دسته کمک بزرگی در ایجاد سیستم‌ها با کارائی بالا دارند.

لوگو الکتروهایو

الکتروهایو در خدمت مخاطبان عزیز می‌باشد. ما در تیم الکتروهایو در تلاش برای تهیه مقالات و مطالب به روز هستیم. لطفا برای مطالب و مقالات بیشتر با ما همراه باشید.

مطالب مرتبط:

داده‌های اسمی Nominal Data - الکتروهایو

داده‌های اسمی Nominal Data چیست؟

داده‌های اسمی(Nominal Data) یکی از اساسی‌ترین انواع داده‌ها در تجزیه و تحلیل داده‌ها است. شناسایی و تفسیر آن در بسیاری از زمینه‌ها از جمله آمار، علوم کامپیوتر، روانشناسی و بازاریابی ضروری است. این مقاله ویژگی‌ها، کاربردها و تفاوت‌های داده‌های اسمی

ادامه مطلب »
مقدمه‌ای بر ژوپیتر نوت‌بوک Jupiter Notebook - سایت الکتروهایو

مقدمه‌ای بر ژوپیتر نوت‌بوک Jupiter Notebook برای یادگیری ماشین

ژوپیتر نوت‌بوک(Jupyter Notebook) یک پلتفرم وب منبع باز است که به توسعه دهندگان اجازه می‌دهد اسنادی را ایجاد و به اشتراک بگذارند که شامل متن روایت، کد زنده، تجسم‌ها و معادلات است. این پلتفرم مبتنی بر تجسم داده‌ها، تمیز کردن

ادامه مطلب »
تفاوت تصویر، عکس و نگاره چیست؟ - سایت الکتروهایو

تفاوت تصویر، عکس و نگاره چیست؟

امروزه، اکثر مردم هنگام بحث در مورد نمایش بصری یک شی در رایانه، تفاوت تصویر، عکس و نگاره را نمی‌دانند و آنها را مترادف هم در نظر می‌گیرند. اما برای ابهام هر یک از این موارد را به صورت زیر

ادامه مطلب »
خزنده وب Web Crawler چیست؟ - سایت الکتروهایو

خزنده وب Web Crawler چیست؟

تعریف خزنده وب خزنده وب یک ربات موتور جستجوی دیجیتال است که از کپی و ابرداده(Metadata) برای کشف و فهرست‌بندی صفحات سایت استفاده می‌کند. این مفهوم همچنین به عنوان ربات عنکبوتی(اسپایدر) نیز نامیده می‌شود، وب کراولرها در وب جهانی (از

ادامه مطلب »
مفهوم SIEM (مدیریت رویداد و امنیت اطلاعات) چیست؟

مفهوم SIEM (مدیریت رویداد و امنیت اطلاعات) چیست؟

SIEM یا مدیریت رویدادها و امنیت اطلاعات، گزارش‌ها و رویدادها را جمع‌آوری کرده و این داده‌ها را برای تجزیه و تحلیل بیشتر نرمال می‌کند که می‌توان از آنها به صورت تجسم، هشدار، جستجو، گزارش و موارد دیگر استفاده کرد. تیم‌های

ادامه مطلب »
داده‌های اسمی Nominal Data - الکتروهایو

داده‌های اسمی Nominal Data چیست؟

داده‌های اسمی(Nominal Data) یکی از اساسی‌ترین انواع داده‌ها در تجزیه و تحلیل داده‌ها است. شناسایی ...

حاشیه‌نویسی متن در هوش مصنوعی - سایت الکتروهایو

حاشیه‌نویسی متن در هوش مصنوعی

حاشیه‌نویسی داده به الگوریتم‌های یادگیری ماشین اجازه می‌دهد تا اطلاعات را درک و تفسیر کنند. ...

هوش مصنوعی در باستان شناسی و کاربردهای آن - سایت الکتروهایو

هوش مصنوعی در باستان شناسی چه کاربردهای می‌تواند داشته باشد؟

مکان‌های باستان‌شناسی ممکن است ثابت باشند، اما فرهنگ‌هایی که آنها را تولید کرده‌اند، پویا و ...

با الگوریتم تشخیص اشیاء FCOS آشنا شوید - سایت الکتروهایو

با الگوریتم تشخیص اشیاء FCOS آشنا شوید: تشخیص اشیاء تک مرحله‌ای کاملاً کانولوشنال

تشخیص اشیاء یک کار مهم در بینایی کامپیوتر است که با رسم کادرهای محدود کننده ...

تصویربرداری چند طیفی، دیدی جدید فراسوی نور مرئی - سایت الکتروهایو

تصویربرداری چند طیفی، دیدی جدید فراسوی نور مرئی

تصویربرداری چند طیفی تکنیکی است که نور را در طیف وسیعی از باندهای طیفی، فراتر ...