Différence entre C++ et Java

Différence clé entre C++ et Java

  • C++ utilise uniquement le compilateur, alors que Java utilise à la fois un compilateur et un interprète.
  • C++ prend en charge à la fois la surcharge d'opérateur et la surcharge de méthode tandis que Java ne prend en charge que la surcharge de méthode.
  • C++ prend en charge la gestion manuelle des objets à l'aide de mots-clés new et delete alors que Java a une collecte automatique des ordures intégrée.
  • C++ soutient les structures tandis que Java ne prend pas en charge les structures.
  • C++ soutient les syndicats tout en Java ne soutient pas les syndicats.

  • C++ Vs Java
    C++ Vs Java

Qu'est ce que le C++ Langue?

C++ est un langage de programmation informatique qui contient les fonctionnalités du langage de programmation C ainsi que de Simula67 (premier langage orienté objet). C++ introduit le concept de classe et d'objets.

Il encapsule les fonctionnalités du langage de haut et de bas niveau. Il est donc considéré comme un langage de niveau intermédiaire. Auparavant, il était appelé « C avec classes » car il possédait toutes les propriétés du langage C.

Qu'est ce que le Java Langue?

Java est un langage de programmation développé par Sun Microsystems. Une petite équipe de développement de logiciels a développé ce langage. Ils étaient connus sous le nom de Green Team, qui a lancé Java langue en 1991.

Histoire de C++

C++ Le langage a été développé par Bjarne Stroustrup aux laboratoires AT&T Bell. Stroustrup était un fervent partisan du langage C et un admirateur de Simula67. Il souhaitait combiner le meilleur des deux langages. Il souhaitait créer un langage qui prenne en charge les fonctionnalités de programmation orientée objet tout en conservant la puissance du langage C. Cela a abouti à C++.

Histoire de Java

Construction Java Le langage s'appelait initialement OAK. À l'origine, il a été développé pour gérer les appareils et les décodeurs. Oak a été un échec massif. Ainsi, en 1995, Sun a changé le nom en Java et modifié le langage pour tirer parti du secteur florissant du développement du World Wide Web.

Later, en 2009, Oracle Corporation a acquis Sun Microsystems et est devenue propriétaire de deux actifs logiciels clés de Sun : Java et Solaris.

Différence entre C++ et Java

Paramètres C++ Java
Lien familial Aucune relation stricte entre les noms de classe et les noms de fichiers. Dans C++, les fichiers d'en-tête et les fichiers d'implémentation sont utilisés pour une classe spécifique. La relation stricte est appliquée, par exemple, le code source de la classe PayRoll doit être dans PayRoll.java.
Mécanisme d'entrée Les instructions d'E/S utilisent in et cout, par exemple in » x ; cout« y; Le mécanisme d'entrée d'E/S est assez complexe car il lit un octet à la fois (System.in). La sortie est simple, par exemple System.out.println(x);
Compilateur et interprète C++ ne prend en charge que le compilateur Java prend en charge à la fois le compilateur et l'interpréteur
Compatibilité avec d'autres langues Compatible avec le code source C, sauf cas exceptionnels. Aucune compatibilité ascendante avec les langages précédents. La syntaxe est influencée par C/C++.
Contrôle d'accès et protection des objets Modèle flexible avec protection constante disponible Le modèle encombrant encourage une encapsulation faible.
Concept Écrire une fois compiler n'importe où Écrire une fois exécuter n'importe où partout
Prise en charge du type de programmation Permet à la fois la programmation procédurale et la programmation orientée objet. Prend en charge le modèle de programmation orienté objet.
Interface Autorise les appels directs aux bibliothèques système natives. Appelez uniquement via le Java Interface native et récemment Java Accès natif
Gestion de la mémoire Accessible au programmeur Système contrôlé
Hiérarchie racine C++ il n’existe pas une telle hiérarchie racine. C++ prend en charge la programmation procédurale et orientée objet ; c’est pourquoi on l’appelle un langage hybride. Java est un pur langage de programmation orienté objet. C'est. Pourquoi il suit une hiérarchie racine unique.
Meilleures fonctionnalités C++ prend en charge les fonctionnalités orientées objet. Fonctionnalités de programmation procédurale. Java prend en charge la collecte automatique des déchets. Il ne prend pas en charge les destructeurs comme C++ t.
Aller à la déclaration C++ a une déclaration goto. Cependant, il n’est pas idéal d’utiliser une instruction goto. Java n'a pas de déclaration goto. Les mots-clés got et const sont réservés même s'ils ne sont pas utilisés.
Héritage multiple C++ fournir plusieurs héritages. Le mot-clé virtual est utilisé pour résoudre les problèmes lors d'héritages multiples s'il y en a. Java ne fournit pas d'héritage multiple.
Opérateur de résolution de portée C++ possède un opérateur de résolution de portée (: :) qui est utilisé pour définir une méthode en dehors d'une classe et pour accéder à une variable globale à partir de la portée où une variable locale existe également avec le même nom. Aucun opérateur de résolution de portée (: :) in Java. Les définitions de méthodes doivent se produire au sein d’une classe, il n’est donc pas nécessaire de résoudre la portée.
Méthode de support C++ prend en charge à la fois la surcharge de méthode et la surcharge d'opérateur Java prend uniquement en charge la surcharge de méthode. Il ne prend pas en charge la surcharge d'opérateur.
Portabilité La source doit être recompilée pour la plate-forme ; donc le code n'est pas portable. Les classes de bytecode sont transférables vers des JVM spécifiques à la plate-forme.
Sémantique de type Cohérence entre les types primitifs et les types d'objets. Différent pour les types primitifs et d'objet.
Bibliothèques Fonctionnalité principalement de bas niveau Des cours massifs pour des prestations de haut niveau.
Détection des erreurs d'exécution Responsabilité du programmeur. Responsabilité du système.
Fonctions et données Les fonctions et les données peuvent exister en dehors de toute classe, des portées globales et d'espace de noms sont disponibles. Toutes les fonctions et données existent au sein des classes ; la portée du package est disponible.
Plateforme complète C++ les programmes dépendent de la plate-forme. Ils doivent être compilés pour une plateforme particulière. Java les programmes sont indépendants de la plate-forme. Java les programmes sont écrits pour Java Machine virtuelle (JVM). Il fonctionnera sans avoir besoin de recompilation.
Détection des erreurs d'exécution In C++, Il est de la responsabilité du programmeur de vérifier les erreurs. Il est de la responsabilité du système de vérifier les erreurs dans le programme.
Aiguille C++ pointeurs de support. Java n'offre qu'une prise en charge limitée des pointeurs.
Structure Il soutient les structures. Il ne prend en charge aucun support pour les structures.
unions C++ soutient les syndicats. Java ne soutient pas les syndicats.
Gestion des objets C++ prend en charge la gestion manuelle des objets à l’aide de mots-clés nouveaux et supprimés. Java est lourd dépend de la collecte automatique des déchets. Il ne prend pas en charge les destructeurs.

Résumez cet article avec :