Wie allgemein bekannt ist, ist die Programmiersprache C++ wahrscheinlich die umfangreichste unter den Programmiersprachen. Selbst Programmierer, die seit Jahrzehnten auf ihr arbeiten, können nicht behaupten, sie vollständig zu beherrschen. Daher hat das Komitee zur Standardisierung von C++ die schwierige Entscheidung getroffen: Um die Sprache wettbewerbsfähig gegenüber den aufkommenden neuen Programmiersprachen wie Rust zu halten, müssen alle veralteten Funktionen, die von unverständlichen Goblins in den haarigen achtziger Jahren geschrieben wurden, entfernt werden. Dabei werden die auf diesem Forum bekannten Entwickler von Gnome helfen, die einst alle überflüssigen Funktionen aus ihrem Desktop-Umgebung entfernt haben, um sie konkurrenzlos zu machen. Sie werden alle Funktionen entfernen, bis sie alle „Plus“ entfernt haben und bei C ankommen, woraus C++ entstanden ist, aber dabei nicht stoppen. Sie werden die Sprache nur auf das minimale C reduzieren.
Insbesondere:
- Templates werden entfernt und durch optionale dynamische Typisierung ersetzt (der Leistungsabfall wird für moderne Computer nicht erheblich sein)
- Ausnahmen werden durch Fehlercodes im Go-Stil if err != nil ersetzt
- Die Notwendigkeit von Build-Systemen wird entfernt, stattdessen wird es ein PM im Composer-Stil für PHP geben
- Die Mehrfachvererbung wird zusammen mit freien Funktionen entfernt, ab jetzt wird alles ein Objekt sein, und alle Objekte erben von der Basisklasse Object
- Undefined Behavior kann aufgrund des Stockholmer Syndroms bei den Entwicklern nicht vollständig entfernt werden, daher wird jedes UB automatisch in einen Unit-Test umgewandelt, der zehn Mal ausgeführt wird, und dem Programmierer wird mitgeteilt, welches Verhalten der Compiler in den meisten Fällen gewählt hat
Der Gründer der Sprache, Bjarne Stroustrup, hat sich bereits skeptisch zu den Änderungen geäußert und argumentiert, dass die Gnome-Entwickler weder C++ noch Gnome verwenden.
Quelle: linux.org.ru
