توی برنامه نویسی procedural ما پروژه مون از توابع تشکیل شده و شرایط مختلف در کد از طریق متغیر های shared بیان میشه در صورتیکه در oop از طریق ارسال پیام این کار انجام میشه.در برنامه نویسی procedure ما چیزی به نام وراثت و کپسوله سازی نداریم.
از طرف دیگه شما تو بحث کد نویسی هم یک سری مزیت ها تو OOP دارید تو procedural شما بایستی کلیه پارامترهای موردنظر را با توابع پاس بدید که این خودش بحث مفصلی تو بحث call conversion هستش در صورتیکه توی کلاس این قضیه از طریق فیلدها و متغیر های عضو کلاس حل میشه.
درضمن تو کلاس ها مسئله miss caching هم نداریم چون متغیرهای عضو در کنار یکدیگر ذخیره میشن.