Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

C++ Vs JAVA :Quelle est la différence ?

Qu'est-ce que le langage C++ ?

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

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

Qu'est-ce que le langage Java ?

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é le langage Java en 1991.

Histoire de C++

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

Histoire de Java

Le langage Java s'appelait initialement OAK. À l'origine, il a été développé pour la manipulation d'appareils et de décodeurs. Oak a été un échec massif. Ainsi, en 1995, Sun a changé le nom en Java et a modifié le langage pour tirer parti de l'activité de développement en plein essor du World Wide Web.

Plus tard, en 2009, Oracle Corporation a acquis Sun Microsystems et a pris possession de deux actifs logiciels clés de Sun :Java et Solaris.

DIFFÉRENCE CLÉ :

Différence entre C++ et Java

Paramètre C++ Java
Relation Aucune relation stricte entre les noms de classe et les noms de fichiers. En 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 de saisie 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 facile, par ex. System.out.println(x);
Compilateur et interpréteur 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 rétrocompatibilité avec les langues précédentes. 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 faible encapsulation.
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 l'interface native Java et récemment l'accès natif Java
Gestion de la mémoire Accessible au programmeur Contrôlé par le système
Hiérarchie racine C++ il n'y a pas une telle hiérarchie racine. C++ prend en charge la programmation procédurale et orientée objet; par conséquent, on l'appelle un langage hybride. Java est un langage de programmation purement 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 et les fonctionnalités de programmation procédurale. Java prend en charge le ramasse-miettes automatique. Il ne prend pas en charge les destructeurs comme le fait C++.
Aller à l'instruction C++ a une instruction goto. Bien qu'il ne soit pas idéal d'utiliser une instruction goto. Java n'a pas d'instruction 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++ fournit multipleInheritance. 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++ a l'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 (: :) en Java. Les définitions de méthode doivent se produire dans une classe, il n'y a donc pas besoin de résolution de portée.
Méthode de prise en charge C++ prend en charge à la fois la surcharge de méthode et la surcharge d'opérateur Java ne prend en charge que la surcharge de méthode. Il ne prend pas en charge la surcharge des opérateurs.
Portabilité La source doit être recompilée pour la plate-forme ; par conséquent, le code n'est pas portable. Les classes de bytecode sont transférables aux JVM spécifiques à la plate-forme.
Sémantique des types Cohérence entre les types primitifs et objets. Différent pour les types primitifs et objets.
Bibliothèques Fonctionnalité principalement de bas niveau Massive, des classes 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 étendues globales et d'espace de noms sont disponibles. Toutes les fonctions et données existent dans les classes ; la portée du paquet est disponible.
Plateforme Les programmes C++ dépendent de la plate-forme. Ils doivent être compilés pour une plate-forme particulière. Les programmes Java sont indépendants de la plate-forme. Les programmes Java sont écrits pour Java Virtual Machine (JVM). Il fonctionnera sans avoir besoin de recompilation.
Détection des erreurs d'exécution En 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.
Pointeur Pointeurs de support C++. Java n'offre qu'une prise en charge limitée des pointeurs.
Structure Il prend en charge les structures. Il ne prend pas en charge les structures.
Syndicats C++ prend en charge les unions. Java ne prend pas en charge les unions.
Gestion des objets C++ prend en charge la gestion manuelle des objets à l'aide de nouveaux mots-clés et de suppression. Java est fortement dépendant du ramasse-miettes automatique. Il ne prend pas en charge les destructeurs.

Java

  1. Interface vs classe abstraite en Java :quelle est la différence ?
  2. La différence entre un générateur CA et CC
  3. Brownout Vs Blackout :quelle est la différence ?
  4. Thermoplastique vs plastique thermodurcissable :quelle est la différence ?
  5. Moteur à courant continu ou à courant alternatif :quelle est la différence ?
  6. Quelle est la différence entre la fabrication de métaux et le soudage de métaux ?
  7. Cornière en acier vs cornière en aluminium :quelle est la différence ?
  8. Découpe au jet d'eau pur ou abrasif - Quelle est la différence ?
  9. Air respirable et air comprimé – Quelle est la différence ?