Come tutti sanno, il linguaggio di programmazione C++, probabilmente, è il più voluminoso tra i linguaggi di programmazione. Anche i programmatori che lo utilizzano da decenni non possono vantarsi di conoscerlo a menadito. Pertanto, il comitato di standardizzazione del C++ ha preso una decisione difficile: per mantenere il linguaggio competitivo rispetto ai nuovi linguaggi emergenti, come Rust, è necessario rimuovere tutte le funzionalità legacy, scritte in modo incomprensibile da goblin negli anni '80. A questo scopo saranno d'aiuto i noti sviluppatori di Gnome, che in passato hanno eliminato tutte le funzionalità superflue dalla loro DE, rendendola così senza rivali. Rimuoveranno tutte le funzionalità fino a eliminare tutti i "plus" e tornare al C, dal quale è emerso il C++, ma non si fermeranno qui, lasceranno solo il C essenziale.
In particolare:
- i template verranno rimossi e sostituiti da una tipizzazione dinamica opzionale (il calo delle prestazioni non sarà significativo per i computer moderni)
- le eccezioni saranno sostituite da codici di errore nello stile di Go if err != nil
- non ci sarà più bisogno di sistemi di build, al loro posto ci sarà un PM nello stile di composer per PHP
- l'ereditarietà multipla verrà rimossa insieme alle funzioni libere, ora tutto sarà un oggetto e tutti gli oggetti erediteranno dalla classe base Object
- non è possibile eliminare completamente il comportamento indefinito a causa della sindrome di Stoccolma nei programmatori, quindi tutti gli UB verranno automaticamente racchiusi in un test unitario eseguito 10 volte, e al programmatore verrà comunicato quale comportamento ha scelto il compilatore nella maggior parte dei casi
Il fondatore del linguaggio Bjarne Stroustrup si è già espresso con scetticismo riguardo ai cambiamenti, argomentando che gli sviluppatori di Gnome non utilizzano né C++, né Gnome.
Fonte: linux.org.ru
