169 похожих чатов

Насколько фича “track the ownership” Rust’а делает его крутым? я

пока что только про нее отзывы слышал

13 ответов

21 просмотр

ну я же говорю. с ней на расте может писать даже такой питонист как я, не нюхавший крестов

Это значит, что компилятор проверяет условия, за которыми в C/C++/Zig нужно следить самому. Насколько это круто? Кому как.

Было бы классно, если бы это было реализовано. 😉

Alexander Chichigin
Было бы классно, если бы это было реализовано. 😉

Ну я например планирую реализовать это в плюсах когда разберусь с исходниками кланга. С++ как язык интересен тем что многие вещи в стандарте прописаны как UB что значит что поведение в стандарте не прописано и отдано на откуп компилятору. То есть можно написать свое поведение когда при возвращении ссылок на локальные переменные они продолжат жить дальше навернуть поверх этого лайфтайм-анализ и получится тот самый lifetime inference по ссылке выше и при этом это не будет нарушением стандарта с++ 😉

> многие вещи в стандарте прописаны как UB что значит что поведение в стандарте не прописано и отдано на откуп компилятору Гм... Я бы посоветовал для начала выяснить разницу между Undefined Behaviour и Unspecified Behaviour.

Börgar
уб можно доопределить

Ага, доопределить можно, а вот писать нельзя. 🤦‍♀️

И в том и в том случае стандарт не говорит что должен делать компилятор, то есть авторы стандарта не смогли договориться о желаемом поведении и вместо того чтобы фиксировать поведение с которым вторая сторона будет не согласна пометили это как UB и отдали это на откуп компилятора чтобы каждый пользователь С++ смог настроить поведение компилятора на свой вкус

Богдан
И в том и в том случае стандарт не говорит что дол...

Я же не спрашивал Ваши фантазии на тему Undefined Behaviour? Что это такое и какие последствия имеет однозначно написано уже много раз. То, что Вы отказываетесь это понимать и желаете интерпретировать как Вам нравится — Ваше дело. Но при компиляции такого кода реальными компиляторами будут сюрпризы.

Богдан
И в том и в том случае стандарт не говорит что дол...

И мне нравиться такое развитие языка программирования - когда язык развивается не в угоду вкусов каких-то отдельных авторов или участников коммитета а когда язык представляется больше языковым фреймворком - когда стандарт добавляются лишь фичи с которыми будут согласны все а все остальное можно настроить под свои вкусы

В последний раз для тех, кто не в курсе. > UB это одно из валидных состояний кода а не ошибка Undefined Behaviour — это ошибка программиста, это такой код, который запрещено писать, и компилятор реально полагается на то, что кода с UB ему никто никогда не подсунет как на аксиому. На этом считаю тему закрытой.

Alexander Chichigin
В последний раз для тех, кто не в курсе. > UB это...

Ок, закрываем тему, добавлю только что я уже неоднократно поднимал эту тему @procxx чате а там народ как раз считает что UB это не ошибка а возможность для оптимизаций (иначе если бы UB считался за ошибку то такие программы компилятор просто не скомпилировал бы из-за ошибки в коде)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта