آشنایی با تفاوت های برنامه نویسی Functional و OOP

سلام به همه پی وی لرنی های عزیز!
برنامه نویسی Functional برنامه نویسی است که بر ارزیابی عملکردها و ایجاد ساختار و عناصر برنامه های رایانه ای تأکید دارد. برنامه نویسی Functional  بر روی اجرای دستورات یا statements ها کار نمی کند بلکه به بیان آن می پردازد. برنامه نویسی Functional پشتیبانی زیادی از برنامه نویسی structured دارد. اما برنامه نویسی OOP به برنامه نویسی شی گرا گفته می شود. برنامه نویسی شی گرا یک روش برنامه نویسی مبتنی بر ایجاد اشیاء است. اشیاء نمونه هایی از کلاس ها هستند که داده های مربوط به فیلد ها ، توابع و متود ها را در اختیار دارند. در برنامه نویسی شی گرا، از اشیاء به عنوان شهروندان درجه یک یاد می شود.
در این مقاله می خواهیم به آشنایی با تفاوت های برنامه نویسی Functional و OOP بپردازیم.

آشنایی با تفاوت های برنامه نویسی Functional و OOP

بیایید پیش از آن که به سراغ به آشنایی با تفاوت های برنامه نویسی Functional و OOP برویم؛ مختصری راجع بر هر یک بیشتر بدانیم.

برنامه نویسی Functional

برنامه نویسی Functional از زبان های برنامه نویسی مانند Lisp ، Clojure ، Wolfram ، Erlang ، Haskell ، F # ، R و سایر زبان های برجسته و خاص دامنه پشتیبانی می کند.
برنامه نویسی Functional مزایایی مانند کارآیی ، ارزیابی lazy ، توابع تو در تو،bug-free code، برنامه نویسی موازی و غیره را فراهم می کند.

برنامه نویسی OOP (برنامه نویسی شی گرا)

برنامه نویسی OOP یا برنامه نویسی شی گرا بر اساس ویژگی های اصلی که عبارتند از: ۱- Abstraction: کمک می کند تا اطلاعات مفید یا داده های مربوطه را به کاربر منتقل کنید و این باعث افزایش کارایی برنامه و ساده کردن امور می شود. ۲- Inheritance: به ارث بردن متود ها، توابع، خصوصیات و زمینه های یک کلاس پایه در کلاس مشتق شده ۳- Polymorphism: به بارگذاری و انجام یک کار کمک می کند که به عنوان پلی مورفیسم کامپایل و زمان اجرا معروف است. ۴- Encapsulation: به مخفی کردن داده های نامربوط از کاربر کمک می کند و از دسترسی غیر مجاز کاربر جلوگیری می نماید.
زبانهای برنامه نویسی شی گرا C ++، C #، Java، Python، Ruby، PHP، Perl، Objective-C، Swift، Dart، Lisp و غیره هستند. در یک برنامه شی گرا ، اشیاء به راحتی در برنامه دیگری قابل استفاده هستند.

مقایسه کلی

در ادامه آشنایی با تفاوت های برنامه نویسی Functional و OOP جدولی را ارئه کرده ایم که می تواند در شناخت عمده ترین تفاوت های این دو مفید باشد.

تفاوت های اساسیFunctional ProgrammingOOP
تعریفبرنامه نویسی کاربردی بر ارزیابی عملکردها تأکید دارد.برنامه نویسی شی گرا یا OOP بر اساس مفهوم اشیاء است.
داده هابرنامه نویسی Functional از داده های غیرقابل تغییر استفاده می کند.برنامه نویسی از داده های قابل تغییر استفاده می کند.
مدلبرنامه نویسی کاربردی از یک مدل برنامه نویسی اعلانی ( declarative ) پیروی می کند.برنامه نویسی شی گرا از یک مدل برنامه نویسی ضروری پیروی می کند.
پشتیبانیپشتیبانی از برنامه نویسی موازیعدم پشتیبانی از برنامه نویسی موازی
اجرادر برنامه نویسی Functional می توان به اجرای قابل ترتیب statements پرداخت.در OOP ها ، Functional ها باید به ترتیب خاص اجرا شوند.
تکرار در عملکردبرنامه نویسی برای بازگشتی برای داده های تکراری استفاده می شود.در OOP ها ، حلقه ها برای داده های تکراری استفاده می شوند.
عنصرعناصر اصلی برنامه نویسی کاربردی متغیرها و توابع هستند.عناصر اصلی برنامه نویسی شی گرا ، اشیاء و روش ها هستند.
استفادهبرنامه نویسی Functional فقط در مواردی استفاده می شود که موارد کمی با کار بیشتری وجود داشته باشد.برنامه نویسی شی گرا زمانی مورد استفاده قرار می گیرد که بسیاری از کارها با تعداد کمی کار انجام شود.

کلام آخر

هدف هر دو برنامه نویسی Functional و برنامه نویسی OOP تهیه کد بدون اشکال است که می تواند به راحتی قابل فهم، کدگذاری ، مدیریت و توسعه سریع باشد. در برنامه نویسی Functional، داده ها را نمی توان در اشیاء ذخیره کرد و فقط با ایجاد توابع می توان آنها را تغییر داد. در برنامه نویسی OOP داده ها در اشیاء ذخیره می شوند. برنامه نویسان شی گرا به طور گسترده ای از برنامه نویسی OOP استفاده می نمایند.

امیدوارم این مقاله مفید بوده باشد.
با پی وی لرن همراه باشید.

به اشتراک بگذارید