Както е известно, езикът за програмиране C++ е най-обширният от всички програмни езици. Дори програмисти, които работят с него десетки години, не могат да се похвалят, че го знаят изцяло. Поради тази причина комитетът по стандартизация на C++ взеха трудно решение: за да остане езикът конкурентен на новите програмни езици, като Rust, трябва да се премахнат всички наследствени функции, написани от неясни същества в мъгливите осемдесет години. В това ще помогнат известните разработчици от Gnome, които в миналото премахнаха всички излишни функции от своята DE, правейки я ненадмината. Те ще премахват функции, докато не достигнат до минималния C, от който е произлязъл C++, но на това няма да спрат, а ще оставят само минималния C.
По-специално:
- шаблоните ще бъдат премахнати и заменени с опционално динамично типизиране (падението в производителността няма да бъде съществено за съвременните компютри)
- изключенията ще бъдат заменени с кодове за грешки в гош стил if err != nil
- необходимостта от системи за сглобяване ще бъде премахната, вместо това ще има PM в стила на composer за PHP
- множественото наследяване ще бъде премахнато с освобождаващи функции, сега всичко ще бъде обект и всички обекти ще наследяват основния клас Object
- пълното премахване на неясното поведение е невъзможно заради стокхолмския синдром сред разработчиците, затова всичките UB ще бъдат автоматично обвити в юнит тест, изпълняван 10 пъти, и програмистът ще бъде уведомен за това какво поведение е избрал компилаторът в повечето случаи
Основателят на езика Бйарн Страуструп вече изрази скептицизъм за промените, аргументирайки, че разработчиците от Gnome не използват нито C++, нито Gnome.
Източник: linux.org.ru
