The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.55, opennews (??), 09-Сен-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


50. "Выпуск языка программирования Rust 1.55"  +5 +/
Сообщение от Растофанатик (?), 09-Сен-21, 21:56 
Мне кажется я теряю веру в Раст. Окружающие говорят что дыры не зависят от языка, а зависят от программиста, который пишет на языке. Пожалуйста скажите что они не правы.
Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск языка программирования Rust 1.55"  +1 +/
Сообщение от Аноним (56), 09-Сен-21, 22:03 
Ищи единомышленников на Stack Overflow.
Ответить | Правка | Наверх | Cообщить модератору

57. "Выпуск языка программирования Rust 1.55"  +2 +/
Сообщение от Аноним (46), 09-Сен-21, 22:03 
К сожалению от языка тоже зависят. Вопрос в процентном соотношении этих дыр. и если можно автоматизировать отлов любой части это нужно делать. Статические анализаторы отчасти решают некоторые проблемы(и обязательно должны использоваться), но к сожалению некоторые они пропускают(например мутации итерируемых контейнеров)
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

64. "Выпуск языка программирования Rust 1.55"  –1 +/
Сообщение от морошка ягодка такая (?), 09-Сен-21, 22:10 
А в расте без приседаний получится менять текущий итератор?

Скиньте код, пожалуйста?

Ответить | Правка | Наверх | Cообщить модератору

93. "Выпуск языка программирования Rust 1.55"  +1 +/
Сообщение от Аноним (46), 09-Сен-21, 23:17 
Нет, компилятор придет и скажет что так нельзя. В расте вообще все сведено чтобы максимальное число потенциальных UB не компилировались. https://play.rust-lang.org/?version=stable&mode=debug&editio... по-началу ошибка может показаться какой-то сумбурной, но немного разобравшись с правилами алиасинга все становится стройно
Ответить | Правка | Наверх | Cообщить модератору

58. "Выпуск языка программирования Rust 1.55"  +5 +/
Сообщение от Хан (?), 09-Сен-21, 22:04 
В C++ если не писать в Си-стиле, юзать ООП ипользоваться STL, можно забыть и про утечки и про сегфолты и макаронный код

Но мамкиным хацкерам это не обьяснишь, они ждут серебрянную пуля из гвна

Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

66. "Выпуск языка программирования Rust 1.55"  +8 +/
Сообщение от Аноним (46), 09-Сен-21, 22:12 
В этом сообщении как раз вся мякотка. Можно писать. а можно не писать. А на ржавом нельзя не писать. И готовые зависимости что важно тоже так же написаны.
Ответить | Правка | Наверх | Cообщить модератору

68. "Выпуск языка программирования Rust 1.55"  –8 +/
Сообщение от Хан (?), 09-Сен-21, 22:15 
Базаришь? Скажи это unsafe где безопасность раста не работает
Ответить | Правка | Наверх | Cообщить модератору

97. "Выпуск языка программирования Rust 1.55"  –1 +/
Сообщение от VladSh (?), 09-Сен-21, 23:21 
Он как раз-таки работает. Просто возникнет ошибка, которая благодаря расту не завалит прогу с Access violation, и прога продолжит работать, ну кроме разве что этого забагованного куска по внешней зависимости.
Ответить | Правка | Наверх | Cообщить модератору

125. "Выпуск языка программирования Rust 1.55"  –5 +/
Сообщение от Хан (?), 10-Сен-21, 02:36 
В unsafe все проверки раста отлючены, это по сути тот же подход что и с unsafe в дотнете
Ответить | Правка | Наверх | Cообщить модератору

128. "Выпуск языка программирования Rust 1.55"  +7 +/
Сообщение от Аноним (-), 10-Сен-21, 03:05 
> В unsafe все проверки раста отлючены,

Почему ты такой балабол?
https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html
> It’s important to understand that unsafe doesn’t turn off the borrow checker or disable any other of Rust’s safety checks: if you use a reference in unsafe code, it will still be checked. The unsafe keyword only gives you access to these five features that are then not checked by the compiler for memory safety.
>

Ответить | Правка | Наверх | Cообщить модератору

267. "Выпуск языка программирования Rust 1.55"  –2 +/
Сообщение от Хан (?), 10-Сен-21, 16:18 
Дядя Петя ты дурак? Кидаешь мне в ответку на утверждение  что в unsafe безопасность is off пруф с прямым указание что Rust в unsafe не обеспечивает безопасность работы с памятью?
Ответить | Правка | Наверх | Cообщить модератору

277. "Выпуск языка программирования Rust 1.55"  +3 +/
Сообщение от Аноним (-), 10-Сен-21, 17:29 
>>> (Хан) unsafe где безопасность раста не работает
>>> (Хан) В unsafe все проверки раста отлючены, это по сути тот же подход что и с unsafe в дотнете
>> unsafe doesn’t turn off the borrow checker or disable any other of Rust’s safety checks
> (Хан) Дядя Петя ты дурак? Кидаешь мне в ответку на утверждение  что в unsafe безопасность is off пруф с прямым указание что Rust в unsafe не обеспечивает безопасность работы с памятью?

А, так ты просто не умеешь в английский? Это многое объясняет


Ответить | Правка | Наверх | Cообщить модератору

282. "Выпуск языка программирования Rust 1.55"  –3 +/
Сообщение от Хан (?), 10-Сен-21, 18:24 
Разыменовывание raw указателей вызываеи ошибок работы с памятью?

Null-pointer и Access violation передают тебе пламенный привет

Ответить | Правка | Наверх | Cообщить модератору

283. "Выпуск языка программирования Rust 1.55"  –4 +/
Сообщение от Хан (?), 10-Сен-21, 18:26 
Учитывая что основная часть проблем связанных с Си кодом связана с работой с памятью через указатели, то Rust в unsafe менее безопасен чем C++
Ответить | Правка | К родителю #277 | Наверх | Cообщить модератору

70. "Выпуск языка программирования Rust 1.55"  –4 +/
Сообщение от Хан (?), 09-Сен-21, 22:19 
В чем смысл безопасности раста если взаимодействие с Си все в unsafe? По сути самый критичный к проблемам код
Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

81. "Выпуск языка программирования Rust 1.55"  +3 +/
Сообщение от Аноним (13), 09-Сен-21, 22:43 
Ну так это проблема си. Будет меньше си кода - будет меньше ненужных unsafe оберток.
Вызов си функции из любого, даже managed, языка - это потенциальная проблема и "unsafe" в терминах этого языка.
Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск языка программирования Rust 1.55"  –1 +/
Сообщение от Аноним (113), 09-Сен-21, 22:53 
Очевидно, что программа на расте не должна вызывать функции ОС. Ни доступа к файлам и усройствам ввод/вывода, ни к сети и даже не выделять память
Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск языка программирования Rust 1.55"  +4 +/
Сообщение от Аноним (-), 09-Сен-21, 23:25 
> В чем смысл безопасности раста если взаимодействие с Си все в unsafe?

"В чем смысл собирать с варнингами и прогонять статический анализ кода на Си, если оно все равно пропускает ошибки?"
В чем смысл этой унылой демагогии?

Ответить | Правка | К родителю #70 | Наверх | Cообщить модератору

80. "Выпуск языка программирования Rust 1.55"  +1 +/
Сообщение от Аноним (13), 09-Сен-21, 22:35 
Дело не в том что можно писать, а можно не писать.
А в том что по факту не пишут! Потому что... да куча отговорок - "медленно", "я так не привык", "и там сойдет"
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

60. "Выпуск языка программирования Rust 1.55"  +1 +/
Сообщение от пох. (?), 09-Сен-21, 22:05 
Конечно неправы! Вы видели хоть одну дыру в коде на расте, например, в ядре линукса?
Или в той же openssl? Или вон в хроме? А в сишном коде - тыщи их!

Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

62. "Выпуск языка программирования Rust 1.55"  +4 +/
Сообщение от Хан (?), 09-Сен-21, 22:10 
Нет кода, нет дырей...
Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск языка программирования Rust 1.55"  +5 +/
Сообщение от Аноним (79), 09-Сен-21, 22:30 
Rust помогает программеру писать корректный код. Но это не серебряная пуля. Головой думать всегда надо!
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

101. "Выпуск языка программирования Rust 1.55"  –5 +/
Сообщение от СССР (?), 09-Сен-21, 23:29 
каким таким образом он помогает? если быть точным то так называемая помощь она изза ограничений
А вот если говорить о чистой помощи то это подсказки в IDE.
Ответить | Правка | Наверх | Cообщить модератору

159. "Выпуск языка программирования Rust 1.55"  +4 +/
Сообщение от Аноним (79), 10-Сен-21, 09:41 
ну вот, навскидку:
1. модель работы с память в rust такова, что запрещает делать ошибки типа "чтение неинициализированной памяти", "висячие указатели", "утечка памяти (классическая)", "гонка конкуретного доступа к памяти"
2. rust "заставляет" программиста проверять ошибки, возвращаемые функцией (не забудешь, ага)
3. система типов более мощная, чем плюсовая, и, например, через паттерн newtype позволяет не складывать мандарины с выключателями (или метры с километрами, или рубли с копейками)
4. нормальный встроенный в язык механизм макросов позволяет творить чудеса, но ценой сложности реализации (впрочем, скрытой от того кто макрос потом используем). как пример - https://docs.rs/serde и https://docs.rs/inline-python
5. "карго-культ" и современная система модулей (crates) поощряет переиспользование кода (не надо писать велосипеды, бери готовое и пиши то что тебе нужно)
Ответить | Правка | Наверх | Cообщить модератору

412. "Выпуск языка программирования Rust 1.55"  +/
Сообщение от СССР (?), 11-Окт-21, 23:31 
1. если не уверен в своей внимательности используем умные указатели.
2. а как иначе не проверять?  ну разве что если человек пишет код в одну строчку.
3. можете кейс привести в каком случае не хватает типов в плюсах? если сравнивать с пхп то да )
4. макросами практический не пользуюсь, поэтому может и да, но макросы эт не ЯП
5. тут слово современный это значит хайпово?

Ответить | Правка | Наверх | Cообщить модератору

276. "Выпуск языка программирования Rust 1.55"  +/
Сообщение от Аноним (276), 10-Сен-21, 17:28 
Так в этом и смысл, что лишняя самодеятельность (т.н. свобода) в программировании не нужна
Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

415. "Выпуск языка программирования Rust 1.55"  +/
Сообщение от СССР (?), 11-Окт-21, 23:48 
для этого существуют фрэймворки
Ответить | Правка | Наверх | Cообщить модератору

149. "Выпуск языка программирования Rust 1.55"  –3 +/
Сообщение от Аноним (149), 10-Сен-21, 08:27 
Как этот ужасный синтаксис может помогать писать корректный код? Он не помогает, а мешает поэтому даже Фаерфокс не смогли запилить на Расте. Даже движек Servo не смогли доделать.

И самое забавное раст скомпилированный под продакшен не проверяет выход за пределы буфера. Это какой-то позор.

Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

157. "Выпуск языка программирования Rust 1.55"  +7 +/
Сообщение от Аноним (157), 10-Сен-21, 09:20 
```rust
fn main() {
    let arr = [0_u8;2];
    for n in 0..3 {
        println!("{}", arr[n]);
    }
}
```

```sh
Compiling playground v0.0.1 (/playground)
    Finished release [optimized] target(s) in 4.27s
     Running `target/release/playground`
thread 'main' panicked at 'index out of bounds: the len is 2 but the index is 2', src/main.rs:12:24
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

```
>И самое забавное раст скомпилированный под продакшен не проверяет выход за пределы буфера

Очередной ананимный балабол детектед

Ответить | Правка | Наверх | Cообщить модератору

291. "Выпуск языка программирования Rust 1.55"  +/
Сообщение от n00by (ok), 10-Сен-21, 20:03 
В примере недостаточно информации, что бы определить выход за границу во время трансляции? Или почему компилятор пропустил, Rust такое не ловит?
Ответить | Правка | Наверх | Cообщить модератору

314. "Выпуск языка программирования Rust 1.55"  +/
Сообщение от Аноним (157), 11-Сен-21, 10:39 
На мой взляд информации достаточно.
И если обратиться к массиву с константным индексом, то компилер ловит такое.
такое: arr[3] .

А вот  циклы, походу, не разворачивает. Причин не знаю. Может руки у разрабов не дошли, а сожет это сильно бьет по скорости компиляции, которая и так нешустрая.

Ответить | Правка | Наверх | Cообщить модератору

328. "Выпуск языка программирования Rust 1.55"  +1 +/
Сообщение от Аноним (-), 11-Сен-21, 15:18 
>  а сожет это сильно бьет по скорости  компиляции, которая и так нешустрая.

This.
https://users.rust-lang.org/t/why-index-out-of-bound-is-not-...
Плюс, доступ к элементам конст-массива _таким_ образом - довольно "синтетичен" и мало употребляется в реальности (да и за такие употребления нужно бить по рукам).

Ответить | Правка | Наверх | Cообщить модератору

366. "Выпуск языка программирования Rust 1.55"  +/
Сообщение от n00by (ok), 12-Сен-21, 18:06 
Насколько я понял из рекламируемых особенностей языка, задача Rust как раз и состоит в том, что бы заменить специально обученного тютора с линейкой, который бьёт по рукам. В подобном случае (если он не столь прост как данный) ошибка во время исполнения не обязательно будет отловлена тестами.
Ответить | Правка | Наверх | Cообщить модератору

376. "Выпуск языка программирования Rust 1.55"  +/
Сообщение от Аноним (-), 12-Сен-21, 21:02 
> Насколько я понял из рекламируемых особенностей языка,

Где и кем рекламируемых?

> задача Rust как раз и состоит в том, что бы заменить специально обученного тютора с линейкой,
> который бьёт по рукам. В подобном случае (если он не столь прост как данный) ошибка во время исполнения не обязательно будет отловлена тестами.

Задача "не дать писать на любом ЯП как на сишке и с теми же ошибками" (т.е. как тут - игнорировать наличие итераторов и вместо каноничного "for elem in arr" и писать привычный из сишки костыль) - вряд ли выполнима даже с помощью кнута, не то что линейки.

Ответить | Правка | Наверх | Cообщить модератору

388. "Выпуск языка программирования Rust 1.55"  –1 +/
Сообщение от n00by (ok), 13-Сен-21, 15:57 
>> Насколько я понял из рекламируемых особенностей языка,
> Где и кем рекламируемых?

В частности, здесь.

>> задача Rust как раз и состоит в том, что бы заменить специально обученного тютора с линейкой,
>> который бьёт по рукам. В подобном случае (если он не столь прост как данный) ошибка во время исполнения не обязательно будет отловлена тестами.
> Задача "не дать писать на любом ЯП как на сишке и с
> теми же ошибками" (т.е. как тут - игнорировать наличие итераторов и
> вместо каноничного "for elem in arr" и писать привычный из сишки

Задача статического анализа вышеприведённого кода решаема, с чем согласен ("На мой взляд информации достаточно") в том числе отвечавший на мой исходный вопрос. Не надо подменять его и приписывать мне заявления про "любой ЯП".

> костыль) - вряд ли выполнима даже с помощью кнута, не то
> что линейки.

Значит Rust, где позволено написать "костыль", тем более не годится, я верно понимаю?

Ответить | Правка | Наверх | Cообщить модератору

390. "Выпуск языка программирования Rust 1.55"  +/
Сообщение от Аноним (-), 13-Сен-21, 16:26 
>>> Насколько я понял из рекламируемых особенностей языка,
>> Где и кем рекламируемых?
> В частности, здесь.

Т.е. внятного ответа не будет.


>> задача Rust как раз и состоит в том, что бы заменить специально обученного тютора с линейкой, который бьёт по рукам
> Задача статического анализа вышеприведённого кода решаема, с чем согласен ("На мой взляд
> информации достаточно") в том числе отвечавший на мой исходный вопрос. Не надо подменять его и приписывать мне заявления про "любой ЯП".

Любители "соломенных чучел" возмущаются "подменой тезиса"?

>> костыль) - вряд ли выполнима даже с помощью кнута, не то что линейки.
> Значит Rust, где позволено написать "костыль", тем более не годится, я верно понимаю?

Значит наброс от n00by слишком уныл, все верно.

Ответить | Правка | Наверх | Cообщить модератору

392. "Выпуск языка программирования Rust 1.55"  +/
Сообщение от n00by (ok), 13-Сен-21, 17:26 
А, ты решил меня потроллить. В общем-то, предсказуемо. Вменяемых растоманов в темах по Rust меньше половины, к сожалению.
Ответить | Правка | Наверх | Cообщить модератору

160. "Выпуск языка программирования Rust 1.55"  +5 +/
Сообщение от Аноним (79), 10-Сен-21, 09:42 
программисты мозиллы (не путать с менеджерами!!) ухитрились не только написать на rust движок рендеринга веб-страницы (а это ОЧЕНЬ сложная штука), так ещё и встроить его в C++ код движка gecko, причём "на живую", в продакшене!
Ответить | Правка | К родителю #149 | Наверх | Cообщить модератору

229. "Выпуск языка программирования Rust 1.55"  –2 +/
Сообщение от Аноним (164), 10-Сен-21, 13:19 
Потому что Servo они дописать не смогли в силу ограниченности. Все уже давно знают эту историю. Это всего лишь повод отказаться от Раста везде где это возможно.
Ответить | Правка | Наверх | Cообщить модератору

263. "Выпуск языка программирования Rust 1.55"  +1 +/
Сообщение от Аноним (79), 10-Сен-21, 16:02 
к сожалению, у компании мозилла банально нет ресурсов (читай - денег), чтобы разрабатывать servo. для этого надо платить примерно 100 человек (в основном - разработчикам) в течение 3-4 лет, чтобы с нуля разработать движок современного "веб-барузера". и даже "помощи" в разработке со стороны языка rust здесь не хватит, там банально десятки миллионов строк кода

зато проект servo дал лисичке stylo и webrender, что тоже очень хорошо

Ответить | Правка | Наверх | Cообщить модератору

240. "Выпуск языка программирования Rust 1.55"  +/
Сообщение от PetrG (ok), 10-Сен-21, 14:10 
Нет это не так работает. Сначала намеренно выбирать небезопасный по умолчанию инструмент а потом его безопасно использовать - это чтобы ЧСВ потешить? Есть люди которые голой ладонью гвозди забивают, но почему то мастера всегда молоток используют.

"Верить" в инженерных решениях плохая идея - нужно понимать что вы получаете и чем за это расплачиваетесь, так что хорошо что теряете.

Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру