How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة

How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة

How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة

How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة

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

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

ملحوظة

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

مثال C ++

الملف: main.cpp

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

مثال على جافا

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


اقرأ أيضا في دروس تعلم عن جافا 

  1.   ماهي المشيدات في جافا ولماذا تستخدم مع أمثلة؟ 
  2. What are the advantages and disadvantages of Java programming language cons and pros? ما هي مزايا وعيوب لغة برمجة جافا  سلبياتها وإيجابياتها ؟