Je suis un codeur C ++ par tradition. Au cours des 12 derniers mois, j'ai fait beaucoup de codage C #, et j'ai été agréablement surpris par l'approche pragmatique de C # (une fois que j'ai arrêté d'essayer de le coder comme s'il s'agissait de "C ++ avec garbage collection").
Nous avons récemment eu quelques diplômés et en aidant l'un d'entre eux, j'ai réalisé qu'elle utilisait .Net en C ++. Après lui avoir demandé pourquoi, elle a répondu que son manager lui avait dit "d'utiliser C ++". Mis à part un problème de communication évident, je suppose qu'elle utilisait .Net car c'est le seul framework auquel elle a été exposée.
Je suis ensuite tombé sur un ancien projet d'un développeur senior qui a également utilisé C ++ pour piloter un frontal Forms. Maintenant, cela aurait été écrit au moment où .Net est apparu pour la première fois, donc je suppose que c'était un exercice d'apprentissage de sa part pour jouer avec .Net. Ce n'était qu'une petite application utilitaire.
Ayant dû faire quelques modifications mineures dans cette application, il me semblait que l'utilisation de C ++ pour piloter .Net vous donne le pire des deux mondes. Pas de récupération de place ou de sécurité de la mémoire, mais pas non plus de réelles opportunités de vitesse / d'optimisation car vous avez affaire à un cadre géré.
Ma question est donc de savoir si les gens utilisent C ++ .Net pour tout grand code de production autonome (c'est-à-dire sans plomberie), et si oui, quelles sont vos raisons de le faire? J'admets librement que je ne me suis jamais plongé profondément dans les extensions C ++ .Net, je peux donc lui rendre un mauvais service.