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