53 votes

Gains de productivité réels de C # par rapport à C ++

Libérer les développeurs de la gestion de la mémoire a été présenté comme l'un des principaux avantages des langages de code gérés tels que C #. Existe-t-il des études / exemples concrets de gains de productivité réels liés au développement d'applications commerciales en C # par rapport à C ++?

95voto

oscarkuo Points 5849

J'ai été un programmeur C++ depuis plusieurs années et maintenant je suis à temps plein programmeur C#. Pour être totalement honnête, je ne pense pas avoir automatisé de gestion de la mémoire qui me fait vraiment que beaucoup plus productif, car une fois que vous obtenez l'utiliser, c'est vraiment pas une grosse affaire.

Pour moi, le principal gain de productivité en C# est la .NET framework bibliothèque et d'intégration de visual studio. Le fait que cette fonctionnalité fonctionne réellement, en mesure de l'exécution de réflexion et d'avoir la bonne date/heure de la bibliothèque de vraiment me permet de gagner beaucoup de temps.

23voto

Eric Points 4139

Dans mon expérience personnelle, gestion automatique de la mémoire n'a pas vraiment été un gros facteur. Ces jours, il ya un certain nombre de simples constructions en C++, comme un décompte de références pointeurs, qui peut être utilisé dans la majorité des cas, l'abstraction de la gestion de la mémoire à l'écart. En fait, je dirais que c'est plus difficile en C# comme c'est parfois très important de Disposer sur les objets qui implémentent IDisposable, mais il n'est pas toujours immédiatement évident que les objets sont IDisposable.

D'autre part, j'ai bénéficié de C#'s d'autres fonctionnalités utiles. Des choses comme les événements, la capacité de modifier mon code dans le débogueur, à l'aide de Designer (quand ça marche) pour mettre en place une interface graphique, et "ça marche" l'interopérabilité avec les bibliothèques natives (P/Invoke) ou de code C++ (C++/CLR) ont rendu ma vie beaucoup plus facile.

18voto

Thomi Points 5434

Je serais intéressé d'entendre toute personne ayant de l'expérience dans les deux .NET et une bonne bibliothèque C++ comme Qt. Je n'ai pas touché .NET pour plus de quelques heures, mais je suis amoureuse de Qt - les gains de productivité dans le MFC, GTK, et wxWidgets est, IMO massive.

J'ai vu les mêmes questions tous sur stackoverflow. Beaucoup de gens se retrouvent en comparant le langage C++ avec le langage C# livré avec le .NET framework, ce qui est évidemment absurde. C'est une erreur facile à faire, puisque les deux sont souvent regroupés.

Je serais d'accord aussi avec Eric - gestion automatique de la mémoire n'est pas un gros problème pour les programmeurs expérimentés.

15voto

Pete Davis Points 671

Je dirais que le gain de productivité lié à l'utilisation de C # en tant que langage réside dans le fait que vous travaillez par-dessus le .NET Framework. C'est là que je trouve que vous pouvez développer des solutions plus rapidement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X