Я за то люблю JavaScript, что программа обычно работает даже если в нем есть логические (не синтаксические) ошибки! Критические ошибки с которыми он ну никак не должен был работать и там удивительнее спустя год понять, что твой косячный код уже больше года крутится в боевом проекте и ни разу еще не падал.
Да дело даже не в этом, а в том как я охуел спустя год, когда обнаружил, что код который не должен был работать в принципе, вообще работал.
Если код который по-вашему не должен работать работает, возможно дело в том что вы просто не понимаете как он работает?
Любой язык так будет работать. Пропишете условие если 1=2 и далее по коду, и всё скомпилируется. Может только Rust завернет на этапе компиляции.
Это условие, которое никогда не будет выполнено. Вполне себе ошибка в логике программы, текст не имеющий смысла. Без побочных эффектов только.
А если это так и задумано? Ну, например, в зависимости от конфигурации заданной на этапе компиляции делаются дополнительные шаги:
if (CONFIG_FEATURE_A_ENABLED)
do_additional_bullshit();
так если раст на это ругается, то как люди живут с этим? отключают эту ошибку? есть какие-то специальные конструкции языка? вырезают код препроцессором?
Rust помешан на безопасности кода, поэтому и набирает популярность. Если компилятор доволен, значит ошибок там быть не должно ))
Конструкции есть, типа указать что это опасный код, но это крайняя мера.
Код с большой долей вероятности работает не так, как ожидает программист. Заглушается это с помощью #[allow(dead_code)].
Но приведенный выше код - не считается анричибл, не вызывает ошибок/ворнингов и отрезается где-то на этапе компиляции/компоновки.
Так и логические ошибки могут быть не опасными и никогда не сработать. Тут пример безопасной логической ошибки. Не все же ошибки к падениям приводят и потерям данных.
боже! я задал простой и конкретный вопрос. если вы не знаете на него ответа напишите "хз" и мы разойдемся довольные беседой и друг другом. а если знаете, то напишите, мол "да никак. раст матерится на это и ты должен оборачивать все такие конструкции в ансейф, чтобы его заткнуть".
вот почему каждый раз когда я хочу узнать про аспекты разработки и конструкции с которыми я работаю ежедневно мне постоянно вместо ответа на мой вопрос говорят про якобы безопасность и борроучекер? серьезно, это что настолько неразвитый язык, что в нем нет ничего кроме борроучекера? я понимаю что это киллерфича языка, но я ведь не про нее спрашиваю.
сори, фанаты раста, ничего против вас не имею. мне просто интересно узнать про раст хоть что-нибудь еще кроме того что в нем есть сраный борроучекер и возможность оборачивать код в ансейф.

IT-юмор
7.5K постов53.3K подписчиков
Правила сообщества
Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору