ما هو ج؟
لغة C هي لغة برمجة موجهة هيكليًا أو إجرائيًا وهي مستقلة عن الآلة وتستخدم على نطاق واسع في التطبيقات المختلفة.
لغة C هي لغة البرمجة الأساسية التي يمكن استخدامها للتطوير من أنظمة التشغيل (مثل Windows) إلى البرامج المعقدة مثل قاعدة بيانات Oracle وGit ومترجم Python وغيرها الكثير. يمكن أن يطلق على لغة البرمجة C لغة برمجة الإله لأنها تشكل الأساس للغات البرمجة الأخرى. إذا كنا نعرف لغة C، فيمكننا بسهولة تعلم لغات البرمجة الأخرى. تم تطوير لغة C على يد عالم الكمبيوتر الكبير دينيس ريتشي في مختبرات بيل. تحتوي على بعض الميزات الإضافية التي تجعلها متميزة عن لغات البرمجة الأخرى.
كيفية الحصول على الرموز التعبيرية التفاح على الروبوت
ما هو C++؟
C++ هي لغة برمجة ذات أغراض خاصة تم تطويرها بواسطة بيارن ستروستروب في Bell Labs حوالي عام 1980. لغة C++ تشبه إلى حد كبير لغة C، وهي متوافقة جدًا مع C بحيث يمكنها تشغيل 99% من برامج C دون تغيير أي مصدر للتعليمات البرمجية على الرغم من أن C++ هي لغة برمجة موجهة للكائنات، لذلك فهي كذلك لغة برمجة أكثر أمانًا وجيدة التنظيم من لغة C.
دعونا نفهم الاختلافات بين C و C++.
فيما يلي الاختلافات بين C وC++:
لغة C هي لغة برمجة هيكلية، ولا تدعم الفئات والكائنات، بينما C++ هي لغة برمجة كائنية التوجه تدعم مفهوم الفئات والكائنات.
تدعم لغة C لغة البرمجة الهيكلية حيث يتم التحقق من التعليمات البرمجية سطرًا تلو الآخر، بينما تعد لغة C++ لغة برمجة موجهة للكائنات تدعم مفهوم الفئات والكائنات.
قام دينيس ريتشي بتطوير لغة C في مختبرات بيل بينما قام بيارن ستروستروب بتطوير لغة C++ في مختبرات بيل حوالي عام 1980.
C++ هي مجموعة شاملة من لغة البرمجة C. يمكن لـ C++ تشغيل 99% من كود C لكن لغة C لا يمكنها تشغيل كود C++.
تتبع لغة C النهج من أعلى إلى أسفل، بينما تتبع لغة C++ النهج من أسفل إلى أعلى. يقوم النهج التنازلي بتقسيم الوحدات الرئيسية إلى مهام؛ ويتم تقسيم هذه المهام إلى مهام فرعية، وهكذا. يعمل النهج التنازلي على تطوير وحدات المستوى الأدنى أولاً ثم وحدات المستوى التالي.
في لغة C، يمكن للغرباء التعامل مع البيانات بسهولة لأنها لا تدعم التغليف وإخفاء المعلومات بينما لغة C++ هي لغة آمنة للغاية، أي لا يمكن لأي غرباء التعامل مع بياناتها لأنها تدعم كلا من التغليف وإخفاء البيانات. في لغة C، الوظائف والبيانات هي الكيانات الحرة، وفي لغة C++، يتم تغليف جميع الوظائف والبيانات في شكل كائنات.
التحميل الزائد للوظائف هو ميزة تتيح لك الحصول على أكثر من وظيفة بنفس الاسم ولكنها تختلف في المعلمات. لا يدعم C وظيفة التحميل الزائد، بينما يدعم C ++ وظيفة التحميل الزائد.
تجاوز الوظيفة هو ميزة توفر التنفيذ المحدد للوظيفة، والتي تم تعريفها بالفعل في الفئة الأساسية. لا يدعم C تجاوز الوظيفة، بينما يدعم C ++ تجاوز الوظيفة.
لا يدعم C المتغيرات المرجعية، بينما يدعم C ++ المتغيرات المرجعية.
يحتوي C على 32 كلمة رئيسية، ويدعم C++ 52 كلمة رئيسية.
مساحة الاسم هي ميزة تجمع الكيانات مثل الفئات والكائنات والوظائف تحت اسم محدد. لا تحتوي لغة C على ميزة مساحة الاسم، بينما تدعم لغة C++ ميزة مساحة الاسم التي تتجنب تضارب الأسماء.
لا توفر لغة C دعمًا مباشرًا لمعالجة الاستثناءات؛ يحتاج إلى استخدام الوظائف التي تدعم معالجة الاستثناءات. يوفر C++ دعمًا مباشرًا لمعالجة الاستثناءات باستخدام كتلة محاولة الالتقاط.
في لغة C، يتم استخدام الدالتين scanf وprintf لعمليات الإدخال والإخراج، على التوالي، بينما في لغة C++، يتم استخدام cin وcout لعمليات الإدخال والإخراج، على التوالي.
تدعم لغة C وظائف calloc() و malloc() لتخصيص الذاكرة، ووظيفة free() لإلغاء تخصيص الذاكرة. يدعم C++ عامل تشغيل جديد لتخصيص الذاكرة وحذف عامل إلغاء تخصيص الذاكرة.
الوراثة هي ميزة تسمح للفئة الفرعية بإعادة استخدام خصائص الفئة الأصلية. لا تدعم لغة C الميراث بينما تدعم لغة C++ الميراث.
استخدامات برنامج C ملف الرأس أثناء استخدام برنامج C++ الملف الاساسي.
دعونا نلخص الاختلافات المذكورة أعلاه في شكل جدول.
خوارزمية رقيقة
لا. | ج | سي ++ |
---|---|---|
1) | يتبع C برمجة النمط الإجرائي. | لغة C++ متعددة النماذج. وهو يدعم كليهما إجرائية وموجهة نحو الكائن. |
2) | البيانات أقل أمانًا في لغة C. | في لغة C++، يمكنك استخدام المعدلات لأعضاء الفصل لجعله غير قابل للوصول للمستخدمين الخارجيين. |
3) | يتبع C نهج من أعلى إلى أسفل. | يتبع C++ نهج من أسفل إلى أعلى. |
4) | C لا يدعم التحميل الزائد للوظيفة. | يدعم C++ التحميل الزائد للوظيفة. |
5) | في لغة C، لا يمكنك استخدام الوظائف في البنية. | في C++، يمكنك استخدام الوظائف في البنية. |
6) | C لا يدعم المتغيرات المرجعية. | يدعم C++ المتغيرات المرجعية. |
7) | شركة، سكانف () و برينتف () تستخدم بشكل رئيسي للإدخال/الإخراج. | يستخدم C++ بشكل أساسي الدفق سين وكوت لإجراء عمليات الإدخال والإخراج. |
8) | التحميل الزائد للمشغل غير ممكن في C. | التحميل الزائد للمشغل ممكن في C++. |
9) | وتنقسم برامج C إلى الإجراءات والوحدات | وتنقسم برامج C++ إلى وظائف وفئات. |
10) | لا يوفر C ميزة مساحة الاسم. | يدعم C++ ميزة مساحة الاسم. |
أحد عشر) | معالجة الاستثناءات ليست سهلة في لغة C. يجب أن يتم تنفيذها باستخدام وظائف أخرى. | يوفر C++ معالجة الاستثناءات باستخدام كتلة Try and Catch. |
12) | C لا يدعم الميراث. | يدعم C++ الميراث. |