bonjour
qu'es-ce qui différentie C# de C++ ?
je crois que C# est propriété de Microsoft et ne peut pas être utilisé en dehors de Windows ?
merci de vos réponses
bonjour
qu'es-ce qui différentie C# de C++ ?
je crois que C# est propriété de Microsoft et ne peut pas être utilisé en dehors de Windows ?
merci de vos réponses
Bonjour.
Ce sont deux langages de programmation différents, mais le C# étant historiquement basé sur le C++, ils ont une syntaxe qui se ressemble (aujourd'hui moins qu'avant avec l'évolution des deux langages avec le temps).
Les deux langages n'ont pas vraiment la même philosophie, pas les mêmes outils ni les mêmes bibliothèques. Le choix dépend des besoins et pré-requis du projet.
C# est en effet maintenu par Microsoft et n'était uniquement disponible que sur Windows jusqu'à il y a quelques années. Mais aujourd'hui il est possible de l'utiliser sur d'autres plateformes grâce au projet Mono.
Salut,
Si c'est pour ta culture perso, la liste des différence est longue
- En C#, la mémoire est managé par un garbage collector => Tu ne te soucie pas de nettoyer tes objets, ca marche tout seul. De ce point de vue, C# est beaucoup plus proche du Java que du C++.
- C++ est très bas niveau. Tu peut transcrire quasiment à la main le C++ en code assembleur.
- C# est plus haut niveau. Y'a pas mal de couche entre le code que tu écrit et le code machine généré. Ce qui peut créer des pb de perf.
- C++ marche partout. Windows, Mac, Linux, Micro-PC type Raspberry PI, microcontrôleur, embarqué, etc...
- C# ne marchait initialement que sous windows, mais commence à marcher sous linux avec certaine contraintes.
Si c'est pour un projet et qu'on te demande "arbitrairement" de choisir entre C++ et C#, je te conseil C#.
En grosse approximation tu peux considérer que la monté en compétence sur C# est plus rapide qu'en C++. Tu as moins de problèmes à gérer (gestion mémoire en particulier), tout est plus simple et il est plus facile de trouver des developpeurs C# que des developpeurs C++. Par contre, C# ne marche facilement que sous Windows (ça marche quand même sous linux, mais avec es limitations) et est peu adapté à des problèmes bas niveau (driver, bus de communication, embarqué, etc...).
Partager