The OpenNET Project / Index page

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



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

Оглавление

Адаптация Debian для использования реализации coreutils на языке Rust, opennews (??), 09-Мрт-21, (0) [смотреть все]

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


78. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Анон Ра (?), 09-Мрт-21, 23:17 
Мое мнение, что более-менее интересное системное программирование без unsafe невозможно. Тогда в чам смысл использовать _для_этого_ Rust?

Кроме того Rust слишком молодой язык, многое в нем или не реализовано или работает не так.

Например, выяснилось, что написать мутабельный итератор (функтор) без unsafe в приципе невозможно. (известная проблема)
https://stackoverflow.com/questions/63437935/in-rust-how-do-...

Rust пытается делать pattern matching мимикрируя под функциональные языки типа Haskell. Но элементарые вещи, как например нормальный @-bindings, оказывается до сих пор не реализованы.
https://github.com/rust-lang/rust/issues/65490

Вот хорошая статья
Why not rust
https://matklad.github.io/2020/09/20/why-not-rust.html

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

89. "Адаптация Debian для использования реализации coreutils на я..."  –2 +/
Сообщение от KogeRust (?), 09-Мрт-21, 23:39 
> Мое мнение, что более-менее интересное системное программирование без unsafe невозможно.
> Тогда в чам смысл использовать _для_этого_ Rust?

Дык, потому что стильно-модно-молодёжно, легко и непринуждённо, со смазочкой.
> Кроме того Rust слишком молодой язык, многое в нем или не реализовано
> или работает не так.

Это у вас бородатых сишников не так, Сишечка устарела, нужно всё переписать на Rust, так сразу везде будет проще, молодёжней и сикурней!
> Например, выяснилось, что написать мутабельный итератор (функтор) без unsafe в приципе
> невозможно. (известная проблема)

На Rust'е возможно всё! А главное нетдырений и сикурно, и просто и ещё быстро!
> https://stackoverflow.com/questions/63437935/in-rust-how-do-...
> Rust пытается делать pattern matching мимикрируя под функциональные языки типа Haskell.

Хацкиль нинужин, есть Rust, Хаскиль устарел, а Rust новый и модный, и сикурный!
> Но элементарые вещи, как например нормальный @-bindings, оказывается до сих пор
> не реализованы.

Они нинужны, в Rust есть всё, а чего нет, значит нинужно и нестильна!
> https://github.com/rust-lang/rust/issues/65490
> Вот хорошая статья
> Why not rust
> https://matklad.github.io/2020/09/20/why-not-rust.html

Её писали луддиты, неосиляторы и старпёры которые противятся светлому восхождению Rust! Rust в каждый дом! Один Rust не Perl-о-Rust!

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

118. "Адаптация Debian для использования реализации coreutils на я..."  +3 +/
Сообщение от burjui (ok), 10-Мрт-21, 02:30 
Миллон раз уже говорилось, что unsafe нужен только для того кода, безопасность которого не может доказать компилятор. Это нужно, чтобы ограничить область поиска, если возникнет какая-либо проблема в коде. У тебя же не весь код в одном блоке unsafe, в самом деле. unsafe - это отделение котлет от мух, и если весь код - мухи, что-то здесь не так.

Rust всё ещё развивается, поэтому какие-то вещи ещё не реализованы. Но это не значит, что Rust бесполезен. В C вон pattern matching вообще нет, и там весь код - один большой unsafe, но его же используют.

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

213. "Адаптация Debian для использования реализации coreutils на я..."  –1 +/
Сообщение от Аноним (210), 10-Мрт-21, 13:04 
Раст больше не развивается денег нет. А в С++ уже миллион лет есть умные указатели, которые можно использовать как «безопасный» раст.
Ответить | Правка | Наверх | Cообщить модератору

225. "Адаптация Debian для использования реализации coreutils на я..."  +3 +/
Сообщение от Аноним (-), 10-Мрт-21, 14:31 
> Раст больше не развивается денег нет.

https://foundation.rust-lang.org/members/
> AWS, Google, Huawei, Microsoft, Mozilla

Мне вот интересно, откуда вы, анонимные балаболы, лезете? Где у вас гнездо?


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

234. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от йо ж (?), 10-Мрт-21, 16:52 
солидные дяди, нет оснований им не доверять, что вы, как можно.
Ответить | Правка | Наверх | Cообщить модератору

322. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Andrii (?), 14-Мрт-21, 22:01 
А есть кто солиднее чем они?
Ответить | Правка | Наверх | Cообщить модератору

226. "Адаптация Debian для использования реализации coreutils на я..."  +2 +/
Сообщение от burjui (ok), 10-Мрт-21, 14:32 
> Раст больше не развивается денег нет

Ну, это просто откровенное враньё.

> А в С++ уже миллион лет есть умные указатели, которые можно использовать как «безопасный» раст.

Можно использовать, а можно и не использовать. Кто за этим следит? А как там с потокобезопасностью? В Rust потокобезопасность гарантирует компилятор, как и безопасность обычных ссылок, которые, по сути - просто указатели.

> «безопасный»

А почему в кавычках-то? Уж всяко безопаснее, чем C++. Чтобы было, как в плюсах, нужен явный блок unsafe.

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

227. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Анончик (?), 10-Мрт-21, 14:34 
Вот кстати, по поводу с++ отчасти соглашусь. После Си на плюсах писать логику куда приятней чем на си.
Да плюсы куда развесистей и с кучей отличий от сишки, но блин это сильно экономит время.
Ответить | Правка | К родителю #213 | Наверх | Cообщить модератору

236. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Анон Ра (?), 10-Мрт-21, 17:12 
Сложная система не есть простая сумма своих частей.
Так же и объединение блоков каждый из которых инкапсулирует в себе unsafe (и для стороннего наблюдателя сам по себе безопасен) не является гарантией безопасности всего такого объединения блоков.
Хороший пример есть в учебнике Rust и его привели выше. Это утечки памяти при существовании циклов во владении ресурсами. (15.6. Reference Cycles Can Leak Memory)
Ответить | Правка | К родителю #118 | Наверх | Cообщить модератору

243. "Адаптация Debian для использования реализации coreutils на я..."  +1 +/
Сообщение от Аноним (308), 10-Мрт-21, 17:40 
> Хороший пример есть в учебнике Rust и его привели выше.
> https://doc.rust-lang.org/book/ch15-06-reference-cycles.html

Хм, то есть то, что такое в принципе возможно, Вы увиидели, а дальше, видимо, не читали?
Так там в приведённом примере привели специально для примера написанный код, который в реальной жизни разве что не читавший документацию джун сможет вытворить. Там же и пример, как избавиться от подобной ошибки.

С каких пор заведомо ужасно написанный код является признаком плохого языка? А то ведь по Вашей же логике сайт https://govnokod.ru/ доказывает несостоятельность ВСЕГО написанного софта в мире абсолютно КАЖДЫМ программистом.

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

244. "Адаптация Debian для использования реализации coreutils на я..."  –3 +/
Сообщение от Анон Ра (?), 10-Мрт-21, 17:52 
Breaking news! Оказывается Rust не является панацей от ошибок в коде и надо обладать какой-никакой квалификацией, чтобы писать правильный код. Хорошо, что пропоненты Rust начали это признавать.
Ответить | Правка | Наверх | Cообщить модератору

247. "Адаптация Debian для использования реализации coreutils на я..."  +2 +/
Сообщение от Аноним (308), 10-Мрт-21, 18:07 
> Breaking news! Оказывается Rust не является панацей от ошибок в коде

Никто и не заявлял Rust как панацею или серебряную пулю от чего-либо.

Так что твой вброс всё ещё остаётся безаргументным вбросом.

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

255. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Ordu (ok), 10-Мрт-21, 20:28 
> Хороший пример есть в учебнике Rust и его привели выше. Это утечки памяти при существовании циклов во владении ресурсами. (15.6. Reference Cycles Can Leak Memory)

Ты не там смотришь. Загляни в документацию на Vec, и узри там метод leak[1]. Он даже не помечен как unsafe, но позволяет не просто вывести кусок памяти из под контроля RAII -- эту память вообще не удалить потом. Зная внутренности std, можно наверное как-то добиться освобождения, но это уже всё недокументированные способы.

[1] https://doc.rust-lang.org/std/vec/struct.Vec.html#method.leak

Rust не гарантирует отсутствие утечек памяти.
Rust не гарантирует отсутствие утечек памяти.
Rust не гарантирует отсутствие утечек памяти.
Rust не гарантирует отсутствие утечек памяти.
Rust не гарантирует отсутствие утечек памяти.

Если я повторю это ещё десять раз, до тебя дойдёт? Или ты как и остальная часть опеннета совершенно глух к фактам и предпочитаешь жить в своей реальности, в которой rust гарантирует отсутствие утечек памяти и не может справится с гарантиями?

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

271. "Адаптация Debian для использования реализации coreutils на я..."  +1 +/
Сообщение от Sem (??), 10-Мрт-21, 23:52 
Остынь, ты убеждаешь только сам себя. А он такого и не говорил.
Ответить | Правка | Наверх | Cообщить модератору

281. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Ordu (ok), 11-Мрт-21, 02:47 
> Остынь, ты убеждаешь только сам себя. А он такого и не говорил.

А что он говорил? Он пытался доказать на примере, что невозможно обеспечить гарантии безопасности раста, когда есть много блоков unsafe, он пытался доказать, что сочетание многих блоков в совокупности может оказаться небезопасным, несмотря на безопасности каждого. Но пример про утечки памяти. А не про безопасность. То есть пример совершенно не валиден. Как так случилось, что он приводит невалидный пример? Он не понимает его невалидность? Почему он не понимает? Потому что не прочитал список гарантий раста?

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

296. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Аноним (296), 11-Мрт-21, 16:09 
Есть вероятность что это человек из компании PVS-единорога. Только в русскоговорящем IT сообществе такой хейт дикий и повальный в сторону rust. В остальных местах его или любят, или критикуют недостатки по существу, предварительно разобравшись в вопросе. А у нас людям просто плевать, они повторяют за рекламщиками как утки. Утечки, unsafe, пакеты - даже не понимая толком о чем они говорят. 90% из них скорее всего растбук даже не открывали.
Ответить | Правка | Наверх | Cообщить модератору

133. "Адаптация Debian для использования реализации coreutils на я..."  +2 +/
Сообщение от edo (ok), 10-Мрт-21, 07:55 
> Мое мнение, что более-менее интересное системное программирование без unsafe невозможно. Тогда в чам смысл использовать _для_этого_ Rust?

1. Вы максималист? Всё или ничего?
«Не любой код на Расте может быть 100% safe, значит Раст не нужен»?
«Презервативы не на 100% защищают от беременности, поэтому не буду с женой их использовать, ничего, что у нас уже 7 детей».
2. О каком «более-менее интересном системном программировании» вы говорите? Что такого особо низкоуровневого делают ln или cp, что написать их без unsafe невозможно?


> Например, выяснилось, что написать мутабельный итератор (функтор) без unsafe в приципе невозможно. (известная проблема)
> Но элементарые вещи, как например нормальный @-bindings, оказывается до сих пор не реализованы.

Это означает, что Си больше подходит для coreutils, чем Раст?

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

135. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Аноним (135), 10-Мрт-21, 08:09 
Про презервативы https://pashev.me/files/free-2011.pdf.html
Ответить | Правка | Наверх | Cообщить модератору

158. "Адаптация Debian для использования реализации coreutils на я..."  +2 +/
Сообщение от Аноним (41), 10-Мрт-21, 09:53 
> Си больше подходит для coreutils, чем Раст

си подходит везде.

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

237. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Анон Ра (?), 10-Мрт-21, 17:20 
>1. Вы максималист? Всё или ничего?

Программы у нас дискретные, а не аналоговые. Поэтому часто
"прочность цепи определяется прочностью самого слабого звена".
И см. мой ответ выше.  

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

207. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Аноним (308), 10-Мрт-21, 12:47 
> Вот хорошая статья
> Why not rust
> https://matklad.github.io/2020/09/20/why-not-rust.html

Статья с тремя стоящими аргументами (сложность, зрелость, время компиляции) действительно хорошая, да. Но остальное - тулинг, зависимости, рынок вакансий, альтернативы, да даже реализация unsafe - всё следствие одного - зрелости, которой Rust ещё не достиг. Одно то, что компилятор до сих пор не нативный, а под LLVM уже говорит: "язык ещё не сам за себя отвечает, свою реализацию подвезём позже, так что имеющиеся косяки и баги временны".

По поводу времени компиляции - да, долго, но и C++ проекты долго компилятся, тут всё-таки не интерпретируемый язык, не GC, не JIT, так что такое будет и дальше, если специально не выделить команду на оптимизацию компилятора (который до сих пор не родной, как уже упоминалось).

Сложность - аргумент, если вы не пишете на PHP/Java/JavaScript/...

Вердикт: ждём, когда у создателей языка будет достаточно ресурсов для обеспечения зрелости.

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

297. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Аноним (296), 11-Мрт-21, 16:15 
>пока еще на LLVM

Забудь, друг. Никогда его не перенесут официально с LLVM (самоделкины другой вопрос) Иди почитай что это такое, под какие платформы он выступает бэкендом, какие оптимизации над кодом позволяет производить, а потом говори что он не нужен. Это как заявить что ваша контора проектирования авто пока еще свои колеса не изобрела, следовательно еще не зрелая конторка.

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

305. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Аноним (308), 11-Мрт-21, 23:59 
Но есть же gcc для C. Может и для Rust когда-нибудь родной?

llvm конечно имеет свой опыт, и оптимизации, но ведь он и ограничивает полноценную бескостыльную реализацию предложенных концепций. Ведь он и заставляет компилировать с использованием оверхеда. Не мудрено, что за столько лет он обзавёлся оптимизациями собственного оверхеда. Срабатывали бы они всегда, когда нужно. Ну или хотя бы нужно накрутить оптимизаций для компилятора RUST->LLVM, чтобы хоть как-то уменьшить оверхед. На избавиться надежды уже не таю.

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

274. "Адаптация Debian для использования реализации coreutils на я..."  +/
Сообщение от Sem (??), 11-Мрт-21, 00:07 
Как вы читаете?

There really isn't a way to solve this without unsafe code - or changing your data structures.

Где тут "написать мутабельный итератор без unsafe в принципе невозможно"? Парень хочет странного, ему пишут, что да, это не возможно без unsafe или просто измените свою структуру.

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

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

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




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

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