logo

C ++ مقابل جافا

هناك العديد من الاختلافات والتشابهات بين برمجة سي++ اللغة و جافا . فيما يلي قائمة بأهم الاختلافات بين C++ وJava:

مؤشر المقارنة سي ++جافا
منصة مستقلة تعتمد لغة C++ على النظام الأساسي.Java مستقلة عن النظام الأساسي.
تستخدم بشكل رئيسي ل يستخدم C++ بشكل أساسي لبرمجة النظام.تستخدم Java بشكل أساسي لبرمجة التطبيقات. يتم استخدامه على نطاق واسع في التطبيقات المستندة إلى Windows والويب والمؤسسات وتطبيقات الهاتف المحمول.
هدف التصميم تم تصميم C++ لبرمجة الأنظمة والتطبيقات. لقد كان امتدادًا لل لغة البرمجة سي .تم تصميم Java وإنشائها كمترجم لأنظمة الطباعة ولكن تم توسيعها لاحقًا كدعم لحوسبة الشبكة. وقد تم تصميمه ليكون سهل الاستخدام ويمكن الوصول إليه لجمهور أوسع.
اذهب إلى يدعم C++ عبارة goto.Java لا تدعم عبارة goto.
تعدد الميراث يدعم C++ الميراث المتعدد.لا تدعم Java الوراثة المتعددة من خلال الفصل. ويمكن تحقيق ذلك باستخدام واجهات في جافا .
التحميل الزائد على المشغل يدعم لغة C++ التحميل الزائد للمشغل .لا تدعم Java التحميل الزائد للمشغل.
المؤشرات يدعم C++ المؤشرات. يمكنك كتابة برنامج مؤشر في C++.تدعم Java المؤشر داخليًا. ومع ذلك، لا يمكنك كتابة برنامج المؤشر في جافا. هذا يعني أن Java قامت بتقييد دعم المؤشر في Java.
مترجم ومترجم يستخدم C++ المترجم فقط. يتم تجميع لغة C++ وتشغيلها باستخدام برنامج التحويل البرمجي الذي يحول كود المصدر إلى كود الآلة، لذا فإن لغة C++ تعتمد على النظام الأساسي.تستخدم Java كلاً من المترجم والمترجم الفوري. يتم تحويل كود مصدر Java إلى bytecode في وقت التجميع. يقوم المترجم بتنفيذ هذا الرمز الثانوي في وقت التشغيل وينتج الإخراج. يتم تفسير Java ولهذا السبب فهي مستقلة عن النظام الأساسي.
الاتصال حسب القيمة والاتصال حسب المرجع يدعم C++ كلاً من الاتصال حسب القيمة والاتصال حسب المرجع.تدعم Java الاتصال حسب القيمة فقط. لا يوجد استدعاء حسب المرجع في Java.
الهيكل والاتحاد يدعم C++ الهياكل والنقابات.جافا لا تدعم الهياكل والنقابات.
دعم الموضوع لا يحتوي C++ على دعم مدمج لسلاسل الرسائل. يعتمد على مكتبات الطرف الثالث لدعم سلسلة الرسائل.جافا لديها المدمج في خيط يدعم.
تعليق التوثيق C++ لا يدعم التعليقات التوثيقية.تدعم Java تعليق التوثيق (/** ... */) لإنشاء وثائق لكود مصدر Java.
الكلمة الرئيسية الافتراضية يدعم C++ الكلمة الأساسية الافتراضية حتى نتمكن من تحديد ما إذا كنا سنتجاوز الوظيفة أم لا.لا تحتوي Java على كلمة رئيسية افتراضية. يمكننا تجاوز جميع الأساليب غير الثابتة بشكل افتراضي. بمعنى آخر، تكون الأساليب غير الثابتة افتراضية بشكل افتراضي.
التحول الأيمن غير الموقعة >>> لا يدعم C++ عامل التشغيل >>>.تدعم Java عامل التحويل لليمين غير الموقع >>> الذي يملأ الصفر في الأعلى للأرقام السالبة. بالنسبة للأرقام الموجبة، فإنه يعمل بنفس طريقة عامل التشغيل >>.
شجرة الميراث يقوم C++ دائمًا بإنشاء شجرة وراثة جديدة.تستخدم Java دائمًا شجرة وراثة واحدة لأن جميع الفئات هي فرع من فئة الكائن في Java. فئة الكائن هي جذر ميراث شجرة في جافا.
المعدات C++ أقرب إلى الأجهزة.Java ليست تفاعلية جدًا مع الأجهزة.
وجوه المنحى C++ هي لغة موجهة للكائنات. ومع ذلك، في لغة C، لا يمكن إنشاء تسلسل هرمي لجذر واحد.جافا هي أيضا وجوه المنحى لغة. ومع ذلك، كل شيء (ما عدا الأنواع الأساسية) هو كائن في Java. إنه تسلسل هرمي لجذر واحد حيث يتم اشتقاق كل شيء من java.lang.Object.

ملحوظة

مامتا كولكارني
  • لا تدعم Java الوسائط الافتراضية مثل C++.
  • لا تدعم Java ملفات الرأس مثل C++. تستخدم Java الكلمة الأساسية للاستيراد لتضمين فئات وطرق مختلفة.

مثال لبرنامج C++

الملف: main.cpp

 #include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; } 

انتاج:

 Hello C++ Programming 

مثال لبرنامج جافا

الملف: Simple.java

 class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } } 

انتاج:

 Hello Java