salut à tous,
Après 5 ans d'expériences professionnelle en C/C++, j'ai découvert dotnet et j'ai été immédiatement séduit par C#.
C# est très propre, comparé à C++. Je vais pas me lancer dans l'enumération des avantages, mais je trouve que ceux ci sont vraiment un plus :
- pas de pointeurs. Le code n'en est que plus lisible (et si on veut vraiment utiliser des pointeurs pour des besoins de bas niveau ou que sais-je, on peut toujours écrire un petit bout en C++ non managé, si j'ai bien compris)
- un seul fichier source (plus besoin d'un fichier entête *.h). Si on doit modifier la signature d'une méthode, c'est immédiat. Ca simplifie la documentation également
- le garbage collector. Plus de memory leak (ou fuite mémoire) avec ça
- les concepts de délégué et d'événement. Les delegués (delegate) remplacent avantageusement les pointeurs de fonctions en C/C++.
- homogénéisation de la notion d'objet. Tout est objet. Même un entier ou une chaîne de caractère.
- meilleur typage. Il y a des erreurs qu'on pouvait faire en C++ qui ne passeront pas à la compilation en C#
- mécanisme d'assertion et d'erreur bien pensé. Si on accède hors du rang d'un tableau par exemple, on aura une belle erreur au run time qui explique que c'est un problème "out of range" et pas un satané "Violation access error 0x08830003" beaucoup moins explicite.
Bon, j'arrête ou je ne m'arrêterai plus :wink:
En tout cas, ça donne au final un développement super rapide et plus facile à maintenir.
Bon, maintenant, j'ai jamais travaillé sur un vaste projet dotnet. Certains disent "usine à gaz", peut-être, ch'sais pas, c'est pas le sujet de toute manière. Mais si c'est vrai, je ne pense pas que ce soit dû à la nature inhérente du langage C#.