|
2.4, Аноним (4), 12:08, 13/02/2022 [^] [^^] [^^^] [ответить] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
Сборка мусора не может предотвратить утечку памяти. Не существует способа избежать всех возможных утечек памяти, если вы используете Тьюринг-полный язык программирования. Чтобы это понять нужно знать что такое утечка памяти.
Старайтесь больше так не ошибаться, если вы программист.
| |
|
|
|
5.30, Самокатофил (?), 12:52, 13/02/2022 [^] [^^] [^^^] [ответить] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +3 +/– |
>Безопасное подмножество Rust может.
Неюзабельно. Хелловорд в вакууме безопасен, но реальная жизнь выходит за рамки хелловордов. Это может шокировать растоманов, прости.
>Это сводит к минимуму место локализации ошибки и упрощает code review.
Это с чего вдруг? Я уже скидывал тут ссылку на уязвимость use-after-free. Там рядом unsafe, но уязвимость не в unsafe. В прошлом треде, видимо какая-то эйчарка вроде сквирти или автобусника увидела там ансейф и её триггернуло что уязвимость в этом. Но нет.
Второе: посмотри на список CVE что тут скинул. Сколько из них найдено в процессе ревью?
| |
|
|
7.46, Самокатофил (?), 13:13, 13/02/2022 [^] [^^] [^^^] [ответить] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
>Заметь, это не библиотеки а реальные проекты
Это не проекты, а петпрожекты, уязвимости в которых нашли по чистой случайности, потому что никто их не использует и никому не интересно в них искать уязвимости.
> Те кто отбразывают Rust - отбрасывают будущее.
Светлое будущее хоть? :-D
> Уязвимость в unsafe.
Да фиг с тобой, пусть ансейф. Приятно видеть как ты метаешься между "идеоматичным растом" и даже хелловордом, требующим ансейф.
| |
7.174, Михрютка (ok), 17:50, 13/02/2022 [^] [^^] [^^^] [ответить] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
> Юзабельно это доказывают многие проекты написанные на Rust.
> Движок firefox
так себе пример, если честно.
из плюсов - почесано чсв девелоперов и удлинилось их резюмэ.
из минусов - фокс похоронен на всех платформах, кроме x86-64 и aarch64, да и на этих жив только под виндой + линукс. на остальных - до тех пор, пока мейнтейнеры портов не затрахаются. на опенке вроде уже.
| |
|
|
|
6.109, Аноним (109), 15:11, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> Отсюда вывод: безопасное подмножество не Тьюринг-полное?
"Отсюда" - нет, такой вывод формально вообще-то сделать нельзя.
Но если и да (в смылсе - оно не Тьюринг-полное) - и чо?
Практические реализации ЯП все равно не "полные" (лента ограничена) да и интересует нас лишь то маленькое подмоножество корректно работающих и решающих реальные задачи, а не все возможные варианты программ и их ввода и вывода.
| |
|
7.150, Аноним (165), 16:49, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> use-after-free
В rust дается "слежением за владением" не бесплатно: из-за этого нельзя создать данные с циклическими ссылками, например, банальный двусвязный список.
> buffer overflow
От этого rust не может защитить на этапе компиляции. Для этого минимум нужны зависимые типы, и то этого недостаточно.
> UB
А вот это практически упирается теорему останова.
Каким боком тут "безопасное подмножество"? И как применит к этому "безопасному подмножеству" полноту по Тьюрингу, вообще непонятно.
| |
|
|
|
|
|
4.146, Аноним (-), 16:36, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> Корчеватель, ты?
> Самое забавное, что нашлось достаточно людей плюсанувших этот бессмысленный набор умных слов.
Ну, тебя ведь тоже кто-то плюсуют (или опять "сам, все сам!"?).
> --
> Ну и предвосхищая идиотов, который щас начнут "а докажи":
> Brainfuck - тьюринг полный язык. Утечек памяти там нет и быть не может by-design.
+[>+.]
| |
|
|
|
|
|
|
|
5.85, Аноним (-), 14:12, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –4 +/– |
>> GCC v12.0 was discovered to contain an uncontrolled recursion via the component libiberty/rust-demangle.c. This vulnerability allows attackers to cause a Denial of Service (DoS) by consuming excessive CPU and memory resources.
И чо? Не было бы деманглера, не было бы и уязвимости, а значит это Раст все виноват!
| |
|
|
|
2.12, anonymous (??), 12:28, 13/02/2022 [^] [^^] [^^^] [ответить] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +4 +/– |
Си недостаточно выразителен семантически. Например, там нет borrowing. В результате, статический анализатор не в курсе как код должен работать и не может сообщит об ошибке. В теории можно просто кастомно расширить Си, его компилятор и переписать всё ядро на новый Си. Но зачем, если работа уже проделана в Rust?
| |
|
|
4.27, Аноним (4), 12:48, 13/02/2022 [^] [^^] [^^^] [ответить] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +4 +/– |
Уязвимости никуда не денутся, но благодаря подходу Rust их становится меньше. А при использовании идиоматичного Rust еще и без ущерба производительности. Например итераторы по коллекциям там где существует последовательное индексирование не приводят к проверкам убежавших индексов / Парсеры (типа Nom) в подходящие струкуры где требуется работа с индексами. Опять же чтобы не пришлось индексировать и для удобства работы.
| |
|
5.120, Урри (ok), 15:35, 13/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –4 +/– |
> Уязвимости никуда не денутся, но благодаря подходу Rust их становится меньше
Благодаря которому из? Захламлению синтаксиса спецсимволами, превращающему программу в некое подобие нечитабельных регэкспов? Или в статическую компиляцию, требующую пересборки всех проектов после фиксов дыр в функциях работы с файлами? Или в регулярные диприкейтед, которые делают предыдущий пункт невыполнимым?
А, вы о borrow checking? Ну так этого мало. К этому еще и язык должен быть поддерживаемым, а не вот это вот аджайловое лоскутное одеяло.
| |
|
|
7.170, Аноним (-), 17:39, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
>>Или в регулярные диприкейтед, которые делают предыдущий пункт невыполнимым?
> Rust использует понятие Редакции (которые выходят раз в 3 года) для внесения
Да забей. Его в это ужа раз 5 носом тыкали - бесполезно, в каждой новости опять нытье о "все время ломают совместимость!".
Старческий маразм, не иначе.
| |
|
6.444, anonymous (??), 11:20, 16/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
> Захламлению синтаксиса спецсимволами, превращающему программу в некое подобие нечитабельных регэкспов?
Если мозги есть и немного опыта набраться, то выясняется, что синтаксис там не создаёт никаких проблем. Умение читать конкретный синтаксис — это тупо дело привычки. А вот реальные особенности языка кроются за семантикой, а не синтаксисом.
Чувствую себя даже немного неловко, когда приходится писать столь базовые вещи.
| |
|
|
|
3.64, keydon (ok), 13:34, 13/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
> В теории можно просто кастомно расширить Си, его компилятор и переписать всё ядро на новый Си. Но зачем, если работа уже проделана в Rust?
Чтобы иметь все плюшки Си(++)? Чтобы не пришлось годами впиливать его в линукс и в гигантское количество другого софта? Чтобы не дублировать оптимизации по 100500 раз? Чтобы не плодить лишние сущности, не заставлять разработчиков выяснять различия и не раздроблять сообщество?
Но конечно си контролировать было бы сложнее, это не раст, который можно выкупить у мозиллы. Хайп было бы сложнее поднять ("очередные изменения в си" вместо "новый выдающийся язык программирования"). А зарплата "редкого специалиста" будет побольше чем "пишу на современной версии" ("Ты еще и денег за это хочешь?!").
| |
|
|
5.93, keydon (ok), 14:24, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +3 +/– |
> Уже обсуждали и не раз, что просто расширить Си не получится, его
> придется переделывать. А тогда это будет уже и не Си.
И где же это уже обсудили? И в чем проблема нарушить совместимость?
В c++11, в python3, в raku, в lua это не было проблемой и никто не создавал новый язык ради переписывания стандартной либы и добавления статического анализатора в компилятор.
| |
|
|
|
2.32, Анонн (?), 12:55, 13/02/2022 [^] [^^] [^^^] [ответить] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
В полной мере это будет невозможно сделать никогда. В ядре слишком много г̶о̶в̶н̶о̶к̶о̶д̶а̶ оригинальных решений и оптимизаций, от которых даже cppcheck начинает сходить с ума. Только для отдельных модулей и то в ограниченном виде. Это как с чьим-то предложение внедрить MISRA C в ядро. Трижды ха)))
| |
|
|
4.50, Анонн (?), 13:15, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
Примерно тоже самое.
Текущий код перевести слишком трудозатратно - это по сути переписать (не с нуля конечно, но это мало помогает) гигатонны кода, протестить его на всех платформах (в том числе уже подохших), найти и исправить ошибки. Плюс еще и заставить так писать всех сторонних кто коммитит в ядро (вдрайвера напр.) Это просто нереально ни по времени, ни по финансам. Намного дешевле раз в неделю исправлять CVE.
| |
|
|
|
|
|
|
4.23, Самокатофил (?), 12:41, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –3 +/– |
>Нет, просто некоторые из них позволяет. Но не все.
И провоцируют другие уязвимости.
>Также как языки со сборкой мусора. Но не больше них.
На языках с gc удобно писать, в отличие от. Там не ты выполняешь роль gc, как в расте. Потому что занимаясь этой ненужной работой, ты попутаешь лайфтаймы и допустишь use-after-free.
| |
|
5.31, Аноним (4), 12:53, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
>И провоцируют другие уязвимости.
Не провоцирует другие уязвимости. Приведите пример.
>Потому что занимаясь этой ненужной работой, ты попутаешь лайфтаймы и допустишь use-after-free.
Это не правда. Ты не можешь попутать lifetime в Rust. У тебя программа не скомпилируется.
Вся соль в том, что тебе ПРИДЕТСЯ думать о лайфтаймах в таких языках программирования как C/C++. Если ты хороший программист, и не хочешь ошибки по памяти. А тут тебе их НАДО указывать.
| |
|
6.39, Самокатофил (?), 13:07, 13/02/2022 [^] [^^] [^^^] [ответить] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> Вся соль в том, что тебе ПРИДЕТСЯ думать о лайфтаймах в таких языках программирования как C/C++.
Вся соль в том, что я буду брать лучшие, оттестированные на всех хардварных/софтверных платформах любы на с/с++, и буду думать над задачей в предметной области, а не мотаться по вашим крейтам и перебирать хелловорды или изоьретать велосипед с нуля. А безопасность оплатит бизнес, да еще даст заработать хакерам на баунти, да обмажемся всевозможными линтерамм и чекерами, и тд и тп. Если нужно. Если не нужно -- так я и не заплатил за это страданиями на расте.
| |
|
7.65, Аноним (4), 13:34, 13/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
>А безопасность оплатит бизнес,
Возможно бизнес выберет не переплачивать за безопасность, а получить разработчика на Rust если в проект входит требование повышенной безопасности. Мне лично кажется это единственная надежда этого языка, там где SPARK это оверкилл и нужно "что-то похожее на кресты" чтобы в крайнем случае крестовика за месяц переучить (они схватывают концепции за месяц максимум, потому что Rust под них написан в основном)
| |
|
|
7.411, Аноним (4), 13:26, 15/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
RAII не предотвращает от aliasing, писали что Chrome от этого сильно страдал. Особенно от use-after-free багов когда некоторые части кода могут иметь указатели на уже освобожденную память. В Rust же память не может быть освобождена пока имеется хоть одна внешняя ссылка на нее. Это проверяется либо во время компиляции borrow-checker'ом. Либо на стадии исполнения при явном использовании программистом подсчета ссылок.
Ни юнит-тесты (сотни тысяч строк тестов), ни ассерты, ни санитайзеры по видимости не могут избавить Chrome, Firefox от больше чем сотни багов по работе с памятью в год.
| |
|
|
|
|
|
2.15, Аноним (4), 12:34, 13/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
Это как сборка мусора, только без подсчета ссылок на каждый объект (без рантайма). И без "остановки мира" (остановки всех потоков) на освобождение памяти. На данный момент самые лучшие сборщики мусора и популярных языков скорее всего реализованы в Go и C#. В GO например событие остановки мира имеет дедлайн всего в 10 мс.
| |
|
3.134, Урри (ok), 16:10, 13/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
Самый лучший - в хаскеле.
Ввиду того что хаскель чисто функциональный язык, объекты в куче располагаются всегда в одном направлении - от старших к младшим. Это позволяет эффективно проводить маркап все еще используемых объектов и не менее эффективно перемещать их уплотняя кучу (с соответствующим изменением внутренних указателей).
| |
|
|
1.11, Аноним (-), 12:26, 13/02/2022 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +11 +/– |
Новость на опеннете:
> Пятая редакция патчей для ядра Linux с поддержкой языка Rust
Оригинальная новость на Форониксе:
> Rust For The Linux Kernel Sent Out For Review A Fourth Time
> With this weekend's Rust for Linux v4 patches the Rust kernel modules can remove some boilerplate code with certain Crate attributes no longer needed
👏
| |
|
|
|
4.345, Аноним (345), 13:35, 14/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> И это неправильно. Первой должна быть первая версия. (с) Никлаус Вирт.
Обратите внимание: у Вирта своё мнение было, поэтому он говорил от своего имени.
А у вас своего мнения нет, поэтому вы вынуждены цитаты приводить.
Даже в такой мелочи, как нумерация.
Поэтому пересчёт должен начинаться с нуля.
| |
|
5.378, Урри (ok), 19:08, 14/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
Это была отсылка к авторитету, если вы не в курсе таких элементарных вещей.
И я тоже считаю, что индексация должна начинаться с 1. Потому как это, во-первых, логично. А во-вторых это естественный для человечества порядок.
--
ваш троллинг не зашел, если вы не заметили. пишу вам об этом прямо.
| |
|
|
7.439, Урри (ok), 10:53, 16/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> Так и шо получается, Си и Плюсы теперь нелогичные и противоестественные?
Нет, конечно. Это вполне просто реализуется и в плюсах и в си.
> А Паскаль единственно верный в этой троице? :)
Нет. Всего лишь у паскаля единственного в этой троице изначально правильная и естественная индексация.
| |
|
|
|
|
|
|
1.20, Rejedai (?), 12:37, 13/02/2022 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +13 +/– |
Вот правда, я был одним из тех кто иногда даже защищал rust (мне в целом нравится синтаксис), но когда пару дней назад я чистил папки с проектами и aur-хелпераси, и увидел что даже простенькая утилита тянет за собой набор зависимостей на пару гигабайт (чего не делают даже довольно крупные проекты на java с js) я понял что слишком сыро.
На мой взгляд пока раст не начнёт использовать системные библиотеки, лучше этим не пользоваться. Да безопасность, но за счёт чего? За счёт того что в один исполняемый файл по сути вшиваются библиотеки, которые уже есть могут быть в системе.
Это безусловно может быть полезно в облаке, где может быть ограниченный набор устанавливаемых пакетов, но давайте хотя бы линкеры как в сях.
Если не прав, можно конструктивную критику и поправления, а не "ты дурак ничего не знаешь".
| |
|
|
3.77, rj (??), 14:00, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +3 +/– |
Я писал для себя простой парсер для стимовских vdf файлов, с онлайн редактированием под rocket (идея была в том, чтобы на пк-консоли все время работал steam под нативным композитором, а я редактировал библиотеку через ноут или смартфон) и выбором обложек из steamgriddb.
А так тот же paru около гигабайта тянул. Vaultwarden дофига грузит.
| |
|
2.51, Gedweb (ok), 13:15, 13/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +3 +/– |
Это зависимости для сборки, а не конечное приложение. В C это не так заметно, потому как заголовки сами по себе весят значительно меньше и размазаны по системе (если говорить про линукс).
Дискуссии на тему статической и динамической линковки это древний холивар. Rust умеет оба варианта, но статическая идёт по умолчанию.
| |
|
|
2.124, Аноним (4), 15:48, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
Откуда такой вывод? Ничего из написанного не потребовало изменений в языке или экосистеме Rust.
То к чему были у Линуса претензии пока не реализовано. (Пока это не сделают Rust в ядро не пойдет)
- красивая, быстрая и удобная обработка OOM
- запрет на паники в коде (в том числе при index-out-of-bounds проверках)
| |
|
|
2.188, Я (??), 18:19, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –2 +/– |
переманить куда кого? разработчики железок хотят писать код драйверов и подсистем под свои новые устройства на расте в том числе при использовании яда линукс. и они хотят чтобы для этого не надо было иметь форкнутое ядро потому что тогда им всёравно придётся второй раз писать драйвера на сях под мейнстрим ядро. вот и вся суть этих телодвижений по обеспечению поддержки ядром кода написанного на раст. потому что можно долго бузтеть и плеваться, но раст будет системным языком будущего и чем раньше ты в него вложишься тем проще будет потом.
| |
|
3.203, Самокатофил (?), 19:11, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
Палехчи, палехчи, уже не один убийца цэ/цэпэпэ закопан. Вы еще D (который получше будет) не оплакали, а уже раст толкаете.
А если звёзды сойдутся, и раст когда-нибудь выстрелит, то ну так и быть, выучим ваш раст. Сейчас работать надо, а не учить очередную недоделку. А молодым тем более: работы на расте нету, всё серьёзное и фундаментальное на с/с++. Учите lingua franca, вливайтесь в разработку. Оставьте маргиналов копошиться в своём болоте.
| |
|
|
5.229, Самокатофил (?), 21:33, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
>На расте уже написано больше чем на D, и в отличие от последнего - написано что-то полезное.
Паралимпиада какая-то, вообще побоку кто там у вас победил и у кого больше. Полезных программ на расте - 0. В связке с цэпэпэ - 1. И все знают это программу, которая благодаря расту растеряла с десяток поддерживаемых архитектур.
>Если это не успех в комьюнити, то что тогда успех?
Желаю и дальше таких же успехов, бро. Нехай щастить, как говорится. :-D
| |
|
|
|
|
|
|
|
|
|
6.404, freecoder (ok), 12:29, 15/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
> Анон_из_Восточной_Европы, похоже, имел ввиду юзерспейсные приложения, а не ядро.
Да даже для прикладных программ непонятно, нужно ли оно. В Rust из привычного понимания ООП нет только наследования реализации для типов (но не для трейтов) и полиморфизма подтипов (но есть параметрический полиморфизм). То есть, имеются другие способы добиться того же. А когда говорят "нет ООП" имеют ввиду обычно что-то уж совсем лишенное высокоуровневых абстракций, но это далеко не всегда так. По хорошему нужно рассматривать не совокупно "ООП", а конкретные концепции, из которых складывается язык.
| |
|
7.438, Аноним (438), 10:28, 16/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
полиморфизма подтипов (но есть параметрический полиморфизм)
О. Хочу оценить насколько пригоден rust.
Проблема отсутсвия стабитльного ABI, думаю с возрастом (моего или rust'а) пройдет.
Не могу пока оценить стоит ли за него браться.
Основная проблема, нужен полиморфизм. Где бы посмотреть примеры?
Желательно что-нибудь в виде двух иерархий типов. Каждая из которых использует другую (во все поля) полиморфно :)
Может кто видел проект с такой реализацией?
| |
|
|
|
|
|
|
|
2.297, угу (?), 09:03, 14/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
Мущина, мущина, проснитесь!
32GB, вот ржака-то... скоро у каждой бесполезно-pi будет столько. А если ты нище6род и у тебя меньше, какое тебе еще ведро, сиди на своей венде, у нас тут впопенсорс и требует "подбирать железо под операционку".
128TB и то в качестве минимального требования. Ну там - сборка в один поток, окончание когда-то после колонизации Марса...
Ибо нефиг, гугель лучше тебя знает какое ведро тебе собирать. А своим рабам он билдсистему подставит - где-то в облачках, чтоб ушлые индусы не сперли код.
| |
|
1.166, Аноним (-), 17:27, 13/02/2022 [ответить] [﹢﹢﹢] [ · · · ] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +9 +/– |
>Поддержка Rust преподносится как опция, не активная по умолчанию и не приводящая к включению Rust в число обязательных сборочных зависимостей к ядру.
Я сборщик. Ядру Линукса Раст не нужен, только усложнит сборку. Сейчас для сборки ядра требуется только GCC (только компилятор). По мере увеличения кодовой базы на Расте станут требовать не только компилятор Раста, но и его так называемое сборочное окружение. Юниксы исторически по внутренней структуре устроены очень просто, внедрение Раста только усложнит систему.
Пусть растоманы держатся подальше от ядра Линукса. Пусть лучше они допиливают свой Редокс. Все преимущества Раста относительно ядрописательства высосаны из пальца.
| |
|
|
|
|
|
6.212, Аноним (-), 20:13, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –2 +/– |
> ... станут требовать не только компилятор Раста, но и его так называемое сборочное окружение
> ... Пусть растоманы держатся подальше от ядра Линукса. Пусть лучше они допиливают свой Редокс. Все преимущества Раста относительно ядрописательства высосаны из пальца.
> Это не аргумент, это троллинг. Хамский, тупой троллинг.
Довольно самокритично.
| |
|
|
|
|
2.240, Ordu (ok), 21:56, 13/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –7 +/– |
> Я сборщик.
Сборщики должны страдать. Как и мейнтейнеры вообще. Всё это нытьё "мне стало сложнее выполнять мою работу", потому что программисты начали использовать новые инструменты -- это именно что нытьё. Разработка программ ведётся программистами, и программисты выбирают такие инструменты, которые им удобны, а не такие, которые делают жизнь мейнтейнеров безоблачной и не требующей никакой работы. Если бы они были бы заняты вторым и выполняли бы твою работу за тебя, то ты был бы не нужен как класс.
| |
|
|
|
5.251, Самокатофил (?), 22:53, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
> Зачем мне уговаривать? Уговаривать мейнтейнера -- это задача пользователя, а не программиста.
1. Пользователю до лампочки какие-то там qt6 с нулём пользовательских программ.
2. Пользователю если не будет возможности установить и попробовать, он так и не узнает зачем ему уговаривать мейнтейнера.
3. Пользователь установит альтернативу.
Так что спускайся на землю.
| |
|
|
5.253, Самокатофил (?), 22:56, 13/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
>Уговорить мейнтенера занаться разработкой или к чему это очередная глупая и притянутая за уши аналогия
Аналогия к тому, что и разработчик программы, и разрабы дистров связаны: одни кодят, другие собирают/интегрируют/дистрибьютят.
>очевидно, что если разработчик не будет "крутить педали", то мейнтейнеру нечего будет собирать).
Очевидно, что если разработчик софта не будет идти на сотрудничество с разработчиками дистра, то его софт останется без поддержки и выкинут из дистрибутива. Так было, есть, и будет есть.
| |
|
|
7.349, угу (?), 13:41, 14/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +2 +/– |
Дык он наоборот как раз - РЕШАЛ проблемы гуаноразработчиков гуанодристов - ничем не париться и не писать никакие сложные не по умишку стартапные скрипты, херак-херак, curl | sudo su и в пакетик.
Те два десятка пакетов которым все равно нужны сложные скрипты для запуска и обслуживания - ну будет дописывать тот десяток майнтейнеров которые еще умеют в юникс-системы. А остальные не нужны, любое ОНО с дипломом по гендерным штудиям справится.
| |
|
|
|
|
3.453, bOOster (ok), 05:51, 18/02/2022 [^] [^^] [^^^] [ответить] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
Это ты правильно написал - программисты выбирают инструменты, а не макаки, не понимающие как наваянный им же код работает и ждущие от системы сборки чуть ли правки их корявых алгоритмов.
ПыСы. Мне такие чудики напоминают взаимодействие "Вовки в тридевятом царстве" и "Двоих из ларца", а в результате
- "А вы че, еще и есть за меня будете?"
- "Ага"
| |
|
|
5.456, n00by (ok), 12:56, 18/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> опакечивать бывает сложно.
Знаю опакечивателей, у которых словосочетание "собрать пакет" вызывало бурную реакцию и считалось моветоном. Сначала не мог понять причин, а потом вспомнил, что по пляжам ходят люди со старой лыжной палкой и так ей ловко тюк, тюк, тюк... и всякие банки пустые, пакетики из под чипсов и прочий мусор на неё нанизываются. Вот этот труд считается низкоквалифицированным, но люди не ноют, что им тяжело наклоняться и собирать пакетики, придумали рацуху. А тут "я сборщик, ̶э̶т̶о̶ ̶з̶в̶у̶ч̶и̶т̶ ̶г̶о̶р̶д̶о̶ а растоманы мне работать мешают". Тьфу =)
| |
|
|
|
|
|
|
|
4.407, Аноним (109), 12:44, 15/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
> А ты лично с каждого растамана будешь требовать чтобы он вручную включал
> нужные опции? Как правило, бинари на Расте огромных размеров и эту
> тенденцию или закономерность нам не перебороть.
Нет такой закономерности, есть лишь ламеризм отдельно взятых опеннетных "экспертусов", которые ни про сборочное окружение, ни про статическую линковку не слышали ...
| |
|
|
|
1.179, Аноним (345), 18:05, 13/02/2022 [ответить] [﹢﹢﹢] [ · · · ] [↓] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
> Использование Rust для разработки драйверов позволит с минимальными усилиями создавать безопасные и более качественные драйверы,
Теперь не надо изучать нудное устройство ядра, си и прочую мишуру.
Теперь любая домохозяйка сможет легко и просто написать качественный драйвер.
Сколько людей были до сих пор ограничены тем, что не могли написать нужный им драйвер для линукса.
Но теперь всё изменится! Теперь сможет каждый, и усилия его будут минимальны.
| |
|
|
3.328, Аноним (-), 12:32, 14/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
> И, главное, не надо теперь изучать само железо! Можно сразу писать драйвер
> на расте! И он будет безопасный! Только слегка течь и падать
> там, где растаманы перепутали больше-меньше при проверке вхождения в массив!
На самом деле это хитрый план корпорастов, с целью создать дешевую замену элитным опеннетным изучателям железа и написателям драйверов. Ну и просто отвлечь их от разработки, заставив вместо кода строчить бесчисленные возмущенные комментарии!
| |
3.343, угу (?), 13:33, 14/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| –1 +/– |
> И, главное, не надо теперь изучать само железо! Можно сразу писать драйвер на расте! И он будет безопасный!
вот именно!
> Только слегка течь и падать там
совершенно необязательно. Он может просто не работать до перезагрузки устройства (заодно с всем остальным железом) ресетом - это ведь - безопасно!
Одна только беда: других драйверов скоро не останется.
| |
|
4.354, Самокатофил (?), 14:29, 14/02/2022 [^] [^^] [^^^] [ответить] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
>> Только слегка течь и падать там
> совершенно необязательно. Он может просто не работать до перезагрузки устройства (заодно
> с всем остальным железом) ресетом - это ведь - безопасно!
я слышал, сейчас модно задавать лимит процессу какой-нибудь контрол-группой, и рестартить его автоматически, до усрачки, забивая tmpdir'ы всяким мусором, чтоб системд терял связь с компонентами через свой захардкоженный дбас, до хардресета, и так по кругу во славу сатане.
> Одна только беда: других драйверов скоро не останется.
Всегда есть "маргиналы". Для меня это dflybsd. Разрабы портируют дровишки с линуха. Диллон любит сишку (есть опыт разработки компиляторов), и переписывает на сишке если вдруг что-то годное для стрекозы появилось на какой-нибудь не си :-D
| |
|
|
|
1.394, СССР (?), 02:41, 15/02/2022 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +1 +/– |
смотрю на всю эту ахинею с растом, и и понимаю, что бы хоть хотя бы немного, эту фирму, которая проталкивает раст, унять, нужно отказаться от их браузера, все ровно, хоть на хромиум хоть на ya (если есть под линукс). или ту же оперу
| |
1.455, wyry (?), 12:22, 18/02/2022 [ответить] [﹢﹢﹢] [ · · · ] [п©Б∙╗ п©Б∙╙п©Б∙╛п©Б∙╒п©Б∙ёя▐Б■─п©Б∙÷я▐Б■▄п©Б∙╛я▐Б■─я▐Б■░]
| +/– |
Всё, чего в итоге добьются (если добьются) Rust'оманы при заигрывании с ядром - это раскол во всём Linux сообществе. Даже не сомневайтесь, что найдутся люди, которые просто не захотят иметь у себя в ядре прибитую гвоздями огромнейшую зависимость в виде Rust (причём единственно расово верную, т.к. никаких альтернатив всё равно нет!). Я не сомневаюсь что Google в итоге сделает так, что ядро начнёт ржаветь, насколько далеко это должно зайти - решать сообществу, но на пользу это никому не пойдёт. Здесь даже возможности языка уходят на 2-ой план. А здесь стоит только начать: если Rust начнёт активно использоваться, возбухнут сторонники C++ в ядре, которых Линус в своё время нахрен послал. Над Rust он скорее просто тихонько стебётся, чтобы инвесторов не пугать, но в итоге прогибаться придётся. В итоге вместо единого сообщества на C, получим множество более удалённых сообществ со своими самоварами и костылями.
| |
|