I agree that C++ needs a lot of improvements, mainly, because it was
updated in Neolithic Age (99).
Il C ++ non è mai stato aggiornato in 99. Il primo standard C ++ era 98. E poi un altro nel 2003. E ne è appena uscito uno nuovo quest'anno. Non è esattamente neolitico. Ancora più importante, vale la pena notare che le tecniche di programmazione che C ++ aveva già da prima di 98 hanno, relativamente parlando, appena entrato nei linguaggi .NET, come le API generiche e funzionali. C ++ ha avuto modelli molto più lunghi di quelli generici esistenti in C # - e i generici non sono nemmeno potenti come i modelli. Probabilmente, è C # che sta giocando a catchup, decenni dopo.
I have a feeling that C++ is an overkill for this kind of apps
Overkill come? A parte l'idea che alcune persone potrebbero preferire il C ++ per ragioni soggettive (che potrei dare una decina di se sei interessato), oltre al fatto che non richiede un'installazione di 100 MB per funzionare sul computer di un consumatore, ad esempio , o funziona su molte più piattaforme di C #.
E l'overhead di runtime di C # non è minuscolo. Affatto. In effetti, più piccola è l'app, più è maggiore la quantità di tempo impiegata per caricare il CLR.
Per quanto posso dire, il problema fondamentale è che Microsoft ha due divisioni: WinDiv e DevDiv, credo.
WinDiv non può essere infastidito e si sente obbligato a inserire C ++ in un altro linguaggio - prima era C con l'API Win32, e ora è C # con le API Metro, che sono API C ++ solo nel senso che tecnicamente, compilato da un compilatore C ++ e in realtà ha molto poco in comune con un design C ++. Inoltre, WinDiv non impara dai propri errori, ad esempio, anche nelle nuove API Metro, non è possibile combinare i controlli Metro e il rendering DirectX. Sembra essere il tipo di cosa che avresti risolto dopo i problemi di spazio aereo con la precedente generazione di controlli nativi.
DevDiv d'altra parte sembra sapere che cosa stanno facendo, per esempio, vedere il runtime di concorrenza in Visual Studio 2010 e C ++ AMP in vNext, che sono fantastici . Producono anche degli strumenti piuttosto dolci - i miglioramenti IDE per C ++ in vNext sono abbastanza buoni, e AMP è un grosso problema, anche se sfortunatamente ciò significa poche nuove funzionalità di C ++ 11.
Il problema è che WinDiv produce un lotto più contenuto di DevDiv, ad esempio socket e librerie UI. Quindi c'è una rinascita in C ++ - si applica solo alle cose che purtroppo il piccolo team di librerie DevDiv è riuscito ad incollare sulla roba di WinDiv.