Différences entre C ++ / Visual Basic et Java au niveau général (pour débutants et étudiants)

C ++ et Java sont quelques-uns des langages de programmation les plus populaires. Ils peuvent être comparés en détail, en comparant la vitesse, la frappe, les compilateurs, etc., mais pour un profane moyen, c'est trop, et il sera beaucoup plus facile de considérer leurs différences à un niveau général et de base, de sorte que même une personne qui est loin de la programmation et peut tirer des conclusions pour lui-même juste en regardant ce domaine. Déjà à ce stade, nous pouvons conclure quelle langue de quel paradigme vous convient. Et oui, la situation d'un tel choix est bien réelle - par exemple, pour les étudiants à des fins éducatives.

Pour ce faire, je vais essayer de considérer brièvement les principales constructions de langages de programmation, à savoir:

expressions: mathématique, logique, chaîne;
opérateurs: instruction composée, instruction d'affectation, instruction IF conditionnelle, boucles FOR et WHILE, instruction GOTO et autres;
sous-programmes: procédures et fonctions;
types de données: types de base, structures, classes, interfaces et modèles.

(Cet article n'est pas une traduction, mais mon analyse personnelle des informations collectées)

Expressions


Java


Expressions mathématiques


Une expression mathématique est une expression qui donne un nombre. Ils comprennent des variables, des fonctions et des constantes.

Les opérateurs arithmétiques de Java vous permettent d'effectuer des opérations mathématiques standard d'addition, de soustraction, de multiplication, etc. Il existe également dans le langage des opérateurs de décrémentation et d'incrémentation (augmentez ou diminuez la valeur d'une unité).

Expressions logiques


Une expression logique est une description d'une expression qui se traduit par vrai (vrai) ou faux (faux). Les opérateurs logiques ne fonctionnent qu'avec des opérandes de type booléen.
Tous les opérateurs logiques avec deux opérandes combinent deux valeurs logiques pour former la valeur logique résultante.

Java prend en charge plus de dix instructions: AND (logique et abrégé), OR (logique et abrégé), XOR, NOT, etc.

Expressions de chaîne


Expression de chaîne - manipulation de chaîne. Cela ressemble à une expression mathématique, mais le résultat est une nouvelle ligne.

Le langage Java vous permet d'ajouter, de soustraire, de diviser et de concaténer des chaînes. Une caractéristique distinctive de Java est la présence de la classe String, qui est fournie spécifiquement pour travailler avec des chaînes.

C ++ / Visual basic


Expressions mathématiques


C ++ et Visual Basic incluent également des opérateurs arithmétiques, des opérateurs de décrémentation et d'incrémentation, et la syntaxe d'expression prend également en charge les crochets et les moins unaires.

Comme dans le langage Java, ils ont des opérations plus complexes disponibles en tant que fonctions intégrées, par exemple, la racine carrée sqrt (x) et l'exposant exp (x).

Expressions logiques


Visual Basic utilise six opérateurs: en plus des opérateurs ET, OU, NON, XOR, les opérateurs d'équivalence et d'implication sont également utilisés.

En C ++, ils utilisent trois opérateurs logiques: AND, NOT et OR. Dans toutes les langues considérées, certains des opérateurs peuvent être utilisés pour plusieurs opérandes à la fois.

Expressions de chaîne


Contrairement à Java, en C ++ il n'y a pas de prise en charge intégrée pour un tel objet comme une chaîne, et si nécessaire, travaillez avec des chaînes (addition, soustraction, etc.) incluez la chaîne du fichier d'en-tête.

En Visual Basic, en raison de l'importance de travailler avec des chaînes, le type de données String est pris en charge, ce qui représente une séquence de caractères. Une variable de ce type peut prendre n'importe quelle expression qui se traduit par une chaîne.

Les opérateurs


Java


Toutes les langues en question sont similaires en ce qu'elles prennent en charge les opérateurs de boucle (FOR, WHILE), l'opérateur de condition IF, cependant, leur différence significative est qu'en Java il n'y a pas d'opérateur de transition goto en tant que tel: les mots clés const et goto sont enregistrés, cependant, ils ne sont pas utilisés.

C ++ / Visual basic


C ++ et Visual Basic, développés bien avant Java, ont un opérateur de transition goto, mais l'utilisation de cet opérateur est généralement indésirable.

Procédures et fonctions


Java


Un sous-programme est un groupe nommé et logiquement complet d'opérateurs de langage qui peut être appelé pour s'exécuter un certain nombre de fois à partir de divers endroits du programme. Les fonctions renvoient une valeur au programme principal, les procédures ne reviennent pas.
En Java, il n'y a pas de procédures ou de fonctions, ces deux entités sont appelées méthodes, mais elles peuvent également renvoyer ou non des valeurs, peuvent être appelées avec ou sans paramètres.

C ++ / Visual basic


En C ++, les routines sont implémentées en tant que fonctions. Un programme C ++ comprend une ou plusieurs fonctions qui doivent être décrites avant de les utiliser.
Les programmes Visual Basic se composent également de plusieurs routines qui sont divisées en procédures et fonctions.

Types de données


Java


En Java, pour tous les types numériques de base, certaines conventions sont utilisées indépendamment, qui sont indépendantes de l'implémentation particulière de l'environnement, ce qui garantit des résultats reproductibles sur une large gamme de plates-formes. De plus, Java n'a pas de structures struct et union, tout cela est combiné dans le concept de classes.

De plus, Java ne prend pas en charge les pointeurs (les soi-disant «liens» jouent leur rôle en Java), les modèles, la surcharge des opérateurs, les structures, etc.

C ++ / Visual basic


C ++ a hérité de C tous les types de données habituels de ce dernier. Ces types sont utilisés pour représenter des nombres entiers et réels de différentes tailles et précision. Malheureusement, la portée et la précision réelles de ces types varient en fonction de l'implémentation particulière du traducteur.

En raison de la dépendance du traducteur sur différentes plates-formes, le comportement du code C ++ et Visual Basic peut changer. C ++ essaie de fournir au programmeur la capacité d'encapsuler des données en déclarant des structures (struct) et du polymorphisme en utilisant des unions (union). Ces deux conceptions couvrent les limitations critiques et catastrophiques spécifiques à la machine en termes de taille et d'alignement.

C ++ et Visual Basic prennent en charge les pointeurs et l'arithmétique des pointeurs, la surcharge des opérateurs, etc.

Résumé


Le langage Java a été développé sous l'influence des langages qui l'ont précédé, notamment Visual Basic et surtout C ++, ce qui signifie qu'un certain nombre de constructions de ces langages coïncident, cependant, de nombreux défauts C ++ ont été corrigés en Java, ce qui a affecté les performances et les résultats du programme , et des mesures ont également été prises pour «simplifier» le langage par rapport au C ++, ce qui implique une différence significative entre Java et C ++. Malgré des constructions similaires, Java est très différent de C ++ et de Visual Basic.

PS Juste au cas où, je mentionnerai que je ne cherche pas à donner des conseils sur le choix d'une langue pour étudier ou la meilleure langue parmi celles considérées, mais seulement à fournir de la nourriture pour le raisonnement. Et au fait, comment avez-vous choisi votre premier langage de programmation, qu'est-ce qui était important pour vous en premier lieu? Ou étiez-vous «obligé» d'écrire sur quelque chose de spécifique dans une université?

Source: https://habr.com/ru/post/fr480112/


All Articles