Как нам обустроить С++
Помните старый анекдот? Учительница спрашивает: дети назовите слово на букву Ж. Вскакивает Вовочка и кричит: жоп@. Учительница говорит: Вовочка нет такого слова. Вовочка: как же так? жоп@ есть, а слова нет?
Программист С++ сейчас находится в положении Вовочки. Когда создать вложенный класс есть возможность
struct Foo {
struct Bar {
};
};
А написать опережающее описание мы не можем.
struct Foo;
struct Foo::Bar; // error: use of undefined type 'Foo'
Слова нет-с.
И этот "кассовый" разрыв длится с 1998 года. Больше чем некоторым С++ программистам лет. Очевидно, что такая скорость разработки языка никуда не годится. А причина этого в том, что С++ разрабатывается комитетом по старому доброму принципу, лебедь, рак и щука. При этом со стороны комитета идут возражения, что мол все надо тщательно обдумать, но при этом кривые решения внедряются регулярно.
Поэтому единственный способ спасти С++ это создание форка языка и разработка этого форка непосредственно разработчиком компилятора. Это устранит эффект лебедя-рака-щуки, ускорит выход новых фич и исправления ошибок. Ну и новые баги будут проявляться чаще, но можно хотя бы надеяться на их быстрое исправление. Комитет же в этом плане безнадежен.
Я же со своей стороны тоже хочу внести посильный вклад и предлагаю название:
С❤︎❤︎