Open hagz0r opened 8 months ago
Я думаю, что мы можем улучшить данную рекоммендацию до уровня пропозала с конкретными решениями по улучшению, но мне кажется, что в данный момент у Рабочей Группы С++ нет времени для данных импрувментов. Так что, тикет выглядит как солюшен в долгосрочной перспективе, но не возможен в данный момент.
Предложение очень хорошее! Но, к сожалению, это сломает ABI.
Я хочу чтобы программы на языке С++ выполнялись быстрее, были безопасными и не допускали ошибок!
Это в принципе не возможно по определению просто из-за постулатов заложенных в стандарте. Где вы видели большую программу на C++ без UB? Что бы хоть как-то улучшить язык надо добавить фаз компиляции. Хотя бы отделить синтез кода от компиляции, а не присовывать всё в шаблоны, макросы и концепты пихая всё в кучу. Тоже самое касается и профилирования и оптимизации и проверок. Это должны быть отдельные фазы сборки. Более того пора бы уже добавить динамическую линковку функций с разными abi и ограничениями, а не просто по имени. Так как уже давно есть заопарк вариаций архитектур. Что мешает использовать обычную базу данных для поиска требуемых библиотек по имени функции и если такой нет собрать под нужную по мере надобностии, а не таскать фалый библиотек (которые сжимаются в сотни раз, что нимекает на чудовищную избыточность) с тьмой с суффиксов типа rv64imafdc_zicsr_zifencei. Да и клинковке есть вопросы почему нельзя указать опцию весь такой-то (селектор) namespace собери в отдельный файл и подгружай его динамичеси. По поводу сломает ABI, так добавте механизм управления и контроя ABI.
Я хочу чтобы программы на языке С++ выполнялись быстрее, были безопасными и не допускали ошибок!
Примеры мы можем увидеть в реализации таких языков как Rust, JavaScript.
Код:
Полезные ссылки: