È raccomandabile programmare app .net con C ++

8

Da quanto posso capire, C # è il linguaggio defacto durante la codifica di app .NET. È raccomandabile programmare app .NET [sia ASP.NET, WinPhone 7, GUI, ecc.] In C ++? Quali sono le insidie e gli inconvenienti se scegliamo di percorrere questa strada?

Grazie per la condivisione.

    
posta Joshua Partogi 19.04.2011 - 05:10
fonte

3 risposte

15

Come programmatore di lunga data che ha utilizzato C ++ fino a quando non mi sono spostato in C # /. Net il mio consiglio è di non usare C ++ per lo sviluppo di .Net. In realtà non si può usare il vero C ++ per programmare in .Net ma un abominio di microsoft chiamato C ++ / CLI con una bruttezza non trovata in ISO C ++. Direi solo dal punto di vista della leggibilità C ++ / CLI non dovrebbe essere considerato affatto. Vuoi usare _gc, gcnew ecc.
Anche per scopi pratici non troverai molti esempi di codice, tutorial, blog ecc. Usando C ++ / CLI, né troverai programmatori che sanno o vogliono lavorare in C ++ / CLI. Non è un linguaggio naturale per lo sviluppo di .Net. C # / VB.Net / F # continuerà a cambiare molto più rapidamente con nuove funzionalità rispetto a C ++ / CLI.

    
risposta data 19.04.2011 - 12:28
fonte
12

L'idea stessa di .Net è che puoi usare qualsiasi lingua con cui ti trovi già a tuo agio e usare la piattaforma DotNet senza dover imparare una nuova lingua da capo. Un modo di guardarlo è come un'inversione della piramide di Java. Java può essere spiegato come "single language-single executable (IL) -many OS". dot net è "many languages-one executable-one OS" (ovviamente il bit di un sistema operativo non è corretto poiché abbiamo Mono ma non penso che fosse quello che Microsoft aveva in mente :-P).

Sì, C # doveva essere IL linguaggio per DotNet, ma non "L'UNICO". Probabilmente Microsoft sperava di far migrare i programmatori C ++ in C # a lungo termine, se non immediatamente. Ma sembra che non stia succedendo. Il C ++ è ancora la terza lingua più popolare. La familiarità con un linguaggio e lo sforzo necessario per eseguire il porting di un'applicazione da C ++ a C # hanno reso la maggior parte degli sviluppatori riluttanti. Dopo tutto, perché aggiustare qualcosa che non è rotto? Ecco perché Microsoft ha creato C ++ / CLI. È un modo meraviglioso per ottenere programmatori C ++ sul vagone DotNet senza dover imparare una nuova lingua. Mi ci è voluto pochissimo tempo per abituarmi al C ++ / CLI. L'unico inconveniente che ho visto è che la nuova notazione del puntatore per le classi gestite può confondere chi ha una scarsa comprensione dei puntatori in C ++. Non mi ha influenzato però.

    
risposta data 19.04.2011 - 06:26
fonte
9

Non vedo quale sia il vantaggio. Il vantaggio principale di C ++ è rappresentato dal codice nativo self-contained, di basso livello e dalle prestazioni elevate. Una volta che utilizzi un ambiente gestito e tutto il bagaglio che porta, non riesco a capire perché non desideri un linguaggio più moderno progettato per ambienti gestiti.

    
risposta data 19.04.2011 - 05:31
fonte

Leggi altre domande sui tag