The OpenNET Project / Index page

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



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

Оглавление

Пятая редакция патчей для ядра Linux с поддержкой языка Rust , opennews (??), 13-Фев-22, (0) [смотреть все]

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


6. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +4 +/
Сообщение от Vlademail (??), 13-Фев-22, 12:13 
Может просто стоит внедрить статический анализ в разработку на си?
Ответить | Правка | Наверх | Cообщить модератору

8. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +5 +/
Сообщение от Аноним (4), 13-Фев-22, 12:17 
Естественно эти инструменты уже используются ядро чуть ли не всем IT-миром пилят. Но они не помогают в 100% случаев, о чем могут свидетельствовать многочисленные CVE-шки ядра по работе с памятью.
Ответить | Правка | Наверх | Cообщить модератору

9. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –1 +/
Сообщение от Самокатофил (?), 13-Фев-22, 12:24 
https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=rust

о чем могут свидетельствовать многочисленные CVE-шки по работе с памятью.

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

79. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +3 +/
Сообщение от Ананимус (?), 13-Фев-22, 14:03 
> 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.
Ответить | Правка | Наверх | Cообщить модератору

85. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –4 +/
Сообщение от Аноним (-), 13-Фев-22, 14:12 
>> 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.

И чо? Не было бы деманглера, не было бы и уязвимости, а значит это Раст все виноват!

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

88. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –1 +/
Сообщение от Самокатофил (?), 13-Фев-22, 14:18 
Сишники и цэпэпэшники не выпрыгивают из штанов, доказывая что у них серебряная пуля. Пишут компиляторы, улучшают анализаторы. Растаманьки самие пользуются результатом их трудов. Такова жизнь.
Ответить | Правка | Наверх | Cообщить модератору

94. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –2 +/
Сообщение от Аноним (4), 13-Фев-22, 14:26 
Про серебренную пулю ни кто не пишет. Кстати, многие из создателей языка Rust это компетентные крестовики.
Ответить | Правка | Наверх | Cообщить модератору

96. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –2 +/
Сообщение от Самокатофил (?), 13-Фев-22, 14:38 
> Про серебренную пулю ни кто не пишет.

Просто массовая галлюцинация :-D. Всем кажется. А софт, с тенденциозным именем, вроде "ripgrep" не существует.

Как там кстати, рипгреп, поддерживает какие-нибудь регекспы акромя покоцаных растовых? Или "продолжаем хоронить grep since 2010"? :-)

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

112. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от Аноним (4), 13-Фев-22, 15:21 
А при чем тут Rust? ripgrep мог родиться и на другом языке. Его основная фишка ведь не в том что он на Rust'e написан, а в скорости работы https://blog.burntsushi.net/ripgrep/
ripgrep особенно силен в поиске unicode, при поиске внутри файла, или в очень больших директориях.

Он используется для поиска в большом количестве данных, а не для всех задач которые могут потребоваться в shell. Например VSCode и Atom используют ripgrep для поиска в файлах проекта.

>Как там кстати, рипгреп, поддерживает какие-нибудь регекспы акромя покоцаных растовых?

https://docs.rs/regex/*/regex/#syntax
https://docs.rs/regex/*/regex/bytes/index.html#syntax
Может с тех пор как вы смотрели в регэкс добавили новые фичи, посмотрите еще тут https://github.com/rust-lang/regex/blob/master/CHANGELOG.md#...

Вот еще changelog проекта. Там тоже может быть что-нибудь интересное https://github.com/BurntSushi/ripgrep/releases

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

118. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –5 +/
Сообщение от Самокатофил (?), 13-Фев-22, 15:30 
Вы не рерайтер в основной профессии?
Ответить | Правка | Наверх | Cообщить модератору

95. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от Аноним (-), 13-Фев-22, 14:32 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103841
>> Uncontrolled Recursion in libiberty/rust-demangle.c
> Сишники и цэпэпэшники не выпрыгивают из штанов, доказывая что у них серебряная

Как ты ловко перевел тему с очередного своего обсера ...

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

113. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +2 +/
Сообщение от Аноним (113), 13-Фев-22, 15:22 
>Cишники и цэпэпэшники не выпрыгивают из штанов, доказывая что у них серебряная пуля.

Поэтому я делаю вывод что ты не сишник и не цэпэпэшник.

так кто же ты? балабол?

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

186. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –1 +/
Сообщение от Самокатофил (?), 13-Фев-22, 18:15 
я возразил на это:

> Но они не помогают в 100% случаев, о чем могут свидетельствовать многочисленные CVE-шки ядра по работе с памятью.

этим:

>https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=rust

.

> так кто же ты? балабол?

ок, зумер :-D


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

275. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (275), 14-Фев-22, 00:40 
Покажите, что вы написали на Си. Держите чего стоит настоящий си программист.

Пока это вы выпрыгиваете из штанов, даже всю новость застали попытками доказать какой раст плохой.

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

278. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –2 +/
Сообщение от Самокатофил (?), 14-Фев-22, 00:57 
> Покажите, что вы написали на Си. Держите чего стоит настоящий си программист.
> Пока это вы выпрыгиваете из штанов, даже всю новость застали попытками доказать
> какой раст плохой.

А смысл?! Все равно вы убежите, скуля что я - не я, а если и я - то вообще, вы не ожидали что в беседе я такая школьница. :-D

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

358. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (275), 14-Фев-22, 14:50 
Ты легко можешь подтвердить что репозиторий твой.
Само собой ты ничего не подтвердишь ведь ты не можешь написать ничего сложнее тупняка в комментариях
Ответить | Правка | Наверх | Cообщить модератору

359. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –1 +/
Сообщение от Самокатофил (?), 14-Фев-22, 14:54 
> Ты легко можешь подтвердить что репозиторий твой.
> Само собой ты ничего не подтвердишь ведь ты не можешь написать ничего
> сложнее тупняка в комментариях

Пруф так пруф.

https://www.youtube.com/watch?v=pLfcNB_R2u4

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

427. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Прохожий (??), 16-Фев-22, 01:53 
Это не пруф. Это называется обкакался и убежал в кусты.
Ответить | Правка | Наверх | Cообщить модератору

12. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +4 +/
Сообщение от anonymous (??), 13-Фев-22, 12:28 
Си недостаточно выразителен семантически. Например, там нет borrowing. В результате, статический анализатор не в курсе как код должен работать и не может сообщит об ошибке. В теории можно просто кастомно расширить Си, его компилятор и переписать всё ядро на новый Си. Но зачем, если работа уже проделана в Rust?
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

19. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +2 +/
Сообщение от Самокатофил (?), 13-Фев-22, 12:36 
Так и расту эта выразительность не помогает. Сношаться с кодом только помогает, а уязвимости как были так и есть.
Ответить | Правка | Наверх | Cообщить модератору

27. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +4 +/
Сообщение от Аноним (4), 13-Фев-22, 12:48 
Уязвимости никуда не денутся, но благодаря подходу Rust их становится меньше. А при использовании идиоматичного Rust еще и без ущерба производительности. Например итераторы по коллекциям там где существует последовательное индексирование не приводят к проверкам убежавших индексов / Парсеры (типа Nom) в подходящие струкуры где требуется работа с индексами. Опять же чтобы не пришлось индексировать и для удобства работы.
Ответить | Правка | Наверх | Cообщить модератору

54. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от keydon (ok), 13-Фев-22, 13:22 
> Уязвимости никуда не денутся, но благодаря подходу современного C++ их становится меньше.

Когда дело касается голого маркетинга, а не фактов, то повернуть стрелочку можно не просто, а очень просто.

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

67. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (4), 13-Фев-22, 13:40 
Но это замедляет программу даже в простейших случаях ( https://www.youtube.com/watch?t=1061&v=rHIkrotSwcc ) , а также делает ее менее читаемой, поскольку эти инструменты не встроены в язык а являются дополнением стандартной библиотеки.
Ответить | Правка | Наверх | Cообщить модератору

68. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от freecoderemail (ok), 13-Фев-22, 13:44 
Да, благодаря подходу современного C++ их действительно становится меньше. Rust же продолжает развитие этой плюсовой линии.
Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

371. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от wyry (?), 14-Фев-22, 16:50 
>Да, благодаря подходу современного C++ их действительно становится меньше.

Это как посмотреть. Можно писать сравнительно сложную систему на C с классами (пример, Джон Кармак, движок старенького Doom 3) и допускать минимум ошибок.
Также можно в современном C++ наделать висячих r-value ссылок просто где-то услышав, что ими модно пользоваться, но не разобравшись до конца как они работают и когда это вообще нужно. Причём код будет компилироваться. Rust не защитит от дурака хотя бы тем, что в любой непонятной ситуации будет заюзан unsafe (даже если объективно не нужен!), а опытные и благоразумные разработчики и так знают где подстелить соломку, а от опечаток, семантических ошибок вообще не застрахован никто и нигде. И уж тем более никто не застрахован от неверного использования legacy-c кода (при этом код на Rust будет легитимным), а ведь сложные ошибки чаще всего и возникают на стыке чего-либо.

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

140. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (4), 13-Фев-22, 16:18 
Ну например современный С++ не предотвращает data race на стадии компиляции. Или iterator invalidation.

В С++ существуют такие вещи которые нужно знать, но они создают "искусственную" сложность https://stackoverflow.com/questions/146452/what-are-pod-type...

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

159. Скрыто модератором  –2 +/
Сообщение от Самокатофил (?), 13-Фев-22, 17:13 
Ответить | Правка | Наверх | Cообщить модератору

428. Скрыто модератором  –1 +/
Сообщение от Прохожий (??), 16-Фев-22, 01:57 
Ответить | Правка | Наверх | Cообщить модератору

437. Скрыто модератором  +/
Сообщение от Самокатофил (?), 16-Фев-22, 05:02 
Ответить | Правка | Наверх | Cообщить модератору

120. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –4 +/
Сообщение от Урри (ok), 13-Фев-22, 15:35 
> Уязвимости никуда не денутся, но благодаря подходу Rust их становится меньше

Благодаря которому из? Захламлению синтаксиса спецсимволами, превращающему программу в некое подобие нечитабельных регэкспов? Или в статическую компиляцию, требующую пересборки всех проектов после фиксов дыр в функциях работы с файлами? Или в регулярные диприкейтед, которые делают предыдущий пункт невыполнимым?

А, вы о borrow checking? Ну так этого мало. К этому еще и язык должен быть поддерживаемым, а не вот это вот аджайловое лоскутное одеяло.

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

162. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (4), 13-Фев-22, 17:19 
>Захламлению синтаксиса спецсимволами, превращающему программу в некое подобие нечитабельных регэкспов?

Такова доля любого системного языка претендующего на усиленную безопасность. Либо широкий и пространный код (как в SPARK), либо плохо читаемый (Без обучения языку. Я лично читаю его довольно легко, это приходит с опытом)

Синтаксис лайфтаймов, например, взят из Haskell, который славится своей немногословностью. Дженерики из Java. Остальное из С/С++. Какая часть синтаксиса вам не нравится, что бы вы изменили?

Единственная проблема с чтением кода в Rust которую можно поставить в сильный упрек экосистеме. Это отсутствие распаковки процедурных макросов во всех IDE (все обещают, но никак не реализуют). Что может усложнить разработку если у вас код весь из них состоит.

>Или в статическую компиляцию, требующую пересборки всех проектов после фиксов дыр в функциях работы с файлами?

Не всех проектов, а только тех что использовали уязвимую функцию std::fs::remove_dir_all.

Ситуация с динамической линковкой непростая, один из серьезных недостатков. Пока не стандартизируют ABI об отделении стандартной библиотеки и размещении ее где-нибудь в системе можно забыть.

К счастью в сообществе Rust стал стандартом модуль системы сборки cargo-audit, который позволяет при сборке проекта проверить все его зависимости на наличие уязвимостей.

>Или в регулярные диприкейтед, которые делают предыдущий пункт невыполнимым?

Rust использует понятие Редакции (которые выходят раз в 3 года) для внесения в язык или стандартную библиотеку ломающих изменений, поэтому они не такие уж и регулярные как вы упомянули. В любом случае эта претензия также относится к отсутствию должным образом реализованной динамической линковки (Что в будущем изменится)

>К этому еще и язык должен быть поддерживаемым,

Он и поддерживается https://www.rust-lang.org/sponsors Помимо спонсоров есть также активное коммьюнити что подтверждается его популярностью на SO. Для него пишут библиотеки, хоть и не так активно как для top10 языков http://www.modulecounts.com/

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

170. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (-), 13-Фев-22, 17:39 
>>Или в регулярные диприкейтед, которые делают предыдущий пункт невыполнимым?
> Rust использует понятие Редакции (которые выходят раз в 3 года) для внесения

Да забей. Его в это ужа раз 5 носом тыкали - бесполезно, в каждой новости опять нытье о "все время ломают совместимость!".
Старческий маразм, не иначе.

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

181. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от Урри (ok), 13-Фев-22, 18:06 
> Такова доля любого системного языка претендующего на усиленную безопасность.

Глупости.

С# - безопасный и достаточно системный язык (на нем тоже ОСь написана, - singularity, - не менее безопасная чем почти почивший redox).


> Либо широкий и пространный код (как в SPARK), либо плохо читаемый (Без обучения
> языку.

Еще раз - глупости.


> Я лично читаю его довольно легко, это приходит с опытом)

А я регэкспы читаю легко (ну не так чтобы вот совсем-совсем, но легче всех кого знаю).
Но это не причина все превращать в регэкспы и тем более не причина утверждать что так и надо.


> Синтаксис лайфтаймов, например, взят из Haskell, который славится своей немногословностью.
> Дженерики из Java. Остальное из С/С++. Какая часть синтаксиса вам не
> нравится, что бы вы изменили?

Все. Я бы все выкинул на помойку и сделал С++++ или C## с борроу-чекером. Без встроенного пакетного менеджера, линтера и всего остального не относящегося к понятию "язык программирования" барахла.


> Единственная проблема с чтением кода в Rust которую можно поставить в сильный
> упрек экосистеме. Это отсутствие распаковки процедурных макросов во всех IDE...

Это упрек не экосистеме, а базовым библиотекам языка. И функции языка и макросы не должны требовать анализа "что же там внутри". Мы же не ходим исследовать printf, не так ли?


>>Или в статическую компиляцию, требующую пересборки всех проектов после фиксов дыр в функциях работы с файлами?
> Не всех проектов, а только тех что использовали уязвимую функцию std::fs::remove_dir_all.

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

Возникнет. Обязательно возникнет. На это можно ящик виски ставить.
И чем позже возникнет, тем дороже будет.


> Rust использует понятие Редакции (которые выходят раз в 3 года) для внесения
> в язык или стандартную библиотеку ломающих изменений

Напомните пожалуйста когда возникло это понятие. Не полгода назад, случайно?

Кто мне гарантирует что за последующие 5-7 лет, на которые я рассчитываю поддержку своей поделки,  в языке в очередной тысячный раз не поменяется концепция? Вот до сих пор было как обычно, тут мы одну заплатку, тут новые костыли, тут это выкинули и тут добавили - а тут внезапно все изменится к лучшему? Ха-ха три раза, только дурачки на такое поведутся.


>>К этому еще и язык должен быть поддерживаемым,
> Он и поддерживается https://www.rust-lang.org/sponsors

Эти 4 конторы и есть причина того, что раст еще не загнулся. Гугл, Майкрософт и Амазон все еще надеятся, что смогут с помощью раста исключить из кода необучаемых индусских обезьян ошибки с памятью.

Местные пропагандисты раста, за редкими исключениями, именно такие обезьянки - не имеющие никакого понятия о процессах в программировании, о цене поддержки, даже о базовых принципах построения программных комплексов.


> Помимо спонсоров есть также активное коммьюнити

Угу, помним. То активное коммьюнити, которое успешно разоcpалось с кортимом, имевшим это активное коммьюнити в одном известном месте.


> что подтверждается его популярностью на SO.

Пххх. "А как мне вывести хелловорлд на печать, такой глупо-сложный язык что никак не могу понять".
Успех (с)


> Для него пишут библиотеки, хоть и не так активно как для top10 языков

А толку, если технический долг активно делает все эти библиотеки мертвым грузом?

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

194. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от Аноним (194), 13-Фев-22, 18:29 
>> Rust использует понятие Редакции (которые выходят раз в 3 года) для внесения
>> в язык или стандартную библиотеку ломающих изменений
> Напомните пожалуйста когда возникло это понятие. Не полгода назад, случайно?

И в это тебя уже тыкали.
https://blog.rust-lang.org/2018/07/27/what-is-rust-2018.html
> July 27, 2018
> This year, we will deliver Rust 2018, marking the first major new edition of Rust since 1.0 (aka Rust 2015).

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

329. Скрыто модератором  –1 +/
Сообщение от Урри (ok), 14-Фев-22, 12:42 
Ответить | Правка | Наверх | Cообщить модератору

338. Скрыто модератором  +/
Сообщение от Аноним (-), 14-Фев-22, 12:56 
Ответить | Правка | Наверх | Cообщить модератору

380. Скрыто модератором  –1 +/
Сообщение от Урри (ok), 14-Фев-22, 19:13 
Ответить | Правка | Наверх | Cообщить модератору

360. Скрыто модератором  +1 +/
Сообщение от Самокатофил (?), 14-Фев-22, 15:02 
Ответить | Правка | К родителю #329 | Наверх | Cообщить модератору

381. Скрыто модератором  +/
Сообщение от Урри (ok), 14-Фев-22, 19:14 
Ответить | Правка | Наверх | Cообщить модератору

415. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (4), 15-Фев-22, 15:06 
>С# - безопасный и достаточно системный язык (на нем тоже ОСь написана, - singularity, - не менее безопасная чем почти почивший redox).

И Java безопасна и при грамотном использовании выдает быстрый код, и на ней ОС написана, но ее не примут в ядро Linux по тем же причинам что и C#.

>> Либо широкий и пространный код (как в SPARK), либо плохо читаемый (Без обучения языку.
>Еще раз - глупости.

Что конкретно глупости? SPARK сорсы выдают кода в 1,5 раза больше на смысловую единицу - это общеизвестный факт. За все приходится платить.

Если вы считаете что можно выдать изящный код тогда давайте контрпример. Покажите системный язык со статической типизацией, без форсированного сборщика мусора (чтобы показать его системность - скорость исполнения), с подобием трейтов (интерфейсы), возможностью написания обобщенного кода и похожими гарантиями безопасности. Мне лично кроме Ada ничего на ум не приходит.

В любом случае можно обойтись без интерфейсов и дженериков. Код будет выглядеть как на Си или Go. И будет таким же безопасным как написанный на Ada.

>Но это не причина все превращать в регэкспы и тем более не причина утверждать что так и надо.

Вы так и не показали что конкретно вы бы переделали, если бы хотели сделать Rust красивей. Дело в том что при проектировании каждую закорючку в языке обсуждали с боем на Github. Там велись дискуссии размером с маленькие справочники. Я склонен считать что они нашли золотую середину для программистов на Си/С++.

>Все. Я бы все выкинул на помойку и сделал С++++ или C## с борроу-чекером.

Вам бы пришлось вводить явные лайфтаймы. Куда запихаете? Как они будут выглядеть?

>Пххх. "А как мне вывести хелловорлд на печать, такой глупо-сложный язык что никак не могу понять". Успех (с)

Все мы похожее спрашивали. И уже тогда нас считали частью коммьюнити. Сейчас они спрашивают, потом внесут вклад.

>А толку, если технический долг активно делает все эти библиотеки мертвым грузом?

Так можно про любой язык написать. Редакции с новыми возможностями выходят и в крестах. В крайнем случае, если автор потерялся (что уже само по себе плохо для любой библиотеки) можно будет форкнуть проект и поправить там несколько строк для перехода на новую редакцию. Если не собираешься переписывать с новыми фичами. Не было пока таких изменений в Rust, которые бы потребовали серьезного глобального рефакторинга для получения совместимости с новой редакцией.
К тому же существует специльный гайд и утилита cargo --fix https://doc.rust-lang.org/edition-guide/rust-2021/prelude.ht...
Есть примеры более-менее крупных проектов которые используют Rust:
rust-lang 1.78 млн. LOC, redox 1.33 млн., diem 300 тыс., tikv 300 тыс., Veloren 200 тыс. (данные годичной давности)
Можно надеяться что чем больше будет таких проектов, тем проще будет поддержка в будущем.

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

447. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (447), 17-Фев-22, 01:37 
>loc: Count lines of code quickly.

Ох лол.

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

444. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –1 +/
Сообщение от anonymous (??), 16-Фев-22, 11:20 
> Захламлению синтаксиса спецсимволами, превращающему программу в некое подобие нечитабельных регэкспов?

Если мозги есть и немного опыта набраться, то выясняется, что синтаксис там не создаёт никаких проблем. Умение читать конкретный синтаксис — это тупо дело привычки. А вот реальные особенности языка кроются за семантикой, а не синтаксисом.

Чувствую себя даже немного неловко, когда приходится писать столь базовые вещи.

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

446. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +3 +/
Сообщение от Урри (ok), 16-Фев-22, 13:57 
> Умение читать конкретный синтаксис — это тупо дело привычки.

Само собой. Я вот брейнфак неплохо читаю. И хаскель. И даже регэкспы.

> Чувствую себя даже немного неловко, когда приходится писать столь базовые вещи.

Чувствуешь себя неловко из-за того, что настолько идиот? Ведь только полный идиот может предположить, что его оппонент может быть настолько глуп, что может не понимать настолько базовые вещи ("Умение читать конкретный синтаксис — это тупо дело привычки").

Ну поздравляю, ты еще не совсем безнадежен.


Можешь еще подумать вот о чем: язык программирования должен быть интуитивно легко читаем и понимаем. Поэтому и появились высокоуровневые языки программирования. Поэтому машинный код пишут на ассемблере (состоящем из мнемослов), а не прямо цифирьками.
Хотя лично я, например, на заре своей карьеры именно цифирьками и писал. И даже помнил огромное количество команд прямо байтиками (благо их не так много тогда было).

Вот с этой позиции и была написана фраза "Захламлению синтаксиса спецсимволами, превращающему программу в некое подобие нечитабельных регэкспов".

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

442. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –1 +/
Сообщение от anonymous (??), 16-Фев-22, 11:11 
> Так и расту эта выразительность не помогает.

В смысле? Те гарантии, что хотели обеспечить — обеспечили. Что значит «не помогает»?

> Сношаться с кодом только помогает,

Что конкретно это значит?

> а уязвимости как были так и есть.

А кто говорил, что уязвимости уйдут в абсолютный ноль?

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

64. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от keydon (ok), 13-Фев-22, 13:34 
> В теории можно просто кастомно расширить Си, его компилятор и переписать всё ядро на новый Си. Но зачем, если работа уже проделана в Rust?

Чтобы иметь все плюшки Си(++)? Чтобы не пришлось годами впиливать его в линукс и в гигантское количество другого софта? Чтобы не дублировать оптимизации по 100500 раз? Чтобы не плодить лишние сущности, не заставлять разработчиков выяснять различия и не раздроблять сообщество?
Но конечно си контролировать было бы сложнее, это не раст, который можно выкупить у мозиллы. Хайп было бы сложнее поднять ("очередные изменения в си" вместо "новый выдающийся язык программирования"). А зарплата "редкого специалиста" будет побольше чем "пишу на современной версии" ("Ты еще и денег за это хочешь?!").

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

71. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –1 +/
Сообщение от freecoderemail (ok), 13-Фев-22, 13:49 
Уже обсуждали и не раз, что просто расширить Си не получится, его придется переделывать. А тогда это будет уже и не Си.
Ответить | Правка | Наверх | Cообщить модератору

93. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +3 +/
Сообщение от keydon (ok), 13-Фев-22, 14:24 
> Уже обсуждали и не раз, что просто расширить Си не получится, его
> придется переделывать. А тогда это будет уже и не Си.

И где же это уже обсудили? И в чем проблема нарушить совместимость?
В c++11, в python3, в raku, в lua это не было проблемой и никто не создавал новый язык ради переписывания стандартной либы и добавления статического анализатора в компилятор.

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

107. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +1 +/
Сообщение от Отражение луны (ok), 13-Фев-22, 15:07 
>И в чем проблема нарушить совместимость?

Ну ты можешь считать что раст это си, просто без обартной совместимости и с другим названием.

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

448. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (447), 17-Фев-22, 01:44 
Синтаксис другой.
Ответить | Правка | Наверх | Cообщить модератору

130. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от freecoderemail (ok), 13-Фев-22, 16:05 
Да постоянно обсуждается этот вопрос. Из недовнего, например здесь: https://www.opennet.ru/openforum/vsluhforumID3/126618.html#47
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

80. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Ольбертович (?), 13-Фев-22, 14:03 
Вот именно, llvm лавочку потом тихо прикрыть
Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

445. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –1 +/
Сообщение от anonymous (??), 16-Фев-22, 11:26 
> Чтобы иметь все плюшки Си(++)?

Если речь про Си (который используется в ядре), то они и в Rust есть.

> Чтобы не пришлось годами впиливать его в линукс и в гигантское количество другого софта?

Вы как-то пропустили ту часть, где я сказал «переписать всё ядро».

> Чтобы не дублировать оптимизации по 100500 раз?

Например?

> Чтобы не плодить лишние сущности, не заставлять разработчиков выяснять различия и не раздроблять сообщество?

В таком Си next gen это придётся делать так или иначе. Более того, это как раз будет лишней сущностью, ибо уже есть Rust.

> Но конечно си контролировать было бы сложнее, это не раст, который можно выкупить у мозиллы. Хайп было бы сложнее поднять ("очередные изменения в си" вместо "новый выдающийся язык программирования"). А зарплата "редкого специалиста" будет побольше чем "пишу на современной версии" ("Ты еще и денег за это хочешь?!").

Теории заговора — это на zagovor.ru


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

25. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +5 +/
Сообщение от Ан (??), 13-Фев-22, 12:43 
Есть такие штуки:

https://github.com/microsoft/checkedc

https://dlang.org/spec/betterc.html

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

32. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Анонн (?), 13-Фев-22, 12:55 
В полной мере это будет невозможно сделать никогда. В ядре слишком много г̶о̶в̶н̶о̶к̶о̶д̶а̶ оригинальных решений и оптимизаций, от которых даже cppcheck начинает сходить с ума. Только для отдельных модулей и то в ограниченном виде. Это как с чьим-то предложение внедрить MISRA C в ядро. Трижды ха)))
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

40. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (215), 13-Фев-22, 13:07 
> MISRA C в ядро

А что на MISRA сказали? Интересно даден

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

50. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Анонн (?), 13-Фев-22, 13:15 
Примерно тоже самое.
Текущий код перевести слишком трудозатратно - это по сути переписать (не с нуля конечно, но это мало помогает) гигатонны кода, протестить его на всех платформах (в том числе уже подохших), найти и исправить ошибки. Плюс еще и заставить так писать всех сторонних кто коммитит в ядро (вдрайвера напр.) Это просто нереально ни по времени, ни по финансам. Намного дешевле раз в неделю исправлять CVE.
Ответить | Правка | Наверх | Cообщить модератору

248. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  –1 +/
Сообщение от nonon (?), 13-Фев-22, 22:42 
> внедрить статический анализ в разработку на си

Если внедрить статический анализ в разработку на си это будет раст

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

449. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (447), 17-Фев-22, 01:48 
И близко нет. Сохранится совместимость и опыт разработчиков.
Ответить | Правка | Наверх | Cообщить модератору

263. "Пятая редакция патчей для ядра Linux с поддержкой языка Rust..."  +/
Сообщение от Аноним (261), 13-Фев-22, 23:56 
>Может просто стоит внедрить статический анализ в разработку на си?

Ну и, наверное, MISRA тоже стоит.

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

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

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




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

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