تفاوت کلیدی – برنامه نویسی اعلانی در مقابل امری
برنامه نویسی اعلانی و امری دو پارادایم برنامه نویسی رایج هستند. تفاوت اصلی بین برنامه نویسی Declarative و Imperative در این است که برنامه نویسی Declarative بر روی آنچه برنامه باید انجام دهد تمرکز می کند در حالی که برنامه نویسی Imperative بر نحوه رسیدن برنامه به نتیجه تمرکز می کند.
یک پارادایم برنامه نویسی برای طبقه بندی یک زبان برنامه نویسی بسته به ویژگی استفاده می شود. همچنین اجازه می دهد تا از یک الگو یا سبک خاص برای حل یک مشکل خاص پیروی کنید.
برنامه نویسی اعلانی چیست؟
برنامه نویسی اعلامی را می توان با استفاده از یک سناریوی واقعی توضیح داد. فرض کنید که کاربر باید ایمیل های جدید را بررسی کند. یک روش فعال کردن اعلانهای صندوق ورودی است. کاربر باید فقط یک بار اعلان ها را فعال کند و هر بار که ایمیل جدیدی می رسد، به صورت خودکار اعلان دریافت می کند. برنامه نویسی اعلانی مشابه آن است. سادگی را فراهم می کند. برنامه نویسی اعلانی بیان می کند که نتیجه مورد نیاز چیست. منطق یک محاسبات را بدون توصیف جریان کنترل توضیح می دهد.
شکل 01: پارادایم های برنامه نویسی
نمونه ای از برنامه نویسی اعلانی به شرح زیر است. ضرب کردن اعداد یک آرایه در یک ثابت و ذخیره آنها در یک آرایه جدید است.
var اعداد=[1, 2, 3];
var newnumbers=numbers.map(function(number){
اعداد بازگشتی5;
});
Console.log(newnumbers);
در مثال بالا، 'map' دستورالعمل هایی را برای تکرار هر آیتم در آرایه و فراخوانی تابع فراخوانی برای هر آیتم و ذخیره مقدار بازگشتی در آرایه جدید ارائه می دهد. این خروجی 5، 10، 15 را به دست می دهد. در این برنامه، هدف اصلی ضرب اعداد در 5 با استفاده از تابع نقشه انجام می شود. از هر عنصر عبور می کند و از تابع call back برای محاسبه و ذخیره مقادیر در آرایه جدید استفاده می کند. ارائه تمام مراحل الزامی نیست. تمرکز اصلی بر آنچه باید به دست آید داده شده است.
برنامه نویسی ضروری چیست؟
برنامه نویسی ضروری را می توان با استفاده از یک سناریوی دنیای واقعی مانند قبل توضیح داد. برای بررسی ایمیلهای جدید، کاربر میتواند وارد جیمیل شود و صفحه را بهروزرسانی کند تا بررسی کند که آیا ایمیلهای جدیدی دریافت کرده است یا خیر.این شبیه به برنامه نویسی ضروری است. هر مرحله برای رسیدن به نتیجه را توضیح می دهد. از دستورات برای بیان تغییرات در وضعیت برنامه استفاده می کند.
ضرب عناصر آرایه با یک ثابت و ذخیره مقادیر در یک آرایه جدید در برنامه نویسی امری به شرح زیر است.
var اعداد=[1, 2, 3];
var newnumbers=;
for(int i=0; i< numbers.length; i++) {
newnumbers.push(numbers5);
}
Console.log(newnumbers);
در مثال بالا، اعداد یک آرایه هستند. هنگام عبور از حلقه، هر عدد در 5 ضرب می شود و به آرایه اعداد جدید اضافه می شود. پس از پایان حلقه، محتوای اعداد جدید که 5، 10، 15 هستند چاپ می شود.
می توان مشاهده کرد که سبک امری تمام مراحل را برای رسیدن به کار فراهم می کند. نحوه تکرار از طریق آرایه با استفاده از متغیر شمارنده «i»، چند بار تکرار قبل از خارج شدن از حلقه و نحوه درج مقادیر محاسبهشده در آرایههای جدید و غیره را بیان میکند.
همان مشکل با استفاده از برنامه نویسی اعلانی و امری حل شد.
تفاوت بین برنامه نویسی اعلانی و امری چیست؟
برنامه نویسی اعلانی در مقابل برنامه نویسی ضروری |
|
برنامهنویسی اعلامی یک الگوی برنامهنویسی است که منطق یک محاسبات را بدون توصیف جریان کنترل آن بیان میکند. | برنامه نویسی امری یک الگوی برنامه نویسی است که از عباراتی استفاده می کند که وضعیت برنامه را تغییر می دهد. |
تمرکز اصلی | |
برنامه نویسی اعلامی بر آنچه برنامه باید انجام دهد تمرکز دارد. | برنامه نویسی ضروری بر این تمرکز دارد که چگونه برنامه باید به نتیجه برسد. |
انعطاف پذیری | |
برنامهنویسی اعلانی انعطافپذیری کمتری را فراهم میکند. | برنامه نویسی ضروری انعطاف پذیری بیشتری را فراهم می کند. |
پیچیدگی | |
برنامه نویسی اعلامی برنامه را ساده می کند. | برنامه نویسی ضروری می تواند پیچیدگی برنامه را افزایش دهد. |
دستهبندی | |
برنامه نویسی تابعی، منطقی، پرس و جو در برنامه نویسی اعلانی قرار می گیرد. | برنامه نویسی رویه ای و شی گرا در برنامه نویسی ضروری قرار می گیرد. |
خلاصه – برنامه نویسی اعلانی در مقابل امری
این مقاله تفاوت بین دو پارادایم اصلی برنامه نویسی را مورد بحث قرار می دهد که برنامه نویسی اعلانی و ضروری هستند.تفاوت بین برنامه نویسی دکلراتیو و امری در این است که برنامه نویسی اعلامی بر آنچه برنامه باید انجام دهد تمرکز می کند در حالی که برنامه نویسی امری بر چگونگی دستیابی برنامه به نتیجه تمرکز می کند.