1.1, Аноним (1), 11:53, 24/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +17 +/– |
> При этом за последние три года в библиотеке было выявлено 57 проблем с корректностью работы, из которых 20 были помечены как уязвимости.
Как же так? Ведь Rust должен был обернуть небезопасные части в загончик unsafe, чтобы как раз не было такого.
Выходит, не помогло? А верифицировать любой код можно, не только Rust.
| |
|
2.3, Аноним (-), 11:57, 24/11/2024 [^] [^^] [^^^] [ответить]
| +10 +/– |
> Ведь Rust должен был обернуть небезопасные части в загончик unsafe, чтобы как раз не было такого.
Так они это и сделали. Поэтому проблемы если возникают, то именно unsafe блоках.
Не считая логических багов. От них только формальная верификация и спасет.
> Выходит, не помогло?
Наоборот, помогло. Посмотри сколько функций и в скольки есть unsafe.
> А верифицировать любой код можно, не только Rust.
Можно. Но в расте тебе нужно будет верифицировать 7.5к функция, а не 35 тысяч как в других языках.
А это почти в 5 раз меньше работы.
| |
|
3.8, Аноним (8), 12:23, 24/11/2024 [^] [^^] [^^^] [ответить]
| +5 +/– |
>А это почти в 5 раз меньше работы.
А вот это вряд ли, потому что каждое включение unsafe на Rust в 5 раз сложнее проверять, чем в других языках.
| |
|
4.9, Facemaker (?), 12:24, 24/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
>каждое включение unsafe на Rust в 5 раз сложнее проверять, чем в других языках
Как вычислялась эта метрика?
| |
|
5.12, Аноним (-), 12:37, 24/11/2024 [^] [^^] [^^^] [ответить]
| +18 +/– |
> Как вычислялась эта метрика?
Методика 'Пальцем в небо' сертифицированного сотрудника 'НИИ Кекспертизы и вбросов' им. Опеннета.
Все утверждения истинны на 146%!
Я бы спросил в чем отличие unsafe rust от обычной сишки, но смысла нет - все равно ответа не получим))
| |
|
|
7.50, Аноним (50), 15:24, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Больше лишних проверок, которые в си пришлось бы писать руками на каждый чих.
| |
|
6.162, Аномсис (?), 02:20, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Как я понял, даже unsafe в rust более безопасен, чем Си.
Потому что в rust даже в блоке unsafe производятся некоторые проверки
| |
|
|
4.21, erthink_ (?), 13:15, 24/11/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Нет. Ровно наоборот.
Даже если иметь кривые руки, плохую голову и что-то натянуть против раста, то верификация unsafe в его собственных библиотеках потребует в разы меньше усилий чем верификация сишных библиотек со сравнимым функционалом.
В среднем по больнице, unsafe-код в Rust более регулярен и проще (менее комплексный) чем подобный в сишных библиотеках.
Есть и обратный эффект, в unsafe-функциях концентрация странностей/мутностей больше чем в средней glibc. Но это только потому, что в rust есть возможность и стремление отделять мух от котлет, а в glibc любые unsafe операции могут быть в любом месте (в самом безобидном и неожиданном).
Конечно, можно найти зубодробительные unsafe-сценарии, но тогда и сравнивать их надо с аналогичными сишными случаями.
| |
|
5.51, Аноним (50), 15:26, 24/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Язык си необоснованно сложнее и найти там что-то ещё сложнее вывод очевиден. Хотя вывод понятен по отсутствию софта написанного на раст. Особенно в областях где хваленая работа с памятью могла бы иметь место.
| |
|
6.88, erthink_ (?), 16:30, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Язык си необоснованно сложнее и найти там что-то ещё сложнее вывод очевиден.
Язык Си сильно проще, а С++ отягощен поддержкой обратной совместимости (с позволением всего unsafe что можно в Cи).
> Хотя вывод понятен по отсутствию софта написанного на раст. Особенно в
> областях где хваленая работа с памятью могла бы иметь место.
Так ведь именно активно используется, даже не взирая не упомянутые выше баги.
И переписывается на Rust достаточном много, там где либо высоки риски и в совокупности есть целесообразность для бизнеса, либо где что-то кому-то интересно.
Другое дело, что в условном debian этого не видно, ибо 90% пакетов появились до раста и вся экосистема "сишная".
| |
|
7.95, Аноним (50), 16:51, 24/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Может уже пора перестать переписывать и написать что-то новое на самом расте?
| |
|
8.148, Я (??), 22:25, 24/11/2024 [^] [^^] [^^^] [ответить] | +/– | так так и делают просто нового кода всегда меньше чем уже написанного... текст свёрнут, показать | |
|
|
|
5.126, Аноним (126), 19:35, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
unsafe это только индикативность для менеджеров или реализует безопасные механизмы (замыкание, контекст, виртуальность)?
| |
|
|
|
4.28, erthink_ (?), 13:56, 24/11/2024 [^] [^^] [^^^] [ответить] | +/– | Нисколько не хочу принизить ценность проекта и достигнутые там результаты, но вс... большой текст свёрнут, показать | |
|
5.42, Аноним (13), 14:54, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Поэтому все подобные верификации всегда с массой уточнений и оговорок
там написано вполне ясно
> Such verified compilers come with a mathematical, machine-checked proof that the generated executable code behaves exactly as prescribed by the semantics of the source program.
> Соответственно, отсутствие "формализированной системы типов" им не только не мешает, но и может помогать (сокращать поверхность).
без формального описания не может быть никакой верификации, как это может "помогать" ?
| |
|
6.44, Аноним (44), 15:11, 24/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> без формального описания не может быть никакой верификации
это называется спецификация, в этой же спеке определяется понятие "баг".
| |
|
7.48, Аноним (13), 15:22, 24/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
> это называется спецификация, в этой же спеке определяется понятие "баг"
есть один компилятор и никто точно не знает как он работает, только догадываются. Сомневаюсь что кто-то в своём уме пишет на этом доверенный код.
| |
|
8.79, Аноним (44), 16:10, 24/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | На то и спека, где это все описано, и есть механизм верификации и валидации, кот... текст свёрнут, показать | |
|
9.82, Аноним (13), 16:23, 24/11/2024 [^] [^^] [^^^] [ответить] | +/– | есть код на языке программирования и есть код исполняемый процессором, вы разниц... текст свёрнут, показать | |
|
|
7.76, erthink_ (?), 15:56, 24/11/2024 [^] [^^] [^^^] [ответить] | +/– | Не важно как называется, но суть в определении рамок границ что верифицируется, ... большой текст свёрнут, показать | |
|
8.81, Аноним (44), 16:18, 24/11/2024 [^] [^^] [^^^] [ответить] | +/– | Ну и как продолжать дискуссию, если нет понимания для чего вообще нужно это все,... текст свёрнут, показать | |
|
|
6.54, erthink_ (?), 15:31, 24/11/2024 [^] [^^] [^^^] [ответить] | +/– | Ту там же символьные вычисления и местами абстрактная алгебра Например, можно в... большой текст свёрнут, показать | |
|
7.128, Аноним (44), 19:50, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Собственно, хотел обратить внимание, что есть "рамки верификации" и почти всегда практическое применение никак в них не помещается.
что такое "практическое применение"? Что такое "рамки верификации" когда есть строгое определение "предмета верификации"?
| |
|
|
|
4.218, Аноним (218), 14:33, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>в другом языке есть формально верифицированный компилятор
>https://compcert.org
Типичный опеннет. Неужели вам не понятна разница межу "компилятор верифицирован" и "вот эта вот библиотека верифицирована"? Компилятор верифицировать - ерунда, а вот перелопатить тонны библиотек - та ещё задача.
| |
|
|
4.33, Аноним (-), 14:21, 24/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Вот эпичный тред, где люди в течение недели(!) пытались заставить это работать
https://github.com/Speykious/cve-rs/issues/4
Им пришлось написать самописный null_mute, модифицировать transmute() подменив там crate::null_mut на самописный... и даже после этого получается ошибка компиляции
error[E0133]: dereference of raw pointer is unsafe and requires unsafe function or block
error: could not compile 'cve-rs' (lib) due to previous error
| |
|
5.36, Аноним (35), 14:30, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Не знаю, что ты там компилируешь?
$ cargo install cve-rs
$ ~/.cargo/bin/cve-rs segfault
Segmentation fault (core dumped)
| |
|
4.45, Аноним (45), 15:12, 24/11/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Нет, это столько же работы, точнее даже больше. Сейф раст ничего не
> гарантирует.
Но только в фантазиях опеннетных кекспертов-военов супротив раста, не ходящих по своим же ссылкам.
https://docs.rs/cve-rs/latest/cve_rs/lifetime_expansion/index.html
> How it works
> There is a soundness hole in the Rust compiler that allows our domain expansion to work.
...
> rustc should infer that one of the lifetimes does not outlive 'static, so that we can’t
> use lifetime_translator; however, for whatever reason, it doesn’t, so this exploit works.
> See https://github.com/rust-lang/rust/issues/25860 for this bug’s bug report.
Воены-кексперты, что с лицом?
| |
|
|
6.56, Аноним (45), 15:33, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Сейф раст ничего не гарантирует.
...
> opened on May 28, 2015
>>Воены-кексперты, что с лицом?
> У меня всё прекрасно, а у вас что с лицом уже почти
Какое ловкое переобувание в прыжке, однако ...
| |
|
7.69, Аноним (35), 15:44, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
А ты забавный. Тебе показывают, что язык дырявый. Ты даешь ссылку, что дыра существует 10 лет. Причем в обсуждении дыры прямо пишут, что у раста проблемы тайпчекером и системой типов. 10 лет.
| |
|
|
9.78, Аноним (35), 16:06, 24/11/2024 [^] [^^] [^^^] [ответить] | +/– | На данном этапе развития rust язык и референсный компилятор неотделимы И повтор... текст свёрнут, показать | |
|
8.80, Аноним (45), 16:14, 24/11/2024 [^] [^^] [^^^] [ответить] | +1 +/– | А ты еще забавней, проигнорировал ответ автора cvs-rs, проигнорировал сложность ... большой текст свёрнут, показать | |
|
9.91, Аноним (35), 16:35, 24/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | Ничего я не игнорировал Вам дали ссылку на конкретый баг с полным описанием, ка... текст свёрнут, показать | |
|
10.104, Аноним (45), 17:24, 24/11/2024 [^] [^^] [^^^] [ответить] | +/– | Какая занимательная реальность, в моей - это описание дал я сам, а воены супроти... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
3.49, Аноним (50), 15:22, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Только для целевой атаки достаточно одной уязвимости. Подумай об этом. И про ложку дегтя в бочке меда. Не имеет смысла размер бочки если любое количество дегтя делает даже самую безопасТную бочку неюзабельной. Можно просто сэкономить на бочке.
| |
|
4.60, Аноним (45), 15:37, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> И про ложку дегтя в бочке меда. Не имеет смысла размер бочки если
> любое количество дегтя делает даже самую безопасТную бочку неюзабельной. Можно просто
> сэкономить на бочке.
О, Воены Супротив Раста подтянули "тяжелую артиллерию" в виде натягиваемых на глобус аналогий.
Надеюсь, Воены пилят только ручной пилой (и используют такую же продукцию), а то ведь электро/бензопилу и всякие индустриальные лесопилки легко отыметь простым ломом, что делает их с точки зрения-"логики" Военов неюзабильными ...
| |
|
5.86, Аноним (50), 16:27, 24/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Нет никаких военов. Есть только люди со здравым смыслом и это не ты. Кому безопасно есть питон, го, хаскель, джаваскрипт. Руст от них ничем в лучшую сторону не отличается.
| |
|
6.124, laindono (ok), 18:38, 24/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Отличается производительностью выполняемого кода в той же когорте, что и C/C++.
Раньше выбор стоял между крестиками и питоном (условно) и выбор состоял в безопасности против производительности.
Теперь выбор между растом и условным питоном. При этом выбор между скоростью написания кода и производительностью.
Со временем плюсы станут коболом. Куча легаси кода, который никто особо не хочет трогать кроме старичья.
| |
|
7.234, Be My Baby (?), 17:22, 25/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Что? Опять кто то знает, как лучше, "молодое чудо" называет старичьём тех, кто для него <s>построил эту цивилизацию</s> прошёл по этой дороге и накопил все эти знания. Эх.
Удачи в воспитании благодарных учеников :)
| |
|
|
9.294, Аноним (292), 09:18, 30/11/2024 [^] [^^] [^^^] [ответить] | +/– | Те кто писал код не криво-косо - очевидно, не написали тот код, который все испо... текст свёрнут, показать | |
|
|
|
|
|
|
3.77, Аноним (77), 16:03, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Поэтому проблемы если возникают, то именно unsafe блоках.
А Rustonomicon говорит строго обратное, что unsafe - нелокален, и что от него проблемы могут возникнуть вообще где угодно.
| |
|
4.146, Аноним (-), 22:10, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А Rustonomicon говорит строго обратное, что unsafe - нелокален,
> и что от него проблемы могут возникнуть вообще где угодно.
Нет. Проблемы находятся именно в unsafe блоках.
А вот последствия этих проблем таки да не локальны и могут проявится везде.
Как следствие при напр. неясном segfault нужно просмотреть только unsafe code, чтобы найти проблему, а не всю кодовую базу.
| |
|
5.262, Аноним (-), 11:35, 26/11/2024 [^] [^^] [^^^] [ответить] | +/– | Нет, если у тебя есть один unsafe, то проблема может быть где угодно, не только ... большой текст свёрнут, показать | |
|
|
3.159, fuggy (ok), 02:14, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Риторический вопрос, сосед интересуется. Почему бы убрать unsafe в некоторых случаях чтобы вместо 7500 было бы 3500 unsafe функций. То есть переписать частично на safe rust, так и верифицировать меньше придётся. Раз оно что-то там не сходится, то значит не хватает абстракций. А то выходит если что-то не получается без unsafe, то просто используем его затычку и делаем чёрную магию.
| |
3.196, ptr (ok), 10:50, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Поэтому проблемы если возникают, то именно unsafe блоках.
Проблемы возникают на любом уровне, так как unsafe лишь косвенно влияет на них. Классический пример - использование MaybeUninit. Проблемы возникают при ошибках в его использовании, а вовсе не в самом unsafe блоке.
> Но в расте тебе нужно будет верифицировать 7.5к функция, а не 35 тысяч как в других языках.
По вышеописанным причинам, верифицировать потребуется всё равно всю библиотеку. Даже контроль за входными параметрами осуществляется совсем не в unsafe блоке.
> А это почти в 5 раз меньше работы.
В той же glibc функций, в которых потенциально возможны угрозы, тоже не порядка 20% процентов. Так что тут паритет.
| |
3.197, ptr (ok), 10:55, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Поэтому проблемы если возникают, то именно unsafe блоках.
Проблемы возникают на любом уровне, так как unsafe лишь косвенно влияет на них. Классический пример - использование MaybeUninit. Проблемы возникают при ошибках в его использовании, а вовсе не в самом unsafe блоке.
> Но в расте тебе нужно будет верифицировать 7.5к функция, а не 35 тысяч как в других языках.
По вышеописанным причинам, верифицировать потребуется всё равно всю библиотеку. Даже контроль за входными параметрами осуществляется совсем не в unsafe блоке.
> А это почти в 5 раз меньше работы.
В той же glibc функций, в которых потенциально возможны угрозы, тоже не порядка 20% процентов. Так что тут паритет.
| |
|
2.6, Аноним (6), 12:03, 24/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Нет ничего иделаьного! А результат всяко лучше по сравнению с С/C++.
| |
|
3.90, Аноним (90), 16:35, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Если на стройке носить 10 касок подряд, то будет в 10 раз безопаснее! Но почему-то в реальности так никто не делает.
| |
|
4.200, Прохожий (??), 12:02, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Кривая аналогия. Правильной была бы такая. На стройке желательно носить каску, защитные очки, перчатки строительные, спецодежду, страховку (если ты высотник).
| |
4.206, Аноним (-), 12:44, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Если на стройке носить 10 касок подряд, то будет в 10 раз безопаснее!
А почему 10, а не 20?
Если при думывать глупые аналогии, то почему не доводить до абсурда?
> Но почему-то в реальности так никто не делает.
Конечно не делают.
С/С++ это вообще без каски, страховки и, как выясняются никто не читал правила ТБ (стандарт).
В общем рабочие прыгают на арматуру, котрую пилять болгаркой без кожуха, крановщик роняет плиты, сварщик варит без очков-маски, бетономешалка мешает бетон, бригада строителей пьет...
И кстати "в реальности" при первом же C̶V̶E̶ факапе, всех ответственных будут набутыливать.
Жаль в софте пока AS IS, и никакой ответственности за овнокод нету((
| |
|
|
2.7, proninyaroslav (ok), 12:04, 24/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
А теперь представим что unsafe нет, и нужно перелопатить 35к функций, вместо 7500 если бы unsafe был.
| |
|
3.15, 21yosenior (?), 12:48, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Там и так нужно перелопатить 35к, уб в расте есть везде. Не говоря о том, что многие из этих 35к - хэлворды.
| |
|
4.18, proninyaroslav (ok), 12:59, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
UB в расте не может быть за пределами unsafe блока. Это гарантированно. Все остальное он конечно не гарантирует, например утечки памяти.
| |
|
|
6.47, proninyaroslav (ok), 15:20, 24/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Семантика языка, которая гарантирует безопасность, это всего лишь описание. Но конечно многое зависит от компилятора и его уязвимостей которые всегда есть. И этот проект по сути их демонстрирует.
| |
|
7.57, Аноним (50), 15:33, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Он демонстрирует что в расте нет никакой необходимости. Дешевле писать на нормальных языках. Сейф на питоне, ансейф быстрый код на с++ как модули для питона. Все экономия 1000%
| |
|
|
|
|
3.55, Аноним (50), 15:32, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Почему нельзя сразу написать безопасно. Если есть ансейф то язык уже небезопасен.
| |
|
4.201, Прохожий (??), 12:06, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>то язык уже небезопасен
Всё-таки с логическим мышлением у вас проблемы. Не язык в целом, а часть кода на языке с пометкой unsafe.
| |
|
|
2.180, Аноним (180), 07:55, 25/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Надо теперь всё с Rust переписать на SPARK, чтобы было надёжно и верифицируемо.
| |
|
|
|
3.58, Аноним (50), 15:36, 24/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Но ведь адепты говорили что факт написания ансейфа будет помогать программисту сильнее концентрироваться на ошибках в коде, а оказывается не помогает. И хакер все равно выйдет за границы и возьмёт рута. А уязвимость поправят только через 5 лет во время какой-то там верификации. Причем найдут только 1 из 10 уязвимостей.
| |
|
4.68, Аноним (45), 15:43, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Но ведь адепты говорили что факт написания ансейфа будет помогать программисту сильнее
> концентрироваться на ошибках в коде, а оказывается не помогает. И хакер
> все равно выйдет за границы и возьмёт рута.
А гугол-то в курсе?
https://www.opennet.ru/opennews/art.shtml?num=61933
> Методы безопасной работы с памятью позволили существенно снизить число уязвимостей в Android
...
> Изменения позволили снизить долю связанных с памятью уязвимостей в Android c 76% в 2019 году до 24% в 2024 году
---
> А уязвимость поправят только через 5 лет во время какой-то там верификации. Причем найдут только 1 из 10 уязвимостей.
Опять методика 'Пальцем в небо' сертифицированного сотрудника 'НИИ Кекспертизы и вбросов' им. Опеннета?
| |
|
5.84, Аноним (50), 16:25, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Опять повысились надои? А новость сабжевую ты прочитать не хочешь? Чтобы найти вульны нужна аш целая инициатива от целого Амазона. Без этого вульны не ищутся.
| |
|
6.106, Аноним (45), 17:32, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Опять повысились надои? А новость сабжевую ты прочитать не хочешь? Чтобы найти
> вульны нужна аш целая инициатива от целого Амазона. Без этого вульны
> не ищутся.
Опять альтернативная реальность? А то в нашей гугол платит нехилые бабки за каждый найденый вулн:
https://opennet.ru/opennews/art.shtml?num=60780
> Из потраченной в 2023 году суммы $3.4 млн (в прошлом году $4.8 млн) выплачено за уязвимости в Android. За информацию об уязвимостях в браузере Chrome было выплачено 359 премий на общую сумму $2.1 млн (в прошлом году $3.5 млн).
Че там кстати с твоими чиселками? Я угадал с методикой очередного статистического опеннетного исследования?
| |
|
7.108, Аноним (50), 17:40, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Что та скоростью разработки в 10 раз медленнее? Серво уже дописали? Или может редокс?
| |
|
|
|
|
|
2.237, погроммист (?), 17:53, 25/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Плюсовый код 100% unsafe, в проде уже 25 лет -- и ни разу не видел что-бы хоть кто-то заморачивался с его верификацией дальше академико-теоретических кругов.
| |
|
|
|
3.19, 21yosenior (?), 13:08, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Хоть со своей, хоть с чьей-то ещё. Заявляется безопасность кода на языке, а не либы - подучи логику. Ансейфа нет, проблемы есть.
| |
|
4.23, Аноним (45), 13:35, 24/11/2024 [^] [^^] [^^^] [ответить] | +/– | Кекспертизм опеннетный, аз из Да и то, что для появления проблем т е чтобы най... большой текст свёрнут, показать | |
|
5.26, 21yosenior (?), 13:44, 24/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Всё, ответов не будет? С одного вопроса потеряться - мощно.
> cve-rs also contains safe reimplementations of
> safe reimplementations
Молодец, умножил на ноль тезисы предыдущего героя. Хоть не зря кучу левого мусора спастил.
| |
|
6.32, Аноним (45), 14:15, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Всё, ответов не будет? С одного вопроса потеряться - мощно.
Не суметь прочесть три предложения и сразу перейти к "папа, где море?" - намного уныл^W мощнее.
>> cve-rs also contains safe reimplementations of
>> safe reimplementations
> Молодец, умножил на ноль тезисы предыдущего героя. Хоть не зря кучу левого мусора спастил.
Молодец, обозвал сигнатуру transmute "левым мусором" и не сумел написать ничего по существу ... зато выдал хороший, объемный выхлоп метана - Газпром гордится тобой!
| |
|
|
|
|
2.53, Прохожий (??), 15:31, 24/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Следует отличать хак, найденный в компиляторе, от намеренного UB в стандарте (sic!) языка программирования. Вы там чуть ниже про логику говорили...
| |
|
3.61, Аноним (50), 15:37, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
У раста нет стандарта. Ты с логикой поссорился ещё очень много лет назад.
| |
|
4.73, Прохожий (??), 15:52, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
21yosenior
У Rust нет спецификации, но есть RFC. Принципиальной разницы на вижу, как и, например, группа разработчиков Gcc,которые работают над своей версией компилятора.
Говоря о стандартах, я имел ввиду не Rust, а C, C++.
Про какое "воровство" вы тут говорите?
| |
|
5.85, 21yosenior (?), 16:26, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Про какое "воровство" вы тут говорите?
Я написал про какое. Приведены противоречия лозунгов("гарантирует" и прочее) с реальностью(никаких гарантий). Что ты мне отвечаешь? - "а вот в сишке уб". Никто не спрашивал тебя про сишку, тебя спрашивали про враньё. Но ты начал прятаться за сишку, пытаясь съехать с темы.
RFC мусор, который ничего не описывает. Можешь показать мне описание модели памяти в расте. Это принципиальная разница.
| |
|
|
7.263, Аноним (263), 12:11, 26/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>И как же тогда разработчики GCC на основе этого "мусора" решились создать свой компилятор?
Ну если эти RFC окажутся неясными/неполными, то получится диалект GNU/Rust.
| |
|
|
|
|
3.70, 21yosenior (?), 15:44, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Покажешь мне стандарт раста. Иди погугли, вернёшься как найдёшь.
К тому же, в очередной раз заходы уровня "а у вас негров линчуют". Кто-то говорил здесь про сишку и прочие языки? - нет. Но данный пропагандист почему-то начал прятаться за ними.
Это кстати, фундаментальное свойство. Раст состоит из воровства не только по части семантики/компилятора/рантайма/прочего, но также из воровства обоснований своей состоятельности. То есть без пряток за сишку даже сказать никто не смог, что из себя представляет раст и зачем он нужен.
| |
|
4.101, Аноним (-), 17:12, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Это кстати, фундаментальное свойство. Раст состоит из воровства не только по части семантики/компилятора/рантайма/прочего,
ого, ну у тебя бомбануло!
а какой компилятор украли?
его сначала на окалме писали, потом на самом расте..
даже бекенд на самом расте уже есть
> но также из воровства обоснований своей состоятельности.
Ты часом не бухаешь? а то логика как-то хромает.
> То есть без пряток за сишку даже сказать никто не смог, что из себя представляет раст и зачем он нужен.
Для того чтобы сравнить что-то, нужно минимум два операнда.
Раст избавляет от типичных ошибок памяти... в чем?
в си/с++, а аде и фортране такого же нет.
| |
4.241, Прохожий (??), 21:33, 25/11/2024 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Покажешь мне стандарт раста. Иди погугли, вернёшься как найдёшь.
Надеюсь, вы справитесь с тем, чтобы прочитать все мои ответы в этой ветке. Когда осилите (хотя есть большие сомнения на этот счёт), приходите, продолжим беседу.
Кстати, вас родители не научили, что тыкать незнакомым людям - невежливо? Или вы всё ещё в процессе этой учёбы?
| |
|
|
|
1.20, Аноним (20), 13:14, 24/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Компания Amazon и организация Rust Foundation представили инициативу
Только один вопрос. Кто им разрешил?
| |
|
2.27, ijuij (?), 13:54, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Хороший вопрос! Иногда кажется, что разрешение не требуется.
| |
|
3.39, Аноним (20), 14:40, 24/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Вопрос не праздный. Вспомним Ada, созданный МО. Да, он есть, но связываться с ним как-то не хотелось и не хочется. За Rust также топит МО. И это тоже как бы намекает. Последствия будут, если не сейчас, так потом. Смотреть надо не сиюминутные выгоды, а на перспективу.
Наверное, лучше остаться на относительно свободном C/C++, в том числе для новых проектов.
| |
|
4.71, Прохожий (??), 15:47, 24/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
>За Rust также топит МО.
Но не оно является создателем языка, и не оно создаёт компилятор.
>И это тоже как бы намекает. Последствия будут, если не сейчас, так потом.
Например, какие?
>Наверное, лучше остаться на относительно свободном C/C++, в том числе для новых проектов.
Группа разработчиков Gcc работает над компилятором Rust, если вы о вендорлоке.
| |
|
|
|
7.119, Аноним (50), 18:07, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
А ещё она медицинскую помощь нелегальным мигрантам не оказывает. Давай больше бессвязных фактов.
| |
7.178, Аноним (178), 06:52, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> МО не занимается вопросами экспорта.
Безусловно. Вопросами ограничения занимается.
| |
|
6.253, Прохожий (??), 22:46, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ок. Назовите хотя бы пяток свободных компиляторов C. Заодно назовите страну, где находится исходный код этих компиляторов.
| |
|
5.149, Аноним (13), 22:28, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Группа разработчиков Gcc работает над компилятором Rust
это фиктивный костылёк чтобы можно было собрать ядро Linux. Полноценный компилятор есть и будет только один под полным контролем корпораций и учитывая что там не GPL тухлый вариант чтобы с ним связываться.
| |
|
6.151, Аноним (50), 23:06, 24/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Тем более нет никаких методик как определить что gcc компиль раста работает так же как штатный компиль раста. И на какую именно версию компиля gcc ровняется на 1.10 или 1.20.
| |
6.165, Прохожий (??), 02:41, 25/11/2024 [^] [^^] [^^^] [ответить]
| –3 +/– |
Вы уже не первый, и, видимо, не последний человек, говорящий про контроль корпораций над чем-то. Хочу вам открыть страшную тайну, только обещайте никому не говорить. Так вот. Все сколь-либо крупные проекты контролируются корпорациями в той или иной степени.
И никакая GPL вам не поможет, если корпорации решат перекрыть доступ к открытому ранее коду, даже если у вас будет возможность форкнуть этот самый код. Почему? Потому что создание сколь-либо сложного, годного в употребление ПО требует немалых усилий. Как показывает многолетняя практика, так называемое сообщество не в состоянии без контроля со стороны корпораций тянуть подобные проекты. И они быстро протухают.
| |
|
7.174, Аноним (13), 03:29, 25/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | GPL не позволяет закрыть общий код, разве это непонятно Пример Linux - вспотее... большой текст свёрнут, показать | |
|
8.176, Прохожий (??), 03:38, 25/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | Похоже, вы не до конца поняли мою мысль Вот был проект X, которым владела корпо... большой текст свёрнут, показать | |
|
9.199, Аноним (13), 11:09, 25/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | это не мысль а подмена понятий, проектом владеет коммерческая компания и даже ес... текст свёрнут, показать | |
|
|
11.255, Аноним (13), 23:54, 25/11/2024 [^] [^^] [^^^] [ответить] | +/– | речь была про GPL, там где вы рассказывали Вот был проект X, которым владела ко... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
3.87, Аноним (50), 16:29, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Это ты сейчас смеёшься, а когда всех пересдачи принудителтно на OneScript я на тебя посмотрю.
| |
|
4.297, Страдивариус (?), 20:22, 30/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Это ты сейчас смеёшься, а когда всех пересдачи принудителтно на OneScript я
> на тебя посмотрю.
А что на меня смотреть-то? Я покинул зону поражения OneScript'ом.Тебе же предлагаю случать "Научно-технический рэп", трек "Язык для славян" )))
| |
|
|
|
1.59, Аноним (59), 15:37, 24/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Не могу я понять растохейтеров. Впервые появился инструмент, позволяющий безопасно работать с памятью без ГЦ, без потери производительности, а они только критикуют. Самое смешное, что они критикуют Раст за то, что он не спасает от всех ошибок. "Что ж за безопасность, от всего не защищает, поэтому лучше останусь на Си". Логика классная, да, чем получить хоть какую-то защиту, буду шпарить дальше на абсолютно незащищённым Си.
| |
|
2.67, Аноним (8), 15:41, 24/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Без какой потери производительности? Тесты посмотри. Магии не бывает.
| |
|
|
4.83, Аноним (50), 16:23, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
О да тесты на домене 4го уровня. А самому головой подумать? Или как ты делаешь дополнительную работу не задействуя дополнительных команд процессора?
| |
|
5.96, Аноним (-), 16:56, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Э.. на этапе компиляции?
Если у тебя типы провепяются во время компиляции, если элемент Enum у тебя можно отличить от другого перечисления (и это не задекорированный int как в других языках), если у тебя есть проверки инвариантов, если проверки на null...
Да скорость сборки у тебя замедлится, но выполнение может быть на том же уровне.
| |
5.99, Аноним (98), 17:06, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> тесты на домене 4го уровня
Других аргументов, полагаю, нет и не будет.
| |
|
|
7.123, Аноним (45), 18:20, 24/11/2024 [^] [^^] [^^^] [ответить] | +2 +/– | Кстати, вдогонку насчет рантайма и дабы немного подогреть бедных военов а то зи... большой текст свёрнут, показать | |
|
|
9.144, Аноним (45), 21:38, 24/11/2024 [^] [^^] [^^^] [ответить] | +1 +/– | CODE Сама статья короткая, но постулирует довольно большой список спорных утве... большой текст свёрнут, показать | |
|
|
|
|
5.102, Аноним (45), 17:13, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> О да тесты на домене 4го уровня.
О, опоздавший родиться и не слышавший о "The Computer Language Benchmarks Game", зато топящий за сишку? Ну, бывает, особенно у неофитов.
> А самому головой подумать? Или как ты делаешь дополнительную работу не задействуя дополнительных команд процессора?
Короче, тестов сравнимых по качеству хотя бы с бенчмарк-геймом не будет, будет лишь вода и "нещитаица".
| |
|
6.109, Аноним (126), 17:44, 24/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
>зато топящий за сишку? Ну, бывает, особенно у неофитов.
Неофит - новый сторонник какой-либо религии.
Новыми можно назвать адептов Rust.
Так что, как то, неправильное употребление слова.
| |
|
7.114, Аноним (50), 17:54, 24/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Он ещё даже вуз не окончил, а уже пытается умные слова употреблять.
| |
7.167, Прохожий (??), 02:57, 25/11/2024 [^] [^^] [^^^] [ответить]
| –3 +/– |
Придирки к одному единственному слову, игнорируя общий смысл сказанного... Таки он прав в том, что религиозны не программисты на Rust, а программисты на C. И вы - яркий тому пример.
| |
7.220, Аноним (218), 14:44, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Неофит - новый сторонник какой-либо религии.
>Новыми можно назвать адептов Rust.
С чем воевали хейтеры раста, до появляения раста? С хаскелем? Окамлом? Логикой?
| |
|
|
7.115, Аноним (45), 17:57, 24/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Неофит - новый сторонник какой-либо религии.
> Новыми можно назвать адептов Rust.
А Воены Супротив Раста - это члены древнего и уважаемого Ордена Защиты Вселенной от Ржавой Угрозы, ага.
> Без какой потери производительности? Тесты посмотри. Магии не бывает.
> Подгонять что угодно под тесты любимая задача для очковтирателей.
А ты самокритичен! Правда, тесты так и не предоставил.
Ну и не очень понятно, какие именно религиозные обеты не дают написать Военам более правильные тесты на правильных ЯП в Shootout-e?
| |
|
|
|
4.193, Аноним (193), 09:45, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
В любой прикладной задаче, где потребуется передать владение каким-либо массивом объектов или их свойств, раст сразу садится а лужу.
| |
|
5.221, Аноним (218), 14:48, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
В этом случае есть варианты: отстрелить ногу в ручном управлении памятью, позвать на помощь GC. Интересно, что же выберут сишники?
| |
|
|
3.219, Аноним (218), 14:42, 25/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
>Без какой потери производительности? Тесты посмотри. Магии не бывает.
Про zero cost дремучие люди не слышали?
| |
|
2.170, Аноним (170), 03:02, 25/11/2024 [^] [^^] [^^^] [ответить] | +2 +/– | Потому что раст не позволяет безопасно работать с памятью и теряет производитель... большой текст свёрнут, показать | |
|
3.173, Аноним (59), 03:21, 25/11/2024 [^] [^^] [^^^] [ответить] | –3 +/– | И что же архаичного в синтаксисе и дизайне Раста Он напротив современен - в нем... большой текст свёрнут, показать | |
|
4.215, Аноним (193), 14:12, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну так вставь борроу чекер в GCC, тебе же никто не мешает. И раст сразу становится ненужон.
| |
|
5.258, Аноним (218), 10:01, 26/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Только вот кода под этот самый gcc с борроу чекером нет и не будет.
| |
|
|
3.175, Прохожий (??), 03:33, 25/11/2024 [^] [^^] [^^^] [ответить] | –2 +/– | Проверка работы с памятью проводится на этапе компиляции, а не на этапе выполнен... большой текст свёрнут, показать | |
|
|
5.248, Прохожий (??), 22:03, 25/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Вобще-то есть. Кто ищёт, тот найдёт. Это первое. Второе. Надо не только на вакансии смотреть, а ещё нравится ли лично вам тот или иной язык программирования. Если не нравится, а вы бегаете исключительно за зарплатой (никакого удовольствия от работы), мне вас искренне жаль. Очень быстро спалите свою психику, лимбическая система не выдержит.
| |
|
|
3.222, Аноним (218), 14:52, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Ну тогда или нужно смотреть на самом деле безопасные и верифицируемые языки вроде хаскеля
Из всех типизированных функциональных языков вы выбрали один из самых неповоротливых.
>или на управляемые вроде питона
Спасибо, не надо
>или джавы
На чём реализовать саму джаву? А операционную систему для джавы?
>и стараться писать безопасные программы на быстрых языках вроде того же си/на ассемблере
Стараться не значит достичь. Сейчас в таких программах вагоны уязвимостей.
| |
3.223, Аноним (218), 14:53, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Ну тогда или нужно смотреть на самом деле безопасные и верифицируемые языки вроде хаскеля
Из всех типизированных функциональных языков вы выбрали один из самых неповоротливых.
>или на управляемые вроде питона
Спасибо, не надо
>или джавы
На чём реализовать саму джаву? А операционную систему для джавы?
>и стараться писать безопасные программы на быстрых языках вроде того же си/на ассемблере
Стараться не значит достичь. Сейчас в таких программах вагоны уязвимостей.
| |
|
2.207, xPhoenix (ok), 12:46, 25/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это люди из анекдота про реку с пираньями и мост с надёжностью "всего лишь" в 99,99%.
| |
|
3.214, Аноним (193), 14:08, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Просто не правильно рассчитывали вероятность. Правильно было: или сломается, или нет, т.е. 50%
| |
|
2.265, anonymmmeer (?), 12:23, 26/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Впервые
звездёшь
>позволяющий безопасно
снова звездёшь
>без потери производительности,
опять звездёшь
Просто ребятки с помощью маркетинга пытаются сделать монополию в системной разработке,
чтобы потом их кривулькину идею пришлось всем доробатывать, ибо альтернатив нет, а они бы
ещё и руководили всем этим процессом.
но технарей по началу можно поймать на маркетинг, а потом они стали задавать вопросы
| |
|
3.274, Аноним (59), 21:24, 26/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Где ж маркетинг, если это всё очевидности. Си - вообще не даёт никаких защит, а тут борроу чекер. Если вы не разбираетесь, не надо комментировать с умным видом про "пойманных на маркетинг"
| |
|
4.286, anonymmmeer (?), 13:45, 27/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Си - вообще не даёт никаких защит, а тут борроу чекер.
не даёт из коробки, это как gdb не часть vim.
но если надо есть frama-c, а если это слишком много, то есть статический анализатор или просто более сильные флаги компилятора.
Все защиты есть, просто это не IDE поставить с плагинами и делать вид, что это и есть профессионализм.
У товарища Дейкстры IDE не было, но профессионалом он был.
p.s. C язык высокого уровня, вот в ассемблере защит и правда нет.
| |
|
|
|
1.107, Аноним (-), 17:40, 24/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
>За последние три года в библиотеке было выявлено 57 проблем с корректностью работы, из которых 20 были помечены как уязвимости.
Кто тут говорил, что Раст безопасен?
| |
|
|
3.172, Прохожий (??), 03:06, 25/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
В данном случае следовало бы сказать, что не Rust, а некоторые библиотечные функции.
| |
|
4.183, Аноним (50), 08:55, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
На безопасном языке невозможно написать небезопасную библиотеку. Головой поработай чутка.
| |
|
5.249, Прохожий (??), 22:13, 25/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Да, можно. Но это будет осознанный поступок в отличие от кода на Си, где вы даже не заметите, как на очередную мину наступите, а потом, когда это выстрелит в проде, потратите ещё кучу времени на поиск бага.
| |
5.278, Прохожий (??), 01:53, 27/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> На безопасном языке невозможно написать небезопасную библиотеку.
Неужели? Возьмём самый безопасный язык из самых популярных - Питон. Скажете, что нельзя на нём файлы поудалять случайно? Правильный ответ - можно. Но как же так? Он же безопасный?
Вот и поработайте головой, прежде, чем писать подобные глуповатые утверждения.
| |
|
|
|
2.171, Прохожий (??), 03:05, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Я говорил. Но всегда уточнял, что безопасность касается только типовых ошибок работы с памятью, а не вобще всех на свете, от которых может спасти только формальная верификация, как здесь уже отмечали. Однако эта верификация - процесс медленный, очень дорогой, и поэтому далеко не всегда целесообразный.
| |
|
|
4.244, Прохожий (??), 21:43, 25/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну вот зачем вы продолжаете из сообщения в сообщение демонстрировать дремучее невежество? Код на Go будет более тормознутым и непредсказуемым в плане производительности по сравнению с кодом на Rust. Потому что в Go используется сборщик мусора. А в Rust его нет.
| |
|
|
|
1.130, Bottle (?), 20:00, 24/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А толку, если у язычка нет спецификации? Он небезопасен by design, парадоксально, но даже Си безопаснее, потому что минимальная работа по стандартизации проведена.
| |
|
2.134, Аноним (-), 20:39, 24/11/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Это вы про тот стандарт, которым подтираются (-fno-strict-aliasing) чтобы собрать ядро linux?
| |
|
3.210, Bottle (?), 13:15, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Я сам терпеть не могу Си, но, в отличие от Rust, он имеет несколько относительно взаимозаменяемых реализаций.
Если что-то плохое случится с разработкой компилятора Rust (например, крупный слом обратной совместимости), это затронет всех разработчиков на Rust.
| |
|
4.211, Аноним (-), 13:25, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Я сам терпеть не могу Си, но, в отличие от Rust, он имеет несколько относительно взаимозаменяемых реализаций.
У раста тоже есть несколько компиляторов.
> Если что-то плохое случится с разработкой компилятора Rust (например, крупный слом обратной совместимости), это затронет всех разработчиков на Rust.
Это как?
У них есть Edition в которых как раз фиксируются изменения ломающие совместимость.
Т.е можно указать Edition-2018 и спокойно писать.
А если завтра в С29 сломают? То что будет?
Точно так же зафиксируется версия языка в проекте и всё, проблем быть не должно.
| |
4.226, Аноним (218), 15:01, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Я сам терпеть не могу Си, но, в отличие от Rust, он имеет несколько относительно взаимозаменяемых реализаций.
И каких же? А то целые новости "$проект теперь можно собирать llvm"!
>Если что-то плохое случится с разработкой компилятора Rust (например, крупный слом обратной совместимости), это затронет всех разработчиков на Rust.
А что же будет в си в этом случае? Опять нельзя будет проект собирать любым компилятором?
| |
4.233, Анонимусс (-), 17:20, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> несколько относительно взаимозаменяемых реализаций.
Ну есть. А толку?
Вот потратили N человеколет на то, чтобы ядро компилировалось еще хотя бы чем-то кроме gcc. Отличный пример взаимозаменяемости. А напр. хромиум достаточно долго не компилился gcc10, пока это тоже не исправили.
> Если что-то плохое случится с разработкой компилятора Rust
то все просто будут компилять последним имеющимся.
Точно также как если что-то произойдет с разработкой gcc, напр. они будут тянуть с принятием новых стандартов.
Вы не побежите менять компилятор.
> крупный слом обратной совместимости
У раста как раз с обратной совместимостью все лучше чем у си и с++.
| |
|
|
2.138, Аноним (45), 21:18, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А толку, если у язычка нет спецификации? Он небезопасен by design, парадоксально,
> но даже Си безопаснее, потому что минимальная работа по стандартизации проведена.
Это да, поэтому минимальный код для сложения знаковых чисел _по_стандарту_:
[CODE]
#include <limits.h>
void f(signed int si_a, signed int si_b) {
signed int sum;
if (((si_b > 0) && (si_a > (INT_MAX - si_b))) ||
((si_b < 0) && (si_a < (INT_MIN - si_b)))) {
/* Handle error */
} else {
sum = si_a + si_b;
}
/* ... */
}[/CODE]
красота, че!
| |
|
3.141, Аноним (50), 21:31, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Как это оптимизировать чтобы код выполнялся за минимальное количество тактов? Да никак код или быстрый или безопасный или рыжая морда опять звездит.
| |
|
4.145, Аноним (-), 21:44, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> код или быстрый или безопасный или ...
поведение просто определеной и у тебя не будет UB.
А просто будет two's complement wrapping.
Получается и быстро, и безопасно, и главное предсказуемо.
Поведение едино для языка, а не приколочено к платформе, компилятору, флагам, фазе луны...
| |
4.147, Аноним (45), 22:17, 24/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Как это оптимизировать чтобы код выполнялся за минимальное количество тактов?
> Да никак код или быстрый или безопасный или рыжая морда опять звездит.
Ну, с высоты опеннетных, совсем не палящихся кекспердов-теоретиков все может быть.
А так-то:
[CODE]
if (__builtin_sadd_overflow(si_a, si_b, &sum))
[/CODE]
и будет из всех проверок на (не очень экзотических) платформах условный JO/BVS, вместо вон того вон.
Работает в шланге, gcc и icc - ну это кому шашечки.
| |
4.230, Аноним (218), 15:24, 25/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
С помощью зависимых типов, очевидно же. Но сишники же про типизацию не слышали, у них везде void*
| |
|
3.235, Ну блин (?), 17:40, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
На уровне ассемблера и регистров процессора, сложение двух 32-битовых регистров со значениями 0x7FFFFFFF тоже приведёт к переполнению. Вот только процессор об этом явно скажет флагом, а ЯВУ этот факт от программиста сознательно прячут.
Вот и рождаются такие монстры "сложения по стандарту"
| |
|
2.143, Аноним (-), 21:34, 24/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> но даже Си безопаснее
Си дыряв прям по его убогому недостандарту. Потому что назвать, да и еще и хвастаться, стандартом то, в чем 193 UB - это просто плевок в лицо всем стандартизаторам
gist.github.com/Earnestly/7c903f481ff9d29a3dd1
При этом в safe расте нет UB. При том что у него нет "коммитетского" стандарта, а набор RFC.
rust-lang.github.io/rfcs/
В unsafe есть немного UB, из-за необходимости взамодействия с другими языками, в том числе и с мерзопакостной. doc.rust-lang.org/reference/behavior-considered-undefined.html
И это не учитывая разное поведение разных компиляторов и даже версий одного компилятора.
Ну и где дыряшка безопаснее?
| |
|
|
4.217, Аноним (-), 14:18, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>> При этом в safe расте нет UB.
> в safe C тоже
А что это за "safe C"?
Я в стандарте такого не читал.
Оно вообще релизнулось?
Если нет стандарта, то зачем брать какое-то васяноподелие - у меня уже такое есть - раст называется.
| |
|
5.228, Аноним (13), 15:17, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Я в стандарте такого не читал.
можешь курсы пройти
https://ldra.com
> Если нет стандарта, то зачем брать какое-то васяноподелие - у меня уже такое есть - раст называется.
напиши что-нибуть на расте безопасное низкоуровневое потом приходи, а такой раст как у тебя есть у любого школьника в фантазиях, толку только никакого
| |
|
6.229, Аноним (-), 15:23, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>> Я в стандарте такого не читал.
> можешь курсы пройти
> https://ldra.com
Курсы мисры? Спасибо за совет)
Насколько я помню все "рекомендации" не являются обязательными к исполнению.
Я открыл ISO/IEC 9899:2011 и там нет ничего про "safe c"
> напиши что-нибуть на расте безопасное низкоуровневое потом приходи, а такой раст как у тебя есть у любого школьника в фантазиях, толку только никакого
Я на расте не пишу, пусть другие делают.
И кстати у них получается - видеодрайвер для M это достаточно низкоуровнево?
Или прошивки для вольво или рено?
| |
|
|
|
|
|
1.181, Аноним55 (?), 08:08, 25/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Предполагаю, что истинной целью проекта Rust является отвлечение ресурсов потенциальных конкурентов на изучение бесперспективного проекта и бессмысленные дискуссии. Это известные действия, и в науке даже имеют специальный термин - "троянское обучение".
| |
|
|
3.190, Аноним (-), 09:28, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Да методичку по саботажу никто пока что не менял и не исправлял.
А откуда у вас информация, что методичку не поменяли?
Палитесь, товарищ!
| |
|
2.192, Аноним (193), 09:41, 25/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вы не понимаете, это всё - борьба с безработицей. Так же как и крипта.
| |
2.250, Прохожий (??), 22:20, 25/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
У вас предполагалка сломалась. Раст восстребован: Гугл, Амазон, Дискорд, Дропбокс, Клаудфлэр - все эти фирмы используют Раст, а скоро ожидается и в ядре Линукса (хотя это и находит определённое сопротивление некоторых дедов, которые уже просто не могут).
Бесмыссленными дискуссии бывают только тогда, когда прилетает очередное "чудо-дитя", которое ни строчки документации не прочитало, и тут же начинает высказывать свои "ценные мнения", не владея предметной областью и с весьма ограниченным кругозором.
| |
|
|
4.267, Прохожий (??), 13:39, 26/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
А предлагаю следующее. Всем притормозить инновации и начать переписывать имеющиеся проекты на Раст. Пусть вы потратите на это десять лет и разгоните опытных программистов, которые не хотят изучать это фуфло. Потому что
> Гугл, Амазон, Дискорд, Дропбокс, Клаудфлэр - все эти фирмы используют Раст | |
|
5.281, Прохожий (??), 02:14, 27/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Потому что
>> Гугл, Амазон, Дискорд, Дропбокс, Клаудфлэр - все эти фирмы используют Раст
Что плохого в том, что перенимать положительный опыт у лидеров в сфере разработке ПО?
| |
|
4.275, Прохожий (??), 01:37, 27/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Предлагаю использовать Rust в новых проектах вместо морально устаревшего C, например. Ну и вообще там, где требуется высокая производительность.
| |
|
5.283, Прохожий (??), 07:49, 27/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Прости, коллеги, я тут немного сам с собой спорю. Это не потому что не с кем, а потому что с умными людьми приятно и поспорить.
| |
|
|
|
|
1.191, Аноним (191), 09:37, 25/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>в 7500 встречаются блоки кода, выполняемые в контексте "unsafe". За последние три года в библиотеке было выявлено 57 проблем с корректностью работы, из которых 20 были помечены как уязвимости.
Такая вот безопасТная безопасность ;)
| |
1.194, Сергей (??), 09:49, 25/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я правильно понимаю, обнаружив уязвимость в единственой библиотечке RUST, я поимею доступ ко всему, что создано на RUST
| |
|
2.195, Нонон (?), 10:36, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Это должна быть как минимум популярная библиотека. А чем популярнее библиотека тем более умные люди там пишут. И вряд ли будут косячить в блоках unsafe. Нали блоки unsafe им в принципе надо
Самые большие косяки в unsafe делают мамкины программисты. У которых это возможно это их первый язык. И они почему-то решили побаловаться с unsafe. Но их крэйты никому не нужны
| |
|
3.203, keydon (ok), 12:10, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А чем популярнее библиотека тем более умные люди там пишут
Сильное утверждение, проверять я ее конечно не буду
| |
|
2.251, Прохожий (??), 22:25, 25/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Стесняюсь спросить, вы вообще программировали когда-нибудь в своей жизни? Потому что судя по задаваемому вопросу, вы или очень далеки от этой темы, или беспросветно глупы.
| |
|
3.257, Аноним (8), 01:44, 26/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
В каждой бочке затычка. Люди пишут своё мнение. У тебя чтоли разрешение спрашивать?
| |
|
4.277, Прохожий (??), 01:47, 27/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Подобные вопросы выглядят как очень и очень тупой троллинг. Мне НЕ нравится такой стиль общения. И я по этому поводу написал своё мнение. Вы, как будто, не против, чтобы каждый высказывал своё мнение, да?
| |
|
|
2.268, Аноним (218), 14:06, 26/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Нет, поскольку не все программы используют эту библиотеку, кроме того, у библиотек разные версии
| |
|
1.238, Аноним (238), 18:44, 25/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
почему было изначально вместо rust'а с unsafe не сделать блок safe в уже всем известных сях?
| |
|
2.239, Аноним (-), 19:02, 25/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | потому что 1 Последние лет пять а может и дольше я слышал только то, что доп... большой текст свёрнут, показать | |
|
3.269, Аноним (263), 17:40, 26/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>3. Скорее всего это будут принимать в стандарт лет 10 - а это вторая священная корова, для любителей небезопасных языков.
Вот в этот -std=gnu2xyz сами разработчики компилятора это могут добавить, не дожидаясь официального стандарта.
| |
|
2.259, Аноним (218), 10:02, 26/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
У сишников было лет пятьдесят, и никаких подвижек в этом направлении нет. Так ещё лет двадцать пройдёт, и ничего не изменится
| |
2.290, ы (?), 18:16, 28/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Вообще люди, работающие с Си, давно для этого по-максимуму используют встроенные проверки в компилятор, которых с каждым годом становится всё больше (и обязательно собирают с -Werror, чтобы посильнее по рукам било). Используют статические анализаторы, используют определённый code style и делают code review не для галочки. И у них прекрасно получается писать вполне себе safe код. Поэтому проблема в Си чисто организационная - кто-то хочет писать грамотный и корректный код, а кто-то хочет поскорее выкатить версию.
| |
|
1.282, Прохожий (??), 02:21, 27/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Мда. Вместо обсуждения реальных проблем языка Rust и возможных способов их преодоления люди склонны заниматься всяким словоблудием и тупым троллингом.
Хотя с другой стороны. Чтобы знать о реальных проблемах этого языка программирования, надо же вначале хоть что-то прочитать о нём. А это уже гораздо сложнее для когнитивных возможностей некоторых высказывающихся.
В итоге, вместо полезного обмена опытом получаем перепалку на тему "Rust не нужен, потому что я его не осилил".
Беда, печаль.
| |
|
2.284, Прохожий (??), 10:11, 27/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Чтобы знать о реальных проблемах этого языка программирования, надо же вначале хоть что-то прочитать о нём. А это уже гораздо сложнее для когнитивных возможностей некоторых высказывающихся. Я тоже программировать как-то не сильно. Но
> заниматься всяким словоблудием и тупым троллингом
люблю.
И это подтверждает мою т.з.
| |
|
|