C++ هي تدعم البرمجة بال OOP
اما ال C فلا , لانها اقدم
أول إصدارات لغة سي++ كانت مجرد معالجة مسبقة preprocessor وليس لها مصنف compiler مستقل. بمعنى أنك تعطيه برنامج بلغة c++ على شكل ملف cpp فيحوله إلى c ثم يصنفه إلى برنامج تنفيذي. ما المغزى من هذه المعلومة؟ أن كل برنامج بلغة سي++ يمكن إعادة كتابته بلغة سي وأن سي++ مجرد مكياج على صيغة سي لتحسين مقروئية الملفات.
نواة لينكس كتبت على سي وليس سي++. وهناك مكتبات رسومية مثل gtk فيها قدر عالي من البرمجة الموجهة للكائنات لكنها كتبت على سي (مع أن اللغة لا تدعم البرمجة الكينونية).
البرمجة الكينونية ليست صياغة شكلية تقدمها لك اللغة بل هي طريقة تصميمك وتنظيمك أنت للكود.
بمعنى لو كتبت برنامج في لغة كينونية صرفة (مثل جافا) لا تسمح بالبرمجة الإجرائية وتلزمك بالبرمجة الكينونية لكن الكود الخاص بك كان مليء بالأحاديات singleton ودوال الصنف static class methods فهذا يعني أنك لم تستفد من البرمجة الكينونية سوى تعقيد الكود.
التعليقات