Souhaitez-vous utiliser C ++ / CLI si supporté comme C # & amp; VB.NET?

StackOverflow https://stackoverflow.com/questions/179690

  •  05-07-2019
  •  | 
  •  

Question

J'ai toujours eu un faible pour C ++ / CLI. Peut-être parce que peu de développeurs l'utilisent ... ou simplement parce que c'est différent.

Supposons que Microsoft supporte entièrement C ++ / CLI de la même manière que VB.NET et C # (c'est-à-dire LINQ, WPF, etc.). Voulez-vous l'utiliser?

Si non, pourquoi?

Était-ce utile?

La solution

Je l’utilise . Malgré le manque relatif de prise en charge des outils, il bat toujours brutalement P / Invoke pour traiter avec Win32.

En ce qui concerne LINQ, je ne me soucie pas vraiment de voir trop de piratage dans le langage C ++. LINQ est suffisamment utilisable tel quel - s’ils améliorent le compilateur, ils devraient fonctionner avec le support C ++ 0x ...

Autres conseils

Il s’agit d’utiliser le bon outil pour le bon travail. J'utilise C ++ / CLI pour le travail d'interopérabilité de plate-forme car il est beaucoup plus facile d'obtenir le bon marshaling. J'utilise C # pour presque tous les autres travaux .NET, avec certains VB.Net (j'aime le XML en ligne). Je reconnais que je n’ai pas encore appris IronRuby, IronPython, F # ou d’autres langages .NET, mais je l’envisage sérieusement pour augmenter mon arsenal de programmation.

Pour répondre à la question, je ne pense pas l’utiliser plus que ce que je fais déjà, car j’ai le sentiment de l’utiliser déjà pour les emplois qui lui conviennent le mieux. C # est toujours le meilleur langage .NET tel que je le vois car il a été spécialement conçu pour cette plate-forme, plutôt que de rajouter un langage plus ancien pour s’y adapter. L'ajout d'une meilleure prise en charge de C ++ / CLI ne ferait que réduire mon temps de développement, plutôt que d'influencer mon utilisation d'un autre langage.

C ++ / CLI répond très efficacement à la promesse d’unification du code géré et du code non géré. Il vous permet d’exposer ce qui ressemble à une bibliothèque C # parfaitement native avec un accès à 100% aux bibliothèques C ++ natives "à l’intérieur". Ce n’est pas un exercice d’élégance, mais dans l’histoire des outils de programmation pratiques, que se compare-t-il?

Si vous avez besoin de LINQ et de WPF, utilisez simplement C #. C’est la beauté de C ++ / CLI: écrivez votre enveloppe gérée, puis revenez en C #. C ++ / CLI ne souhaite pas remplacer C # pour une utilisation quotidienne.

  

... mais je ne suis pas tout à fait clair sur ce que C ++ / CLI offre que C # ne le fait pas. - @ Thomas Owens

Un des grands avantages (dans mon livre) est RAII (voir le répondre donné par Adam Wright à ma question concernant RAII dans .NET ).

Peut-être ... mais je ne comprends pas tout à fait ce que C ++ / CLI propose que C # ne le fait pas. Des pointeurs, peut-être? J'ai réalisé toute ma programmation .NET (le peu que j'ai fait) en C # et je commence à apprendre le F #, mais si elle était entièrement prise en charge et bien documentée, je pourrais certainement l'essayer.

Je mélange C ++ / CLI avec MFC pour tirer parti de WPF et de XAML, mais j'utilise les nouveaux composants de ruban sans pack de fonctionnalités C ++ 2008. :)

Je ne voudrais pas l'utiliser parce que je ne veux pas être lié à un temps d'exécution énorme. Et je n'aime pas tous ces ^ pointeurs thingys:)

J'aime beaucoup la superbe bibliothèque proposée par .NET.

Je l'utilise pour prendre en charge le code existant, ainsi que pour écrire des correctifs entre le code géré et le code natif. J'adore que VS11 le supporte beaucoup mieux

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top