Quelle est la principale différence entre Microsoft Visual C # et Microsoft Visual C ++?


Réponse 1:

Les programmes C ++ sont généralement beaucoup plus rapides. En effet, si vous utilisez la pile matérielle, les programmes sont plus compatibles avec le cache. C ++ permet de construire des objets d'une classe dans n'importe quelle mémoire: tas, pile, statique, const, au moment de la compilation lorsque seul le tas est autorisé pour les classes C # et pour les structures sont pile et tas (converti en structure d'objet appelée `` boxe ''). Terminologie NET).

Les modèles C ++ sont également beaucoup plus puissants et, en conjonction avec des macros, ils vous permettent en fait de faire des adaptations de syntaxe en ligne avec la sémantique des champs. La métaprogrammation des modèles C ++ est connue pour être une programmation complète au moment de la compilation.

C # compilé en langage intermédiaire de .NET nommé MSIL. Puis lors de l'exécution ou de l'installation (jusqu'au développeur), le code est compilé en machine. Ce qui semblait bon en raison de la diversité des architectures de code machine. L'idée est venue de Java. Néanmoins, il existe .NET Native en cours de développement qui est sur le point de permettre la compilation directe sur le code machine pendant la compilation.

C # a un puissant framework .NET qui est également accessible pour C ++. Il est possible de mélanger C ++ natif et CNET .NET dans la même bibliothèque de liens dynamiques qui sont appelés assemblys dans la terminologie .NET.

Fondamentalement, C ++ permet de tirer parti du matériel tout ce qui est possible lorsque C # permet l'adaptation tardive du code construit à de nouvelles architectures malgré le fait que les nouvelles versions de .NET implémentées pour ce nouveau matériel nécessitent généralement la reconstruction de votre programme. Il existe une bonne alternative pour que les programmes C ++ natifs soient stockés dans un langage intermédiaire LLVM appelé bitcode qui permet techniquement de préconstruire sur le marché du magasin d'applications dans le code machine demandé avant le téléchargement. L'App Store fonctionne avec succès pour les applications mobiles pour différentes architectures mobiles pour leurs appareils iOS. C'est la meilleure façon.


Réponse 2:

Il est assez difficile de nommer «une chose» qui les distingue. Visual C ++ est un langage (avec divers outils et bibliothèques pour écrire des applications et des services Windows) tandis que C # est à bien des égards plus similaire à Java comme point de départ, mais a évolué considérablement au fil de ses nombreuses versions pour inclure de nombreuses subtilités syntaxiques pour rendre le programmeur travail plus efficace et pour améliorer la lisibilité, ainsi que la simplification des tâches telles que la programmation asynchrone et les requêtes structurées de données.

C # est également un langage .NET «géré» qui est généralement compilé en code intermédiaire plutôt qu'en exécutables natifs, et inclut la compilation JIT d'exécution et le garbage collection, alors qu'en C ++ vous construisez des exécutables natifs via un processus de compilation traditionnel.