Sono un programmatore C ++ per tradizione. Negli ultimi 12 mesi ho fatto molto codice C # e sono stato piacevolmente sorpreso dall'approccio pragmatico di C # (una volta ho smesso di provare a codificarlo come se fosse "C ++ con garbage collection").
Di recente abbiamo avuto alcuni laureati e quando ho aiutato uno di loro mi sono reso conto che stava usando .Net in C ++. Dopo averle chiesto perché, ha detto che le era stato "detto di usare C ++ dal suo manager". Evidente problema di comunicazione a parte, suppongo che stesse usando .Net perché è l'unico framework a cui è stata esposta.
Mi sono poi imbattuto in un vecchio progetto di uno sviluppatore senior che utilizzava anche C ++ per gestire un front-end di Forms. Ora questo sarebbe stato scritto nel momento in cui .Net apparve per la prima volta, quindi presumo che da parte sua fosse un esercizio di apprendimento giocare con .Net. Era solo una piccola app di utilità.
Avendo dovuto apportare alcune modifiche minori in questa app, mi è sembrato che usare C ++ per guidare .Net ti dia il peggio di entrambi i mondi. Nessuna garbage collection o sicurezza della memoria, ma allo stesso modo nessuna reale opportunità di velocità / ottimizzazione poiché hai a che fare con un framework gestito.
Quindi la mia domanda è se le persone usano C ++ .Net per qualsiasi codice di produzione autonomo di grandi dimensioni (cioè non idraulico) e, in caso affermativo, quali sono i motivi per farlo? Ammetto liberamente di non aver mai approfondito le estensioni di C ++ .Net, quindi potrei fare un disservizio.