LINUX.ORG.RU

История изменений

Исправление Siborgium, (текущая версия) :

Неудобна семантика неявного копирования структур по-умолчанию. Const-reference, std::move – мусор, нужно всё наоборот

Это не является проблемой такого уровня, после которой нужно все сносить и начинать делать с нуля. Более того, move по умолчанию это тоже значительных размеров footgun.

Если имеется в виду деструктивный move а-ля Rust, то это клиника – по ссылке выше понятно, почему это тупик. И это только одна из причин.

от бесконечного кода пофигистов, пренебрегающих

Это не является проблемой языка.

невозможно использовать их правильно

У тебя не получается, поэтому надо всем запретить.

Pimpl. Почему я не могу сделать forward declaration метода incomplete класса, если это по сути функция, использующая его по ссылке?

Нишевый случай. Если ты часто пишешь pimpl’ы, то ты что-то делаешь не так.

iostreams - crap,

Нет. В соседнем топике @fsb4000 достаточно популярно объяснил преимущества iostream’ов. Да, {fmt} и std::print из С++20 удобнее в использовании, но у них свои недостатки.

shared_ptr – обязательно atomic,

Конечно. Потому что не-атомарный shared_ptr можно использовать только из одного потока. В одном потоке исполнения создавать объекты со счетчиком ссылок смысла нет.

std::future – crap,

Я знаю только две «проблемы» с std::future: отсутствие монадических операций, и отсутствие wait_all. Первые не нужны вовсе, второе решается барьерами в С++20.

std::regex – crap.

Да. И?


Взять C + designated initializers

Т.е С++20.

defer

Т.е. навернуть за обе щеки хак, которым пользуются гоферы из-за того, что им не завезли RAII.

добавить шаблоны

Конструкторы и деструкторы выбросить

Без конструкторов и деструкторов невозможно писать шаблонный код. Без исключений невозможно написать конструктор.

перегрузку операторов и функций по большей части выбросить

Выкинуть расширяемость. Дай угадаю, еще трейтами надо обмазаться?

стандартизировать simd либу аля xsimd/highway

Это пытаются протащить в стандарт. Не нужно.


Изучи сперва язык. Твои претензии за вычетом буквально пары сводятся к тому, что нужно выкинуть или запретить то, смысл чего ты не понимаешь или не умеешь использовать. Это лично твои проблемы. Они никого не волнуют.

Исходная версия Siborgium, :

Неудобна семантика неявного копирования структур по-умолчанию. Const-reference, std::move – мусор, нужно всё наоборот

Это не является проблемой такого уровня, после которой нужно все сносить и начинать делать с нуля. Более того, move по умолчанию это тоже значительных размеров footgun.

Если имеется в виду деструктивный move а-ля Rust, то это клиника – по ссылке выше понятно, почему это тупик. И это только одна из причин.

от бесконечного кода пофигистов, пренебрегающих

Это не является проблемой языка.

невозможно использовать их правильно

У тебя не получается, поэтому надо всем запретить.

Pimpl. Почему я не могу сделать forward declaration метода incomplete класса, если это по сути функция, использующая его по ссылке?

Нишевый случай. Если ты часто пишешь pimpl’ы, то ты что-то делаешь не так.

iostreams - crap,

Нет. В соседнем топике @fsb4000 достаточно популярно объяснил преимущества iostream’ов.

shared_ptr – обязательно atomic,

Конечно. Потому что не-атомарный shared_ptr можно использовать только из одного потока. В одном потоке исполнения создавать объекты со счетчиком ссылок смысла нет.

std::future – crap,

Я знаю только две «проблемы» с std::future: отсутствие монадических операций, и отсутствие wait_all. Первые не нужны вовсе, второе решается барьерами в С++20.

std::regex – crap.

Да. И?


Взять C + designated initializers

Т.е С++20.

defer

Т.е. навернуть за обе щеки хак, которым пользуются гоферы из-за того, что им не завезли RAII.

добавить шаблоны

Конструкторы и деструкторы выбросить

Без конструкторов и деструкторов невозможно писать шаблонный код. Без исключений невозможно написать конструктор.

перегрузку операторов и функций по большей части выбросить

Выкинуть расширяемость. Дай угадаю, еще трейтами надо обмазаться?

стандартизировать simd либу аля xsimd/highway

Это пытаются протащить в стандарт. Не нужно.


Изучи сперва язык. Твои претензии за вычетом буквально пары сводятся к тому, что нужно выкинуть или запретить то, смысл чего ты не понимаешь или не умеешь использовать. Это лично твои проблемы. Они никого не волнуют.