الفرق بين ج و C++
الفرق الرئيسي بين C و C++
- لغة C هي لغة ذات توجه إجرائي، في حين أن C++ هي لغة برمجة كائنية التوجه.
- يدعم C المؤشرات فقط، بينما C++ يدعم كلاً من المؤشرات والمراجع.
- لا يسمح لك C باستخدام التحميل الزائد للوظيفة، في حين أن C++ يسمح لك باستخدام وظيفة التحميل الزائد.
- يدعم C أنواع البيانات المضمنة، في حين أن C++ يدعم أنواع البيانات المضمنة وكذلك المعرفة من قبل المستخدم.
- تتبع لغة C نهج البرمجة من أعلى إلى أسفل، في حين أن C++ يتبع نهج البرمجة من أسفل إلى أعلى.
- يتم استخدام مسح C وprintf للإدخال والإخراج القياسي، أثناء وجودهما في C++يتم توفير cin و cout لعمليات الإدخال والإخراج القياسية.
ما هي لغة البرمجة C؟
لغة C هي لغة برمجة متوسطة المستوى تم تطويرها في Bell Lab في عام 1972 على يد دينيس ريتشي. لغة سي يجمع بين ميزات اللغة ذات المستوى المنخفض وكذلك اللغة عالية المستوى. ومن ثم تعتبر لغة متوسطة المستوى.
C هي لغة برمجة كلاسيكية عالية المستوى تسمح لك بتطوير البرامج الثابتة والتطبيقات المحمولة. تم تطوير لغة C بهدف كتابة برامج النظام. إنها لغة مثالية لتطوير أنظمة البرامج الثابتة.
ما هي تفاصيل C++ لغة البرمجة؟
C++ هي لغة برمجة كمبيوتر تحتوي على ميزات لغة البرمجة C بالإضافة إلى Simula67 (أول لغة موجهة للكائنات). C++ قدم مفهوم الفئة والكائنات.
فهو يتضمن ميزات لغوية عالية ومنخفضة المستوى. لذلك، يُنظر إليها على أنها لغة متوسطة المستوى. في وقت سابق كان يطلق عليها "C مع الفئات" لأنها كانت تحتوي على جميع خصائص لغة C.
الفرق بين الفرق بين C و C++
أساس التمييز | C | C++ |
---|---|---|
نوع البرمجة | إنها لغة موجهة إجرائية. | وهي لغة برمجة كائنية التوجه. |
الرسالة | تتبع لغة C نهج البرمجة من أعلى إلى أسفل | C++ اتبع نهج البرمجة من أسفل إلى أعلى. |
امتداد الملف | امتداد الملف لبرنامج C هو .c | امتداد الملف للغة البرنامج c++ هو.cpp |
قسم البرنامج | في لغة البرمجة C، يتم تقسيم الكود البرمجي الكبير إلى أجزاء صغيرة تسمى الوظائف. | In C++ لغة برمجة، يتم تقسيم رمز البرنامج الكبير إلى كائنات وفئات. |
الهيكلية | البنية في C لا توفر ميزة إعلان الوظيفة. | هيكل في C++ يوفر ميزة الإعلان عن وظيفة كوظيفة عضو في الهيكل. |
دالة مضمنة | لا يسمح وظيفة مضمنة. | وهو يدعم وظيفة مضمنة. |
عمليات الإدخال والإخراج القياسية | في لغة C، يتم استخدام المسح الضوئي والطباعة للإدخال والإخراج القياسي | In C++ يتم توفير cin» و cout« لعمليات الإدخال والإخراج القياسية. |
حماية البيانات | في لغة C، لا يتم تأمين البيانات. | البيانات آمنة، لذا لا يمكن الوصول إليها عن طريق وظائف خارجية. (باستخدام مفهوم التغليف لـ OOPs) |
سهولة الترميز | C هي لغة برمجة قديمة توصف بأنها لغة التدريب العملي. في هذه اللغة، يجب عليك أن تطلب من البرنامج أن يفعل كل شيء. علاوة على ذلك، ستتيح لك هذه اللغة القيام بأي شيء تقريبًا. | C++ هي لغة امتداد لـ C. وهي تسمح بالتحكم بدرجة عالية في التعليمات البرمجية الموجهة للكائنات. |
التوافق مع اللغات الأخرى | لغة C غير متوافقة مع لغة أخرى. | C++ متوافق مع لغات البرمجة العامة الأخرى. |
مؤشر | يدعم C فقط Pointers. | C++ يدعم كلاً من المؤشرات والمراجع. |
متغير | في لغة C، يجب تعريف المتغير في بداية البرنامج. | C++ يسمح لك بإعلان المتغيرات في أي مكان في الوظيفة. |
نقطة التركيز | يركز C على الخطوات أو الإجراءات التي يتبع لحل مشكلة. |
C++ يؤكد على الأشياء وليس الخطوات أو الإجراءات. لديها مستوى تجريد أعلى. |
وظيفة التحميل الزائد | لا يسمح لك C باستخدام التحميل الزائد للوظيفة. | C++ يسمح لك باستخدام وظيفة التحميل الزائد. |
أنواع البيانات | لغة C لا تسمح لك بالإعلان أنواع البيانات المتسلسلة أو المنطقية. وهو يدعم أنواع البيانات المضمنة والبدائية. |
C++ يدعم أنواع البيانات String وBoolean. |
معالجة الاستثناء | C لا يدعم معالجة الاستثناءات. ومع ذلك، يمكن تنفيذ ذلك باستخدام بعض الحلول. | C++ يدعم معالجة الاستثناءات. علاوة على ذلك، يمكن تنفيذ هذه العملية باستخدام كتلة try وcatch. |
وظائف | لا يسمح بالوظائف ذات الترتيبات الافتراضية | السماح بالوظائف ذات الترتيبات الافتراضية. |
مساحة الاسم | وهو غائب في لغة C. | إنه موجود في C++ لغة. |
المصدر مدونة | كود مصدر البرنامج ذو التنسيق الحر. | تم تطويره أصلاً من لغة البرمجة C. |
علاقة | C هي مجموعة فرعية من C++. لا يمكن تشغيله C++ رمز. | C++ هي مجموعة شاملة من C. C++ يمكن تشغيل معظم كود C بينما لا يمكن تشغيل C C++ رمز. |
مدفوعا ب | لغة مدفوعة بالوظيفة | لغة يحركها الكائن |
تركز | يركز على الطريقة أو العملية بدلاً من البيانات. | يركز على البيانات بدلاً من الطريقة أو الإجراء. |
التغليف | لا يدعم التغليف. حيث أن البيانات والوظائف كيانات منفصلة وحرة. | يدعم التغليف. يتم تغليف البيانات والوظائف معًا ككائن. |
إخفاء المعلومات | C لا يدعم إخفاء المعلومات. في هذه اللغة، البيانات هي كيانات حرة ويمكن تغييرها خارج التعليمات البرمجية. | يؤدي التغليف إلى إخفاء البيانات، وبالتالي يتم استخدام هياكل البيانات والمشغلات وفقًا للغرض. |
إدارة الذاكرة | يوفر C وظائف malloc() و calloc() لتخصيص الذاكرة الديناميكية. | C++ يوفر مشغل جديد لهذا الغرض. |
أنواع البيانات | يدعم أنواع البيانات المضمنة. | يدعم أنواع البيانات المضمنة والمحددة من قبل المستخدم. |
المتغيرات العالمية | يسمح بإعلان متعدد للمتغيرات العالمية. | غير مسموح بالإعلان المتعدد للمتغيرات العالمية. |
مفهوم رسم الخرائط | التعيين بين البيانات والوظيفة معقد للغاية. | يمكن إنشاء التعيين بين البيانات والوظيفة بسهولة باستخدام "الفئات والكائنات". |
وراثة | الميراث غير مدعوم ج | الميراث ممكن في C++ لغة. |
ملف الرأس الافتراضي | يستخدم C ملف رأس stdio.h. | C++ يستخدم iosteam.h كملف رأس افتراضي. |
وظيفة افتراضية | مفهوم الوظائف الافتراضية موجود في لغة C. | لم يتم استخدام مفهوم الوظيفة الافتراضية في C++. |
الكلمات الرئيسية | تحتوي على 32 كلمة رئيسية. | يحتوي على 52 كلمة رئيسية. |
تعدد الأشكال | في C. تعدد الأشكال غير ممكن | مفهوم تعدد الأشكال يستخدم في C++. يعد تعدد الأشكال أحد أهم ميزات OOPS. |
برمجة واجهة المستخدم الرسومية | تقدم لغة C أداة GTK لبرمجة واجهة المستخدم الرسومية | C++ يدعم أدوات كيو تي لبرمجة واجهة المستخدم الرسومية |