Разработчики анонимной сети Tor представили выпуск проекта Arti 0.0.3, развивающего Tor-клиент, написанный на языке Rust. Проект имеет статус экспериментальной разработки, отстаёт от функциональности от основного клиента Tor на языке Си и пока не готов полноценно заменить его. В марте ожидается выпуск 0.1.0, который позиционируется как первый бета-выпуск проекта, а осенью выпуск 1.0 со стабилизацией API, CLI и настроек, который будет пригоден для начального использования обычными пользователями. В более отдалённом будущем, когда код на Rust достигнет уровня, способного полностью заменить вариант на Си, разработчики намерены придать Arti статус основной реализации Tor и прекратить сопровождение реализации на Си...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=56511
Чисто технически раст достаточно хороший язык в плане сахара и действительно позволяет упростить и ускорить разработку. В крайнем случае пихать повсюду куски ржавчины это модно, все хотят чтобы их проекты были ржавыми. Как там продвигается инициатива портировать раст на гцц?
>позволяет упростить и ускорить разработкудооо
Ну анекдот же: "Раст" и "упростить" это нечто ортогональное.
Дело привычки, выбор между писать тысячи стрёмного бойлерплейта или взять язык где о большинстве типичных проблем позаботились.
Постоянно слышу про мифический список "большинства типичных проблем". Где можно на него посмотреть?
Те проблемы C, что я знаю, случаются из-за плохого стиля программирования и легко находится большинством анализаторов, а то и компилятором с опциями. Остальным типичным проблемам вроде опечаток или утечек памяти подвержен и раст.
Хотелось бы увидеть конкретику каких именно проблем поможет избежать раст, которые не удалось бы найти в C статическим анализом.
Есть много распространённых проблем. Например, типичная проблема не проверять malloc. Обработка ошибок, наконец. Возвращаемых значений тоже. Это всё с поразительной частотой создаёт значительные неудобства при разработке.
> Например, типичная проблема не проверять malloc.Ну проверил ты malloc. Ну узнал ты, что там NULL и запрашиваемая память не была выделена. И что ты будешь делать с этой ценной информацией? Что ты вообще можешь сделать, когда в системе закончилась память?
Следуя этой же логике опенсорс уничтожает всё до чего доберётся при исчерпании места на диске и проприетарщина остаётся жизнеспособной и не разрушается (не любая конечно). А потом спрашивают, мол, зачем.
Не приписывай мне свою ущербную логику. Как, @#$&, ты по наличию/отсутствию проверки возвращаемого значения malloc() собираешься определять лицензию программы???
> Есть много распространённых проблем. Например, типичная проблема не проверять malloc.
> Обработка ошибок, наконец. Возвращаемых значений тоже. Это всё с поразительной частотой
> создаёт значительные неудобства при разработке.Ну и когда ты в последний раз использовал malloc? В 1998м году?
А как нынче выделяют память на С, а то я кроме семейства маллоков и mmap сходу ничего придумать не могу?
Все проблемы многопоточки например, просто так вам не дадут ничего никуда передать и получить состояние гонки или чего-то подобного.
Ну и tokio / async позволяет разрабатывать используя весь CPU (привет goroutines), а не в очередной раз писать код с воркерами.
> Все проблемы многопоточки например, просто так вам не дадут ничего никуда передать
> и получить состояние гонки или чего-то подобного.Внезапно в плюсах есть куча механизмов (что в стандарте, что в виде либ) разной степени древности которые тоже не позволят получить состояние гонки или чего-то подобного.
> Ну и tokio / async позволяет разрабатывать используя весь CPU (привет goroutines),
> а не в очередной раз писать код с воркерами.Реализовано во многих плюсовых либах для многопоточки, не говоря уже о go.
- Здравствуйте, мы не хотим писать на плюсах- Пишите на плюсах
> - Здравствуйте, мы не хотим писать на плюсах
> - Пишите на плюсахМожно подумать что плюсовики пишут 100500 маркетинговых статей как писать на плюсах хеллоуворлды, а на опеннете под каждой новостью комментарий "надо было RAII использовать".
Лично я сам не в восторге от плюсов, но раст еще хуже, а все преимущества которые я о нем слышал сводятся к "запихнули функционал X в коробку, не надо ставить X и указывать опции". О да, действительно, фатальный недостаток. Сделаем новый язык с гораздо более корявым синтаксисом (в то время как по миру прохаживается питон, а не B и Smalltalk) чтобы влепить в его компилятор статический анализатор и пакетный менеджер. Такого от хипстеров даже я не ожидал. Браво!
> Можно подумать что плюсовики пишут 100500 маркетинговых статей как писать на плюсах
> хеллоуворлды, а на опеннете под каждой новостью комментарий "надо было RAII
> использовать".Так и есть. Собака лает, караван идёт
Можно примеры текущего Rust кода без использования unsafe? Хотя бы один, мне прям интересно стало.
> Можно примеры текущего Rust кода без использования unsafe? Хотя бы один, мне
> прям интересно стало.Видимо вы промахнулись, это явно не ко мне вопрос. Мне в принципе тяжело смотреть на код на расте, не то чтобы читать или искать в нем unsafe.
Да промахнулся чуток. А по поводу синтаксиса, вполне себе читаемый, по началу может слегка непривычный, для человека ранее работавшего с си подобными языками, но привыкнуть к особенностям синтаксиса можно буквально за 3-4 дня. После прочтения официальной книги уже можно спокойно втягиваться в чужой код. Единственное, что лично у меня вызвало сложности, это уход от некоторых ООП концепций, например наследования. После 15+ лет C++ очень сложно перестроить образ мышления. Вообще делать выводы о синтаксисе впервые взглянув на него, не корректно, да и в целом непринятие нового по причине непонимания, тупиковый путь.
helloworld.rs
Не благодари
> helloworld.rs
> Не благодариЯ и не благодарю, предлагать это произведение воспалённого разума, может только такой же больной на голову. А учитывая что этот "проект" тянет под тысячу зависимостей, вероятность отсутствия в коде unsafe равна нулю. Те ты или сам в мат части не разобрался, или умышленно предлагаешь некорректный пример...
Еще примеры будут? Я понимаю, чтобы грамотно, аргументированно ответить нужно хоть немного извилинами пошевелить, это не минусы ставить, но все же...
Проблемы C и C++ в бесконечной сложности языков согласно стандарту и неадекватности разработчиков компиляторов.
На C++ писать корректно невозможно потому, что над каждой строкой надо думать по часу с точки зрения того, а не нарушает ли она стандарт.
На C писать корректно никто и не пытается, все думают, что это кроссплатформеный ассемблер, и там можно допускать UB и уйти после этого со своими ногами.
> неадекватности разработчиков компиляторов.
> На C++ писать корректно невозможно потому, что над каждой строкой надо думать по часу с точки зрения того, а не нарушает ли она стандарт.Какая-то чушь, что вообще значит "нарушает стандарт"?) UB в смысле? И почему разработчики компиляторов неадекватные?
С++ имеет подводные камни, конечно, но не настолько все плохо.
Мне лично Rust нравится больше сейчас, но не повод же всякий бред вбрасывать.
> И почему разработчики компиляторов неадекватные?Потому что сломали legacy/
> Потому что сломали legacy/И что же именно они сломали?
Все как раз наоборот - стандарты дрянь. Они не описывают реальный мир. Вот комментарий Линуса про Си https://lkml.org/lkml/2018/6/5/769
> Проблемы C и C++ в бесконечной сложности языков согласно стандарту и неадекватности
> разработчиков компиляторов.
> На C++ писать корректно невозможно потому, что над каждой строкой надо думать
> по часу с точки зрения того, а не нарушает ли она
> стандарт.
> На C писать корректно никто и не пытается, все думают, что это
> кроссплатформеный ассемблер, и там можно допускать UB и уйти после этого
> со своими ногами.Лично я согласен со сложностью и стандарта и компиляторов. Вот только главный вопрос: Причем тут раст? У него стандарт на 10 страниц? Его компилятор за неделю между парами пишется? Его комитет поадекватнее? Не надо над его строчками думать?
Между прочим: Можно забить на часть стандартов Си, все компиляторы так и делают, какие-то более, какие-то менее.
> Постоянно слышу про мифический список "большинства типичных проблем". Где можно на него посмотреть?
Также можно почитать про то, как проблемы решены:
rustmustdie.com
> Также можно почитать про то, как проблемы решены:
> rustmustdie.com
>> unsafe, только благодаря которому Rust и работает. Внутри блока подобного типа отключаются все проверки кода
>> Во имя безопасности и принципов Rust делает программирование на себе решительно невозможным. Прежде всего он ставит своей задачей наказание
>> Пускай его фанаты и маркетологи это отрицают, но в Rust есть и весьма распространён сборщик мусора — причём ладно бы он был один, но их даже несколько.
>> use std::rc::Rc;...
>> Arc<Mutex<String>>
>> Подождите, но за время жизни же отвечало владение? — скажет разумный человек....
>> Особо стоит подчеркнуть, что сборщик мусора встроен в стандартную библиотеку, которая неотделима от самого языка, а потому заявления, что Rust — это якобы язык без сборки мусора, — лживы.Это по мотивам "Полное опеннетное собрание всей Правдивейшей Правды о Расте!, том 119"?
>> fn longest<'a>(a: &'a str, b: &'a str) -> &'a str {
>> if a.len() < b.len() { a } else { b }
>> }
>> Более гибкое указание связки времени жизни, например такое, что результат будет существовать, пока существует хотя бы один из двух параметров — невозможно.Классическое, эпичное неосиляторство (результат и есть один из двух параметров, причем который - становится ясным лишь во время выполнения) ...
Впрочем, все в лучших традициях опеннета.
> rustmustdie.comмусор
Keydon: Где можно почитать конкретный список проблем которые решит rust?
Аноним: держи статью из соплей где нытик ноет про C проблемы (в основном надуманные и несвоевременные)
Спасибо, аноним. Но я просил список, а не плохо сформулированное нытье. Я и сам могу рассказать что мне не нравится например в плюсах. Но все мои претензии либо итак решаются сравнительно несложно (поставь анализатор, укажи параметры компилятора), либо не имеют отношения к языку(особенно много претензий к компиляторам, гайдстайлам/учебникам, стандартной либе), либо все равно никак не решаются в расте (и по-большей части я не уверен что их можно решить в принципе).
С проблемами языка Си можно ознакомиться на всех багтрекерах страны, а также здесь:
https://www.cve.org/
А.В.Столяров в Ютуб-интервью озвучил этот ресурс-брошюру:
https://cmustdie.com/За типичными проблемами С++ далеко от комитета стандартизации языка ходить не надо:
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
Раньше ещё Скотт Мейерс был популярен с его "100500 рекомендациями по сохранению ног при использовании С++".
И хотя я уверен, что холоднокровные рептилоиды давно среди нас, но не видел ни одного программиста, который был бы способен регулярно соблюдать весь этот список требований и не свихнуться. Абдул Альхазред одобряет.
>[оверквотинг удален]
> https://www.cve.org/
> А.В.Столяров в Ютуб-интервью озвучил этот ресурс-брошюру:
> https://cmustdie.com/
> За типичными проблемами С++ далеко от комитета стандартизации языка ходить не надо:
> https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
> Раньше ещё Скотт Мейерс был популярен с его "100500 рекомендациями по сохранению
> ног при использовании С++".
> И хотя я уверен, что холоднокровные рептилоиды давно среди нас, но не
> видел ни одного программиста, который был бы способен регулярно соблюдать весь
> этот список требований и не свихнуться. Абдул Альхазред одобряет.Прям разговор с продажником:
растомчане: Раст нужен всем! Он сделает наш софт безопаснее и проще, решит все ваши проблемы! Переходите быстрее на раст!
адекваты: Какие проблемы решит?
растомчане: Вот тут про проблемы на Си
адекваты: А какие проблемы раст решит и как?
растомчане: Си слишком сложный, никто не может писать на си и не свихнуться...
Оооочень логично.
>С проблемами языка Си можно ознакомиться на всех багтрекерах страны, а также здесь:Вот появится такое же количество софта на расте, тогда посмотрим где и каких ошибок больше. Пока же это выглядит как наброс Г на вентелятор. Любая программа сложнее helloworld на любом языке программирования содержит ошибки. Раст будет не исключение.
> Чисто технически раст достаточно хороший язык в плане сахара и действительно позволяет
> упростить и ускорить разработку. В крайнем случае пихать повсюду куски ржавчины
> это модно, все хотят чтобы их проекты были ржавыми. Как там
> продвигается инициатива портировать раст на гцц?Когда мотивация к добавлению чего-то в разработку описывается словом "модно" (современно/молодёжно/стильно/прогрессивно), ничего хорошего не жди!
Дело не в моде, а технических причинах. Если до этого стирали одежду вручную, то когда у людей начали появляться стиральные машины -- это был не вопрос моды, а вопрос решения проблемы со стиркой. Та же история с Rust и решением проблемы с проверкой корректности управления памятью ("вручную" против "автоматически").
Стиральная машина это ускорение процесса и экономия. хруст же ничего не экономит и тормозной. зачем писать нормальную программу если можно написать тормозное г..но, действительно, как мы все без этого жили. ах нуда, малок чекает автоматически ^_^
> хруст же ничего не экономит и тормозной.Он экономит программерские ресурсы по управлению памятью. Что вы имели в виду под "тормозной"? Он по производительности не уступает Си.
> Он по производительности не уступает Си.Ты перепутал Си с Go, на который ровняется этот самый раст. По всем тестам он отсасывает в разы.
>> Он по производительности не уступает Си.
> Ты перепутал Си с Go, на который ровняется этот самый раст. По всем тестам он отсасывает в разы.Тайным анонимным тестам?
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
fannkuch-redux
Rust 3.80 1,352
C gcc 7.58 1,048k-nucleotide
Rust 2.69 159,044
C gcc 3.96 130,000binary-trees
Rust 1.11 198,404
C gcc 1.58 168,780mandelbrot
Rust 0.91 32,676
C gcc 1.30 30,924regex-redux
Rust 0.78 146,632
C gcc 0.80 152,240fasta
Rust 0.77 1,996
C gcc 0.78 1,244
самому хоть не смешно ?
>>> Ты перепутал Си с Go, на который ровняется этот самый раст. По всем тестам он отсасывает в...
> самому хоть не смешно ?Да нет, к сожалению, юлеж опеннетных "знатоков" слшиком уж уныл.
Нет, я не перепутал. Учителя матчасть. Rust by design является не менее производительным, чем Си.
Чёртова автозамена, s/Учителя/Учите/
> Дело не в моде, а технических причинах. Если до этого стирали одежду
> вручную, то когда у людей начали появляться стиральные машины -- это
> был не вопрос моды, а вопрос решения проблемы со стиркой. Та
> же история с Rust и решением проблемы с проверкой корректности управления
> памятью ("вручную" против "автоматически").Дело именно в моде, последние несколько лет более модно стало не платить много, малому количеству хороших специалистов, а платить мало и горе накипи, которым Си слишком сложно-сложно-"ничего"-нипонятна.
Тут вопрос не в расте, растаманы это такакая прокладка между сишниками и питонистами или вообще жоэсерами, которые думают, что они ближе к сишникам, но по факту все как один из лагеря деградации компетенций, интеллекта и профессионализма.Мы не будем изучать сложные технические устройства, как они устроены, как с ними работать, чтобы писать качественные программы, мы будем упрощать с помощью костылей и прослоек прослоек, абстракций абстракций до той поры, пока не сможем нанимать по сто баксов пучок модных-молодёжных хипстокодиров, которые "раст-раст и в продакшон"!
А всё, конечно же, потому, что Си несовершенен, а не потому что мы ниасилили!
> Дело именно в моде, последние несколько лет более модно стало не платить много, малому количеству хороших специалистов, а платить мало и горе накипи, которым Си слишком сложно-сложно-"ничего"-нипонятна.У Rust порог вхождения выше, чем у Си.
> Тут вопрос не в расте, растаманы это такакая прокладка между сишниками и питонистами или вообще жоэсерами, которые думают, что они ближе к сишникам, но по факту все как один из лагеря деградации компетенций, интеллекта и профессионализма.
Что есть "прокладка"? Повторюсь, Rust -- язык, требующий бОльших интеллектуальных усилий, чем Си. Но по результату этих усилий получается код, где возможна проверка корректности работы с памятью. Так же Rust позволяет спуститься до интеллектуального уровня Си и С++ с помощью unsafe.
А ещё, я недавно узнал что сертификация ПО для авиации происходит в разы проще если это написано на Rust.
ссылка есть?
Если сертификация ПО для авиации происходит в разы проще, независимо от того, на чём оно написано, то страшно за авиацию.
А что происходит в наземной инфраструктуре - лучше вообще не думать. Так даже десантник с 200+ прыжков навсегда откажется от любых полётов.
200 прыжков-это вообше ни о чем. Допуск на скоростные крылья дают только после 500 прыжков.
Признаю, далеко не эксперт.
Это сертификация, которая пропускает вот такое? https://www.securitylab.ru/news/500172.php
Хорошая реклама гражданской авиации, а то при ковиде совсем приуныли.
пилят потихоньку
https://github.com/Rust-GCC/gccrs
> Как там продвигается инициатива портировать раст на гцц?Можно почитать здесь: https://thephilbert.io/
Или вот здесь (https://thephilbert.io/2021/12/20/gcc-rust-in-2021/) есть табличка, из которой следует, что осталось разобраться с макросами и cfg (условная компиляция), импортами и областями видимости, const generics и intrinsics. Обещают к концу 2022 сделать это.
Ну вот и все...(
Граждане решили похоронить проект с помощью банальнейшего технического долга.
Запасаемся попкорном и хорошим настроением - ближайший год принесет нам массу поводов для смеха.
Скорее всего кто-то в командовании ВМФ США начитался растовых buzzword'ов, и, будучи в статусе полузнайки, впечатлился.Не дадут ему умереть вливания из штатовского госбюджета. Это у нас пилят все, а на оставшуюся тысячу практиканты делают НЕЧТО; там оставят хотя бы тысяч десять баксов и посадят накрученного дрилл-сержантом контрактника. Разница, разница вот она.
Зачем модернизировать архитектуру, если просто можно переписать на омноязык?
Чтобы баги и бэкдоры было невозможно найти.Код на сях каждый дурак может посмотреть и понять, а десятого уровня вложенности зависимость зависимости от зависимости автомагически притащенная аккуратно запакованной в гуанокрейт никто и смотреть не будет.
Не говоря уже о совершенно нечитаемом синтаксисе самого нескучного йезычка.
Зато смотрите, смотрите - безопасТно! ("если не использовать unsafe", право, жаль что если его не использовать то код не работает, поскольку ничего делать не может)
https://www.kommersant.ru/doc/5170726?from=top_main_10??
Теперь будет проще. Интересен механизм деанона хотя предполагаю, что ребята просто оуели от безнаказанности, либо плотно сотрудничали с российскими спетцлужбами, а теперь просто выброшены как использованое изделие.
> Интересен механизм деаноначего может быть интересного в "Генерал, спросите у товарищполковника, не аху ели ли лейтехи у товарищмайора, что аж сам Бидон на них жалуется?! Пусть разберется и накажет кого попало, и мою долю не забудьте в банк Ватикана перевести, чтоб не закрысили!"
Напоминаю, что всякие крипторы и шиткойны это конечно прекрасно, но за тачку, квартиру и багамы платят вовсе не анонимно. А значит надо как-то получить деньги на руки. И вот тут появляется соответствующая этим рукам жопа, за которую нежно берут прямо у кассы.
Чтобы не взяли - есть только один вариант - быстро бег...ой, нет, не вариант от слова совсем. Сотрудничать с организованным криминалом. А организованного криминала не крышуемого ФСБ в РФ не осталось с ранних 2000х.
Ну и разумеется, рано или поздно их сдают. Но когда это организованный криминал боялся зоны?
>[оверквотинг удален]
> в банк Ватикана перевести, чтоб не закрысили!"
> Напоминаю, что всякие крипторы и шиткойны это конечно прекрасно, но за тачку,
> квартиру и багамы платят вовсе не анонимно. А значит надо как-то
> получить деньги на руки. И вот тут появляется соответствующая этим рукам
> жопа, за которую нежно берут прямо у кассы.
> Чтобы не взяли - есть только один вариант - быстро бег...ой, нет,
> не вариант от слова совсем. Сотрудничать с организованным криминалом. А организованного
> криминала не крышуемого ФСБ в РФ не осталось с ранних 2000х.
> Ну и разумеется, рано или поздно их сдают. Но когда это организованный
> криминал боялся зоны?Деанон с помощью социальной инженерии. Я тоже так считаю.
Горе-какеры считали, что им все можно. Заказчик просто нехороший им попался. И смотри, какие отрасли пострадали: банкинг и промышленность.
ЗЫ: ребята, по возможности не сотрудничайте с трехбуквенными, а то так же с вами будет.
>>>всякие крипторы и шиткойны это конечно прекрасно, но за тачку, квартиру и багамы платят вовсе не анонимно. А значит надо как-то получить деньги на руки. И вот тут появляется соответствующая этим рукам жопа, за которую нежно берут прямо у кассы.да хоспади, кому нужны эти крипторы-шкрипторы.
один масквич днями нашелся - тихонечко тырил у всякой там теслы и прочих богатых буратино финотчетность, по результатам которой играл на бирже. и друзьям подсказывал. все было бы прекрасно, если бы в прошлом году не поехал отдыхать вместо крыма - в швейцарию. ну он же не хрен собачий а первый заместитель гендиректора чего-то там, может себе позволить? и пропал там в швейцарии бесследно. а теперь нашелся, почему-то в сша.
https://www.justice.gov/usao-ma/pr/russian-national-extradit...
> да хоспади, кому нужны эти крипторы-шкрипторы.то есть как кому? ДОЛЮ БУГРА НАШЕГО ЗАКРЫСИЛИ!
Там, если ты не в курсах, лавэ весьма нехило поднималось (с учетом количества и качества исполнителей)
Причем музыка обещала быть вечной: http://ibash.org.ru/quote.php?id=18759> один масквич днями нашелся - тихонечко тырил у всякой там теслы и прочих богатых буратино
> финотчетность, по результатам которой играл на бирже.эммм... любой человек, хотя бы близко пробегавший мимо курсов форекс, легко тебе объяснит, почему это был довольно тухлый бузинесс.
Плюс еще и... вот у меня практически полный доступ к корпоративным сетям. Ну то есть где не хватит - могу сам себе разрешить, и вряд ли обратят внимание (о паре капканов я в курсе, тем более сам помогал расставлять). И? ИИИИИ? Да я вообще не иппу где искать ту "неопубликованную финансовую отчетность" и как она выглядит! (Я верю что есть те кто знает как выглядит, но они точно не в моем отделе. И, соответственно - не смогут получить туда доступ, даже если я подсказывать буду - просто понимания не хватит.) Не говоря уже о том что примерно догадываюсь, что нигде - она вообще у гендира в бумажном виде в сейфе лежит. Ну и у аудиторов, наверное, есть в цифровом виде. Только там ее хрен возьмешь.
Так что п-дит американская фемида. А вот что один из них был фсбшник и участвовал в выборах 2016 - это не п-дит наверное.
>> один масквич днями нашелся - тихонечко тырил у всякой там теслы и прочих богатых буратино
>> финотчетность, по результатам которой играл на бирже.
> эммм... любой человек, хотя бы близко пробегавший мимо курсов форекс, легко тебе
> объяснит, почему это был довольно тухлый бузинесс.настолько тухлый, что им даже вице-презусы ибэмэ не брезговали. тоже присел, ненадолго, правда.
> Плюс еще и... вот у меня практически полный доступ к корпоративным сетям.
> Ну то есть где не хватит - могу сам себе разрешить,
> и вряд ли обратят внимание (о паре капканов я в курсе,
> тем более сам помогал расставлять). И? ИИИИИ? Да я вообще не
> иппу где искать ту "неопубликованную финансовую отчетность" и как она выглядит!
> (Я верю что есть те кто знает как выглядит, но ониггг как маленький ей богу. идешь на сервер корпоративной пчто, открываешь файл финдиректор.nsf и фильтруешь по вложениям .xlsx что-нить интересное да найдешь.
где-нибудь между котиками, которых переслали его секретарше и письмом от безпеки со строгим напоминанием не пересылать конфиденциальную информацию в виде почтовых вложений.
лил>>>было изъято свыше 426 миллионов рублей, в том числе в криптовалюте
в том числе крипторублей. и на столе пачками разложили небось под камеру.
> в том числе крипторублей. и на столе пачками разложили небось под камеру.зачем, они этот стол просто один раз отсняли еще в 98м.
Шизоид. Кричи громче, так твои "аргументы" станут весомей.
Шизоид. Кричи громче, так твои "аргументы" станут весомей.
> Шизоид. Кричи громче, так твои "аргументы" станут весомей.Зачем ты два раза крикнул?
Видимо, чтобы “аргументы стали более весомыми”...
Нпверное потому-что до тебя тормоза с первого раза не доходит 🤣
Да, да, тысячи глаз смотрят в си код и не видят очередное рукожопство с вычислением указателя.
Си настолько простой что даже авторы кода годами не видят проблем в своем же коде.
> Да, да, тысячи глаз смотрят в си код и не видят очередное
> рукожопство с вычислением указателя.
> Си настолько простой что даже авторы кода годами не видят проблем в
> своем же коде.Он почти настолько простой, на сколько было возможно. Железки, знаешь ли, с годами проще не становятся.
>модернизировать архитектуру, если просто можно переписать на омноязыкомно у тебя в голове, видимо поэтому ты неосилил второй абзац новости.
> омноязыккоторый у тебя во рту что ли?
У меня одного так:This site can’t be reached.
ERR_CONNECTION_RESET
Иваня, каким местом читаете здешние новости?
Айпишники перебанили. Проси мост или поднимай впс с ним за рубежом. Трафик не забуть завернуть во что-то легальное.
МТС полностью банит. Опсосы как всегда вперде планеты всей.
А кто не хочет добровольно в колхоз - у того лицензию на корову отнимут.
> А кто не хочет добровольно в колхоз - у того лицензию на
> корову отнимут.Если это колхоз, то я торговец черным деревом.
>желание добиться более высокого уровня защищённости кода за счёт использования языка,Ада для чего делалась?
Э? Грешников пытать, разьве нет?!
Это устаревшая технология пыток. Раст изощреннее. Тут главное чтобы палач сам апстену не убился.
Ада? Не стильно, не модно, нет такой рекламы и фанатиков.
Адеры делом занимаются, софт пишут и бабло с него получают. Им некогда бегать по всем IT'шным и околоайтишным ресурсам и рассказывать каждому встречному, поперечному и Поперечному про то, как borrow checker бороздит просторы Большого театра, спасая программиста от памяти. У адеров есть работа.
Вот кстати ситуация с Rust НУ ОЧЕНЬ напоминает ситуацию с Ada, причём над Ada стебались на тот момент абсолютно все титаны индустрии, начиная с Дейкстры, заканчивая Виртом. И самое любопытное, что цитаты по факту подходят в отношении Rust.
Дейкстра: Если Ada собирается выдать стандарт, желательно, чтобы он был недвусмысленно документирован. По меньшей мере две группы попытались сделать это; в результате обе выдали около 600 страниц формального текста. Это гораздо больше, чем необходимо, чтобы удостовериться в невозможности хотя бы твердо установить, что оба документа определяют один и тот же язык. Ошибка очевидной неуправляемости этих двух документов кроется не в двух группах, составивших их, не в принятом ими формализме, а лишь в самом языке: сами не обеспечив формального определения, могут ли его разработчики скрыть, что они предлагают неуправляемого монстра. То, что Ada уменьшит проблемы программирования и увеличит надёжность наших разработок до приемлемых границ, — это лишь одна из тех сказок, в которые могут поверить только люди с военным образованием.
Вирт: Слишком много всего вываливается на программиста. Я не думаю, что, изучив треть Ады, можно нормально работать. Если вы не освоите всех деталей языка, то в дальнейшем можете споткнуться на них, и это приведёт к неприятным последствиям.
Тоже самое отчасти касается и современного C++, НО в C++ можно практически безболезненно гайдлайнами очертить необходимый инструментарий и не лезть за его пределы (так по сути все и поступают, включая Google).
А ты пробовал на ней писать? Попробуй, а потом оцени удобство использования. Такой же многословный и неуклюжий, как Pascal, со всеми его недостатками, а читабельность кода при этом не сильно лучше C++, хотя и выглядит не так заковыристо. Так-то, при наличии бесконечного количества человеко-часов, можно на чём угодно код писать, хоть на Haskell.
пока те куски кода, что я читал на расте, не именно читемостью и лаконичностью не впечатлили.
Надежда только на то что ниасилят. Проект всё-таки сложный, это вам не гномдилдо40000 пилить.
Ну вот тут хрен знает. С одной стороны полноценные ресурсы Лаборатории ВМФ США, с другой - разработчики относительно скоро демобилизовываться будут, а гражданскими спецами придут работать обратно не все.Дума, что напишут, но потом опять уйдут в штопор с поддержкой содеяного с переездом на что-нибудь такое же хайпованное.
>> разработчики относительно скоро демобилизовываться будупитонисты всегда в укурке... откуда про исследовательские части US Army байки берешь?
Ну вот теперь поглядим, будут ли тут cve'шки связанные с работой с памятью и насколько хорош этот хвалёный раст ;)
Лично раст обожаю, но справедливости ради в Тор нет CVE по работе с памятью.
*Которые бы приводили к RCE. DoS есть
> DoS естьВ rust для этого есть паника!
Всмысле розовые пони будут бегать в панике когда их досят ?
> розовыеТы что, расист?
Прочитал как "растист"
> Ты что, расист?И что?
У меня чисто советская реакция на подобные новости - когда суют во все утюги что-то одно, то надо отойти в сторону, чтобы не забрызгало. Когда стадо либо его имитация идут в одну сторону, моя сторона другая.ИЧСХ - никакой другой ЯП, насколько могу видеть, не славится тем, что в каждую дырку его пытаются сунуть и, что самое главное, подать это как что-то максимально и непременно нужное, годное. Мб, только тут все так, а везде - иначе?
Годность делается не так, а трудами. И если труды по rust-овской теме перевесят все эти судачества, то мои сомнения пройдут.
> У меня чисто советская реакция на подобные новости - когда суют во
> все утюги что-то одно, то надо отойти в сторону, чтобы не
> забрызгало. Когда стадо либо его имитация идут в одну сторону, моя
> сторона другая.
> ИЧСХ - никакой другой ЯП, насколько могу видеть, не славится тем, что
> в каждую дырку его пытаются сунуть и, что самое главное, подать
> это как что-то максимально и непременно нужное, годное. Мб, только тут
> все так, а везде - иначе?
> Годность делается не так, а трудами. И если труды по rust-овской теме
> перевесят все эти судачества, то мои сомнения пройдут.Манагерам напИсали в уши, что недоязык поможет сэкономить на рабах. Они поверили. Ошибочно думать, что кучка барыг сообразительнее среднестатистического человека.
> ИЧСХ - никакой другой ЯП, насколько могу видеть, не славится тем, что в каждую дырку его пытаются сунуть и, что самое главное, подать это как что-то максимально и непременно нужное, годное.Java - пиши один раз, запускай везде
JavaScript - сначала формочки валидировали, теперь половина десктопа с бекендами на нём
С# - из "нашего ответа на жабу" для десктопов теперь дотнеткор из каждого утюга лезет
Go - лютое стрёмное убожество, которое стараниями гугла вызывает струи кипятка у всех хипстеровУ Rust из этой компашки хотя бы какие-то полезные примочки есть.
А чего ещё ждать от 50 лет деда лысого cnile..
Воин света, борец со смузи, борец с растом, жс, системд.
Забавно.
Разрабы Tor приняли такое решение. Потому что они понимают что тянуть старую архитектуру будет со временем сложнее и сложнее. И фиксить CVE по памяти тоже так себе удовольствие
https://gitlab.torproject.org/legacy/trac/-/issues/15083
https://gitlab.torproject.org/tpo/core/tor/-/issues/33119
https://gitlab.torproject.org/tpo/core/tor/-/issues/40392Но тут такие аноны и такие "Вот тупые! Нафиг вам этот раст!!111".
Куда же разрабам Tor до божественных кодеров опенька, которые пишут на 100 языках и у которых ничего не падает))
У тебя нет никаких аргументов что новая архитектура будет проще или что в ней не будет CVE по памяти.
У меня нет. А у разрабов тора - есть.
Как минимум модульность сделает код проще. Но конечно Аноним (56) знает лучше разрабов тора))
>модульность сделает код проще.Это когда модульность делала код проще?
Не знаю что за странные люди вас минусуют, но вы абсолютно правы это называется абстрагирование https://ru.wikipedia.org/wiki/Абстракция и https://ru.wikipedia.org/wiki/Обобщение_понятий Именно так наш мозг справляется со сложностью этого мира. Иначе бы он лопнул.Люди мыслят о чем-либо сложном, приходят к выводу. Это становится для них аксиомой которую они затем всюду применяют чтобы заново не разбирать все на составляющие. Также и с модулями.
Ты хочешь сказать, что разрабы, не осилившие банальнейшие процессы CI, смогут избавиться от проблем переписыванием на раст?> и у которых ничего не падает
У меня не падает. Последний раз, когда мой говнокод крашился в продакшене был лет 10 назад.
Это все банально потому, что я знаю волшебное, недоступное мартышкам слово "умные указатели" и широко использую их.
Умные указатели тоже далеко не панацея, имеют ограничения на использование, имеют прикольные сайд эффекты. В взрослых проектах на плюсах пилят свою систему управления памятью, которая также обеспечивает явный или неявный возврат объектов в пул.
Т.е. SOCKS-прокси в конечном итоге выпилят?
Видимо исходники Tor превратились в такой окаменевший говнокод, что только переписывание с нуля исправит ситуациюШтош, тут rust их не спасет, ибо продуманной ООП архитектуры, любой более менее сложный проект превращается в хаотичную мешанину функций и данных с тысячами неявных зависимостей между собой
А так, любопытно понаблюдать что выйдет и куда их это заведет
Штатовские военные денег дадут, солдатиков в кодеры подкинут...
Другое дело, если появится какой-нибудь EDROLANG++, который может не только по хипстерски тянуть зависимости и мочь отследить все пары alloc-dealloc, но и, скажем, автоматом делать безопасное IO (в рамках трёх с половиной дубово-кондовых шаблонов, вшитых в компилятор, но кому это важно?), то как скоро они бросят хруст и перебегут на него?
>Другое дело, если появится какой-нибудьХаскель жи.
>Штатовские военные денег дадут, солдатиков в кодеры подкинут...Переписывали бы на Ada уж тогда.
Очередной проект который вместо изменения архитектуры ПО, меняет язык, веря в его чудодейственные качества(((
зачем её менять?
Может для того чтобы сделать ПО поддерживаемым, тестируемым и расширяемым без постоянного переписывания всего ПО?
> Может для того чтобы сделать ПО поддерживаемым, тестируемым и расширяемым без постоянного
> переписывания всего ПО?шота я не понял, как это без переписывания? А за что тогда веслателям платить зарплаты? Неее, это ты фигню какую-то придумал.
Это ж так и самого капитана галеры могут сократить.
Много ли примеров проектов, где первоначальная архитектура сразу оказалась оптимальной и не потребовала переделки? Такое возможно только если весь возможный функционал известен наперёд и он достаточно ограничен по возможностям. Хороший пример - компиляторы. А вот в случае более архитектурно сложных проектов это уже, скорее, сказка, чем быль.
Менять архитектуру - в 99% случаев == переписывать. А если всё равно переписывать, почему бы не на том, что упрощает работу?
По мнению опеннетчиков, переписывать вообще ничего нельзя, потому что сразу нужно писать нормально (желательно, чтобы ещё было Unix way, что бы это ни значило в рамках конкретного проекта). Естественно, только эти избранные знают, как это делать, а 99.9% разработчиков вынуждены фармить опыт на граблях в течение десятилетий. А если и переписывать, то на божественном C, ибо это самый лучший язык в эвереттовской мультивселенной, а всё остальное - нечитабельное гуано для смузихлёбов и т.д. Linux написан на C - значит, и всё остальное нужно писать на нём.
Скорее всего так: старые разработчики (из 90х, выросших на jetx'е) демобилизовались, а новые, только заключившие контракт (из 00х, выросших на myspace и aol) не понимают за ними ничего.
выросло поколение, у которого в ошибках в коде виноваты языки.
поэтому появляются языки (такие как раст и го), ограничивающие людей так, чтобы вероятность возникновения ошибок снизилась.
newspeak'и в сфере программирования, хотя и с полезными плюшками.будем посмотреть, что получится.
за тор беспокоиться не стоит: это серьёзный элемент влияния, ему не дадут загнуться.
Сишная процедурная парадигма это ассемблер с нескучным синтаксисом, впрочем как и недоООП раста
Но ведь сишку как бы и делали в качестве (переносимого) ассемблера с нескучным синтаксисом, нет?..
Да, и она прекрасно работала и работает на малых проектах.
Но как только сложность возрастает до определенного уровня - начинаются проблемы, потому что чем больше строк кода, тем больше шансов налажать напр. в адресации. И програмеры таки да лажают. Причем на очень важных проектах типа ядра линукса.
> Сишная процедурная парадигма это ассемблер с нескучным синтаксисомСразу видно человека ни разу не программирующего на ассемблере.
В чем отличие? Кроме синтаксиса? Управляющие конструкции(условия, циклы) и функции(подпрограммы) есть и в ассемблере, ну и макросы как часть компилятора асма
> В чем отличие?В логике понимания работы железа на самом низком уровне + умение думать алгоритмами, а не всякой хренью типа классов, функций и прочего. Раньше, в моё время, мы экономили каждый такт и каждый байт информации, умещаясь, порою, в бинарники парой сотен байт, на которых работали отечественные космические аппараты.
Нынешнее поколение шину адреса от шины данных никогда не отличит, а про стек вообще слышали только в мемчиках. Зато могЮт модные пЭхЭпЭ фреймворки.
Что такое шина? Автомобильную знаю.
Это широкая штука с проволокой по которой данные туда-сюда ползают.
> Это широкая штука с проволокойСогласен. USB, SATA, PCI Express - слишком широкие!
IDE был широкий и LPT. А USB с SATA это новодел бесовской.
Да, вообще одни бесовские pci express, i2c, spi, can...Да, еще ethernet!
Ну так советские школьники сами компьютеры с нуля собирали, поэтому успешно вникали, а сейчас уже такого нет, так как после уничтожения СССР отрасль по созданию компьютерного железа исчезла. Сейчас школьникам дают всё готовое, импортное, переусложнённое, да ещё и без нормальной документации на русском. Ваши поколения уничтожили отрасль, а теперь обвиняете в последствиях своих детей.
Впадает в маразм поколение, которое даже не знает как лошадь подковать.
> выросло поколение, у которого в ошибках в коде виноваты языки.
> поэтому появляются языки (такие как раст и го), ограничивающие людей так,Выросло поколение, косящее под "выросшее поколение", но прокалывающееся на мелочах:
http://landoflisp.com/comic_20x_9.png
http://landoflisp.com/Впрочем да, "Мудрость не всегда приходит с возрастом, иногда возраст приходит один."(с)
> http://landoflisp.com/оказывается это не языки виноваты в возникновении ошибок, а это ошибки прилетели из космоса, захватили планету и организовали мировой дипстейт!
как я раньше не догадался...
>Изменение позволило менять настройки из Rust на лету во время работы клиента Tor.Как это реализовано? Запущен бесконечный цикл, который дёргает диск, проверяя, изменился ли файл конфига?
ну есть специальные системные апи для подобных штук (+ на .Net такое давно есть).
Главный вопрос: А НАФИГА МЕНЯТЬ НА ЛЕТУ???? ЭТО ТОЧНО НУЖНО???? (ведь потом после таких реконфигураций пойдут регрессии в самом главном - в БЕЗОПАСНОСТИ. 100% пойдут)
Не разбираюсь, но может сообщение от ОС есть. Типа файл изменился, перечитай.
> Типа файл изменился, перечитай.А ты уверен, что все изменения - консистентные, и что их можно совокупно использовать?
>> Типа файл изменился, перечитай.
> А ты уверен, что все изменения - консистентные, и что их можно совокупно использовать?А ты уверен, что API проектировали глупые люди?
https://man7.org/linux/man-pages/man7/inotify.7.html
> IN_MODIFY
> IN_CLOSE_WRITE
Ты зачем дураком прикидываешься? Я тебе даже подсказку дам: вот набираешь ты текст, пишешь "мама мыла ра...", тут редактор делает автосэйв, срабатывает твой inotify, что ты увидишь?
>> Изменение позволило менять настройки из Rust на лету во время работы клиента Tor.
> Ты зачем дураком прикидываешься? Я тебе даже подсказку дам: вот набираешь ты
> текст, пишешь "мама мыла ра...", тут редактор делает автосэйв, срабатывает твой
> inotify, что ты увидишь?Ты ламером прикидываешься, записывая в конфиг Tor "мама мыла ра..." в редакторе с автосэйв?
Так редактирование _текстового_ конфига подразумевает знание азов, если что.
Да и для особо одаренных обычно еще и упоминают, что-то типа:
-e Edit the current crontab using the editor specified by the VISUAL
or EDITOR environment variables. The specified editor must edit
the file in place; any editor that unlinks the file and recreates
it cannot be used. After you exit from the editor, the modified
crontab will be installed automatically.Или ты просто не умеешь читать?
inotify на Linux, kevent на BSD/macOS
Всем unwrap, господа:https://gitlab.torproject.org/search?search=unwrap&group_id=...
> torproject.orgГоворят, tor заблокировали
> This file uses `unwrap()` a fair deal, but this is fine in test/bench code
> because it's OK if tests and benchmarks simply crash if things go wrong.Всё что нужно знать об экспертах опеннета.
Еще есть такое> // NOTE: it seems that `unwrap` may be safe because of builder defaults
Хочешь, чтобы я еще поискал expect, panic! и другие паникующие функции?
> 0.0.3Не, ну, такой мажор - срочно в новость!
>Rust также даст возможность добиться более высокой скорости разработки, чем при использовании Си, за счёт выразительности языкаЭто такой троллинг Раста в новости.
"более высокой скорости" - не знал что у скорости есть ВЫСОТА!!! ))))
может по русски правильней - "большей скорости"???
Более быстрой скорости же.
А вообще очень удивляет такой подход к словам, например такое восприятие "высокой скорости".
Высокая цена.
Высокое разрешение.
Высокое потребление памяти.Добро пожаловать в русский язык.
высокая легковесность
> "более высокой скорости" - не знал что у скорости есть ВЫСОТА!!! ))))
> может по русски правильней - "большей скорости"???Большескоростной поезд/интернет? o_O
Сейчас читаю книгу (beginning rust from novice to professional 2021), - покак не дочитал до конца, но уже сложилось впречатление, что Rust это очень качественный инструмент, - особенно нравится, то как компилятор сообщает о тех или иных ситуациях: прочитал, сделал так как сказал компилятор и всё работает + можно тут же получить дополнительную информацию; после Си и С++, - это выглядит конечно мега круто!!!Так вот я не понимаю откуда такой хейт в сторону Rust?:) хотя понимаю, тут так же как с Си и C++ -> хейтят только те кто так и не смогли осилить??:)
"хейтят только те кто так и не смогли осилить" - ты же сам себе противоречишь что "...сделал так как сказал компилятор и всё работает".
был тут комментатор который вероятно прав - вроде как раст нужен корпорация что бы стало много-много инженеров которые смогли таки "вкатиться" (на C\C++ это однозначно сложнее).
Я например могу следовать советам компилятора, и понимаю что нужно сделать, но у меня складывается что походу остальные не в состоянии этого сделать??? хм... иначе я просто ну не понимаю откуда столько хейта?
Тут всё банально - у раста конченная экосистема, которую могут принять только виндузатники, которые привыкли к своему dotnet-фистингу. У любого нормально человека, сразу возникает вопрос: а зачем ему тащить к себе на комп ещё одну имплементацию либ, да ещё и по несколько версий под каждую программу.
чем вас .net так обидел?:) Вполне себе нормальная вещь. Как по мне намного приятнее чем всякие там C++ или Java.
> У любого нормально человека, сразу возникает вопрос: а зачем ему тащить к себе на комп ещё одну имплементацию либ, да ещё и по несколько версий под каждую программу.А почему это вопрос не возникает при установке, например, libstdc++? Тут Rust ничем ну хуже других языков, к которым, почему-то, этих претензий нет.
Потому что libstdc++ не тянется из cargo и прочих npm, очевидно же.
> которую могут принять только виндузатники,
> У любого нормально человека, сразу возникает вопрос: а зачем ему тащить к себе на комп ещё одну имплементацию либ, да ещё и по несколько версий под каждую программу.
> Потому что libstdc++ не тянется из cargo и прочих npm, очевидно же.https://packages.debian.org/sid/ripgrep
https://packages.debian.org/sid/libstd-rust-1.56
Маковод почти совсем не палится.
Так и в Rust никто не заставляет использовать cargo. Можно использовать apt, или вообще вручную пакетики тягать. cargo -- это лишь дополнительный инструмент, который позволяет избежать всё той же самой ручнорй работы. cargo ничего не меняет в вопросе зависимостей, а лишь предлагает автоматически скачать то, что требуется написанному коду. Но утилита абсолютно опциональная. Иными словами cargo не имеет отношения к вашей изначальной претензии.Посему повторюсь: так а в чём принципиальная разница в не любимых вам зависимостях с, например, C++?
> Так вот я не понимаю откуда такой хейт в сторону Rust?:)Из-за агрессивного сообщества, которое спамит про новый самый лучший удлинитель члена^W^W серебряную пулю на каждом углу.
Большинство же просто троллит мартышек, которые не могут в нормальные языки, но начитавшись рекламы про "на нашем супер-пупер простом языке вы не сделаете никаких ошибок" начинают всем рассказывать, как они щас воооооот возьмут, да все напишут.
Необязательно пробовать дерьмо, чтобы сказать, что оно невкусное.
А тебе бы накидывать потоньше, а то придется объяснять за unsafe
>а то придется объяснять за unsafeОн тебе два слова скажет - "локализация ошибки" и ты утрешься.
> unsafe
> локализация ошибкиТипичная логика растиста - повторение "истин".
>> unsafe
>> локализация ошибки
> Типичная логика растиста - повторение "истин".Типичный подход невежественных антираститов - повторение нафантазированных глупостей.
> А тебе бы накидывать потоньшеТвоя неспособность пройти мимо и не отреагировать как бы говорит нам, что тоньше нет нужды, и так сожрёшь.
Они не могут принять. Но веских аргументов против него нет, только злоба.По этому в ход идет что угодно - заднеприводное коммьюнити, неправильная запятая в лицензии, деньги злых корпораций. Только не сам язык.
> Сейчас читаю книгу (beginning rust from novice to professional 2021), - покак не дочитал до концаВот как дочитаешь, так и приходи со своим экспертным мнением.
Раст достал ровно потому же, почему люди не любят спам и магазины на диване.
"более высокой скорости" - не знал что у скорости есть ВЫСОТА!!! ))))
может по русски правильней - "большей скорости"???
Да, точно. И вместо "высокоскоростная магистраль" надо говорить "большоскоростная магистраль". Хотя не, как-то не так. Может "огромноскоростная"?
Прижившая уродская калька с уродливого маркетингового high-speed, да.
Просто "скоростная магистраль"
И как всегда Opennet отчаянно против любых перемен и нововведений, до последнего цепляется за старый православный С и умирающий X11.
Виндузятнику лучше знать, на каком языке написана его ОС и графическая подсистема (не на революционной rust)
> Виндузятнику лучше знать, на каком языке написана его ОС и графическая подсистема
> (не на революционной rust)смотри, сглазишь.
Или ты думаешь, нассать ms'овским кумарам в уши про безопасТность (если не использовать, не использовать, нинини, только на полшишечки! unsafe) не получится? Еще как!
так что ждем-с.
Где аналог xdotool под вяленд? Ещё под вяленд нет ни одного годного GUI тулкита. И нет ни одного приличного нетайловго оконного менеджера (нужен аналог fluxbox или icewm).
> где xdotool
> ни одного годного GUI тулкита
> ни одного приличного нетайловго оконного менеджераУже ответили:
>> отчаянно против любых перемен и нововведений
Скоро законодательно будут таких бледнолицых, ой, то есть, незаблокированно-кожих ущемлять, ой, то есть, ставить на путь истинный.
Да, да, за умирающий уже лет 30 Х11, и против Wayland'а, который уже лет 12 пытается его заменить.Потрясающая скорость развития "самой динамичной отрасли". :-) Блин, современная АЭС строится 8 лет.
Это по плану она должна была строиться 8 лет, а по факту - то реактор уронят, то бетон треснет...
последний раз роняли Уеба.
> то бетон треснеттрещины в бетоне японцы ловко заклеивали бумагой.
Лично я пользуюсь тем, что к Xorg можно подключаться по сети. Если бы Wayland был клиента сервер нефа, то давно на него переехал бы. Но увы.
>обеспечивающего безопасную работу с памятью.Опять ошибка в слове "безопастный".
Ты тоже ошибся. Хруст же "бишапашный"!
Хочу задать довольно деликатный вопрос: переписывание на rust действительно помогает или воз и ныне там? Есть "успешный опыт" с которым можно ознакомиться?
Как по мне переписывать что-то с языка X на язык Y весьма сомнительное занятие и в большинстве случаев это просто трата сил, времени и денег. Как по мне, люди которые хотят переписать всё и вся на Rust это просто больные на голову сектанты у которых дальше разговоров дело никогда не продвинется, потому что они впринципе не представляют о каких трудозатратах идет речь!
но похоже в данном случае разработчики прекрасно понимают во что они ввязываются!
Я тоже прекрасно знал, когда каждый месяц менял дистр, потому что обои становились скучными!
не похоже
Если есть халявное финансирование из бюджета ВМФ США - то почему бы и не переписать? Отцы-командиры подкинут солдатиков, дрилл-сержанты их будут правильно мотивировать (как в "Цельнометалличской оболочке"). Напишут, отцам-командирам повесят еще по одной жестяной медальке, дрилл-сержантам дадут еще одну орденскую плашечку, солдатики будут и так рады, а финансирование... а вот финансирование в чей карман уйдет...нет, не ЕдРо и лично ПУ...но это вопрос. Хороший такой вопрос.Ты действительно думаешь, что деньги пилят только у нас?
А разве Tor пилится не сообществом последние годы?
Тсс, не мешай. Там всё как злесь, а значит хуже.
Например, я пользуюсь alacritty, вместо xterm.
В скором будущем собираюсь попробовать oreboot, вместо coreboot.
> alacrittyhttps://github.com/alacritty/alacritty/issues/4806
Не читал, но осуждаю
Когда я делал по ошибкеислишком большой буфер в xterm, там у меня память тоже "leaked". А вообще проблемы описанной в тикете у меня нет. Вероятно там человек тоже указал слишком большой буфер.
Ах, да, забыл коронную.https://github.com/alacritty/alacritty/search?q=unwrap&type=...
> Ах, да, забыл коронную.Посадку в лужу?
> tests/ref.rs
> tests/config.rs...
> .unwrap_or(first_match);
> .unwrap_or(0)
Типичный растист - избирательно цитирование.
> Вы не понимаити! Это не лужа! Это грязевая ванна!Как скажешь.
>> Вы не понимаити! Это не лужа! Это грязевая ванна!Это твои слова, не приписывай мне. Тебе лучше знать где ты сидишь.
Вот еще тебе для избирательного цитирования
https://github.com/alacritty/alacritty/search?q=expect&type=...
>>> Вы не понимаити! Это не лужа! Это грязевая ванна!
> Это твои слова, не приписывай мне. Тебе лучше знать где ты сидишь.Главное, вопи погромче.
> Вот еще тебе для избирательного цитирования
> https://github.com/alacritty/alacritty/search?q=expect&type=...
> let serialized_grid = json::to_string(&grid).expect("serialize grid");
> self.windowed_context.swap_buffers().expect("swap buffers");Зачем ты опять пyкнул в лужу?
Просвящайся:
https://man7.org/linux/man-pages/man3/assert.3.html
https://man7.org/linux/man-pages/man3/abort.3.html
> https://man7.org/linux/man-pages/man3/abort.3.htmlНу так Си не обещает безопасность.
Возвращаю вопрос обратно
> Зачем ты опять пyкнул в лужу?
>> https://man7.org/linux/man-pages/man3/abort.3.html
>> abort - cause abnormal process termination
> Ну так Си не обещает безопасность.Казалось бы, причем тут безопасность? Или совсем ни бум-бум в разработке?
Впрочем, "достойный" уровень очередного Опеннетного АнтиРастаВоена …
А чем expect плох?
Так, и что дальше? У меня alacritty ни разу не падал. Работает лучше (по производительности и удобству), чем xterm/aterm/eterm/другие. Почему меня должны смущать эти unwrap-ы?"Коронную"...
> Почему меня должны смущать эти unwrap-ы?Потому что они лишают пограммиста и пользователя (т.е. тебя!) важнейшей сободы просто забить на обработку ошибок и продолжить работу в режиме UB!
Очевидно же!
Насколько возрастает КПД программы, если его переписать на Rust?
На плюс-минус ноль процентов.
Смотрим, что стало с FF...
КПД или ЧСВ?
В качестве причин переписывания Tor на Rust называется желание добиться более высокого уровня защищённости кода!!!!!!!!!!!!!!!1
> добиться более высокого уровня защищённости кода!Для этого код прячут под NDA или под государственным "совершенно секретно" с соответствующей ответственностью.
А тут отказ от любой ответственности (apache, mit), в том числе если программа отформатирует диск, а перед этим перешлет данные в ВМС США.
Как странно это выглядит - многие уже признали эффективность Раст в некоторых (узких) областях. Гугл, МС, теперь и Тор-прожект.Но Опеннет всем скопом орет так, будто от принятия Раста в эти области зависит его жизнь. Прям не Опеннет а филиал PVS-Studio
Зачем или почему я продолжаю заходить на опеннет читать комментарии умалишённых???
О боже, зачем ты это делаешь!?
Просто он проникся более низкой культурой opennet, это как язык программирования, кому-то нравится высокоуровневый а кому-то низкоуровневый))))
Опеннет развлекательный!
Все просто. У тебя написано в нике.
Добро пожаловать. Снова.
Пофигу, бранч 4.4.х уже умер, а 3.5.х сложит ласты быстрее, чем сам тор покроется ржавчиной.
Rust - это только эволюция но и революция!!1!
Образование растаманов как-то пугает...
Зачем образование там, где всё безопасно?
Rust - сила!
Все на баррикады!
Это как раз тот самый редкий случай, когда переписывание на Rust даёт больше пользы, чем вреда.
> больше пользы, чем вредаДля кого?
Главное не забыть выкачать пол-Cargo зависимстей с бэкдорами от нужных ребят. В самом Τοr бэкдора нет, разработчики неуиноуаты!
Зачем? Просто для разных стран будут разные модификации одной и той же версии пакета. В каких-то модификациях - рефренсных и демонстративных - демонстративно бэкдоров не будет. В каких-то модификациях - тех, которые собираются для слишком самостоятельных стран с потому и плохой демократией - будет тебе зоопарк.
Stop crying, just use Sputnik.
> если в коде не используются блоки "unsafe"Вот уж точное замечание :) но ансейфы, как всегда, точно будут.
код на С - один большой ансейф.
Arti на ржавом - 2 ансейфа размером в строку.
немножко unsafe - немножко беременна
У тебя есть замечательная возможность найти уязвимость в новом Tor-клиенте arti и попасть в новости. С чего начнешь?
DoS, он же "у меня ничего не работает" считается за уязвимость?
По твоей логике на одном стуле деанон (remote code execution, Си) на другом дисконнект (denial of service, Раст). Пусть пользователи рассудят.Заметь, на неполном по Тьюрингу языке (только такой и защитит от утечек памяти, дедлупов, многопоточных рейс кондишонов) ты Тор не напишешь, как бы тут не кривлялся.
> деанон (remote code execution, Си)Буду знать, что такое "деанон".
> на неполном по Тьюрингу языке
Я даже не буду спрашивать, что это такое у тебя.
Как великому "теоретику": почему бы не переписать на хаскеле, например? Почему раст с "маркетоидными обещаниями безопасности"?
>почему бы не переписать на хаскеле, например?А ведь хаскель считает IO ансейфом и требует отделять его от чистых вычислений...
> А ведь хаскель считает IO ансейфом и требует отделять его от чистых вычислений...https://www.haskell.org/tutorial/io.html
>> The I/O system in Haskell is purely functionalПерепись "слышавших звон"?
> The I/O system in Haskell is purely functionalИ чего ты так возбудился? Что это доказывает, чего не было в посте, на который ты ответил?
Вообще проблем не вижу. Ему же не тебуется эти 5% перформанса. Может они боятся что сложно будет поддерживать.На раст, кстати, вышла замена libc под линуксом. Теперь ее можно статически скомпилировать с тором и получить бинарник, который напрямую с ядром общается. Без посредников. Да и производительность такого решения будет заметно выше благодаря LTO, чем при использовании динамической линковки.
предлагаю переписать tor на C#, он такой же безопасный, как и раст.
Там нет боров чекера.
> предлагаю переписать tor на C#, он такой же безопасный, как и раст.Та хоть на JS, все полезней чем языком в комментариях трепать...
Ты ща договоришься и его реально перепишут на Electron.
Будет тормозить, жрать память и работать, в отличие от хрустоподелий.
И безопасно, злоумышленник умрёт от старости учитывая быстродействие JS...