al giorno d'oggi sviluppare un grosso progetto in C++ costa in fatto di tempo e denaro un ordine di grandezza in più di C#. E visto che il tempo è denaro, i programmi commerciali e le applicazioni web si realizzano in C#.
Ho avuto modo di sviluppare applicazioni ad alte prestazioni con C# e devo dire che, a differenza di java, l'impatto prestazionale non è così marcato. Per intendersi, in java cercare le prestazioni è come prendere a calci un elefante fino a farlo decollare.
Il C++ ha a disposizione tutte le api di sistema come interfaccia, il C# ha un framework costruito SULLE api di sistema. Sempre riferendoci all'affermazione "il tempo è denaro", possiamo asserire con certezza che "mai bisogna reinventare la ruota" quindi => Framework.NET > API win32.
Il discorso che sto facendo è puramente economico, ovvero riguarda chi sviluppa applicazioni commerciali.
Se poi passiamo ad un discorso hobbistico le cose cambiano radicalmente, non si ha un'esigenza lavorativa di presentare un Prodotto, ma si può sperimentare in lungo e in largo cimentandosi anche in approcci commercialmente fallimentari.
Il C++ è buono per sperimentare, approfondire e imparare. Con il C# si può fare tutto questo ma anche realizzare prodotti professionali risparmiando diversi ordini di grandezza di TEMPO.
Gli utilizzi odierni del C/C++ si sono ridotti notevolmente, ma tra essi possiamo elencare: manutenzione di software sviluppato in precedenza, sistemi operativi, programmazione di microcontrollori, librerie matematiche e di simulazione ad alte prestazioni (vedi CUDA).
Pochi su questo sito/forum hanno una vaga idea di cosa vuol dire lavorare con la programmazione, e spesso ci si perde veramente in un bicchier d'acqua nelle disquisizioni su cosa è meglio fare quando... la vera e unica verità è che DEVE FUNZIONARE, punto.
|