The OpenNET Project / Index page

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

Около 21% нового компилируемого кода в Android 13 написано на языке Rust

03.12.2022 12:44

Инженеры из компании Google подвели первые итоги внедрения в платформу Android поддержки разработки на языке Rust. В Android 13 примерно 21% от добавленного нового компилируемого кода написано на Rust, а 79% на C/C++. В репозитории AOSP (Android Open Source Project), в котором развиваются исходные тексты платформы Android, насчитывается примерно 1.5 млн строк кода на Rust, связанного с такими новыми компонентам, как хранилище криптографических ключей Keystore2, стек для UWB-чипов (Ultra-Wideband), реализация протокола DNS-over-HTTP3, фреймворк виртуализации AVF (Android Virtualization Framework), экспериментальные стеки для Bluetooth и Wi-Fi.

В соответствии с ранее принятой стратегией снижения риска появления уязвимостей, вызванных ошибками при работе с памятью, язык Rust пока применяется в основном при разработке нового кода и для постепенного усиления безопасности наиболее незащищённых и жизненно важных программных компонентов. Общей цели перевода всей платформы на Rust не ставится, и старый код остаётся на C/C++, а борьба с ошибками в нём производится через применение fuzzing-тестирования, статического анализа и применение при разработке техник, подобных задействованию типа MiraclePtr (обвязка над raw-указателями, выполняющая дополнительные проверки обращения к освобождённым областям памяти), системе распределения памяти Scudo (безопасная замена malloc/free) и механизмам выявления ошибок при работе с памятью HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN и KFENCE.

Что касается статистики по характеру уязвимостей в платформе Android, отмечается, что по мере уменьшения нового кода, небезопасно работающего с памятью, наблюдается и снижение количества уязвимостей, вызванных ошибками при работе с памятью. Например, доля вызванных проблемами с памятью уязвимостей сократилось с 76% в 2019 году до 35% в 2022 году. В абсолютных числах в 2019 году было выявлено 223 уязвимостей, связанных с работой с памятью, в 2020 - 150, в 2021 - 100, а в 2022 - 85 (все отмеченные уязвимости в коде на C/C++, в коде на Rust подобных проблем пока не было найдено). 2022 год стал первым годом, в котором связанные с памятью уязвимости перестали доминировать.

Так как связанные с работой с памятью уязвимости обычно являются наиболее опасными, в общей статистике также отмечается снижение числа критических проблем и проблем, которые могут быть эксплуатированы удалённо. При этом динамика выявления уязвимостей не связанных с работой с памятью, последние 4 года сохраняется примерно на одном уровне - 20 уязвимостей в месяц. Также сохраняется и доля опасных проблем среди узявимостей, вызванных ошибками при работе с памятью (но так как снижается число подобных уязвимостей, снижается и число опасных проблем).

В статистике также отслеживается корреляция между объёмом нового кода, небезопасно работающего с памятью, и числом уязвимостей, связанных с памятью (переполнение буфера, обращение к уже освобождённой памяти и т.п.). Данное наблюдение подтверждает предположение, что основное внимание при внедрении техник безопасного программирования следует уделять новому коду, а не переписыванию существующего, так как основная масса выявляемых уязвимостей приходится на новый код.



  1. Главная ссылка к новости (https://security.googleblog.co...)
  2. OpenNews: Rust включён в число основных языков для разработки платформы Android
  3. OpenNews: Google развивает новый Bluetooth-стек для Android, написанный на Rust
  4. OpenNews: Компилятор Rust добавлен в состав дерева исходных текстов Android
  5. OpenNews: Google учредил команду для помощи открытым проектам в усилении безопасности
  6. OpenNews: Разработчики Chrome экспериментируют с языком программирования Rust
Лицензия: CC-BY
Тип: Тема для размышления
Короткая ссылка: https://opennet.ru/58249-android
Ключевые слова: android, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (277) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Вы забыли заполнить поле Name (?), 13:48, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +15 +/
    > наблюдается и снижение количества уязвимостей, вызванных ошибками при работе с памятью.

    Лучше пусть приведут статистику по уязвимостям на конкретный язык.

     
     
  • 2.6, dullish (ok), 13:58, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Не. Такой список уязвимостей, в обязательном порядке, подлежит согласованию с отделом бекдоров. А это долго и хлопотно.
     
     
  • 3.27, Джон Макагонов (?), 14:29, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –10 +/
    Пресловутая отговорка сишных завистников. Вот репозиторий раста - https://github.com/rust-lang/rust
    найди там хоть один бекдор.
     
     
  • 4.53, Без аргументов (?), 15:00, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +11 +/
    https://github.com/Qwaz/rust-cve
     
     
  • 5.62, Джон Макагонов (?), 15:07, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –9 +/
    Так эти ишуи все были закрыты.
     
     
  • 6.64, Без аргументов (?), 15:11, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Так и сишные дыры тоже закрывают. Разница то в том, что на чем написано подавляющее большинство кода, там и багов больше, и не надо тут подмешивать свои фантазии, основанные только на безопасной работе с памятью.
     
  • 6.135, Аноним (135), 17:02, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Закрыты != исправлены
     
  • 3.29, Аноним (29), 14:29, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +16 +/
    Важно не то на чем написано, а то, кто слил сертификатец ;)
     
     
  • 4.67, Без аргументов (?), 15:14, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да. Но они верят в иллюзорный мир, более цветастый, чем есть, и в какую-то свободу айти.
     
  • 2.72, Без аргументов (?), 15:21, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Все эти движения сделаны действительно ради безопасности. Чтобы имели власть только те, кто пишет всякие прошивки, Intel ME, AMT и т.п.
    Даже вот в NodeJS невозможно просто так взять, и обновить пакеты, там придется рефакторить зачастую, и как без обновлений останутся уязвимости, так и с обязательным обновлением нужно постоянно иметь доступ к npm и потенциально можно словить уязвимые обновы.
     
  • 2.73, Без аргументов (?), 15:23, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Когда всех загонят в облака, то им в самом деле нужна безопасность, чтобы никакие мятежники не смогли все эти монопольные с точки зрения владельцев бизнеса медиаимперии взломать.
     
     
  • 3.348, Neon (??), 00:57, 06/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Какие на фиг облака ? Введут ссанкции и всё...Причем ввести могут против кого угодно, не только России. Как гнобили тот же китайский Хуавей забыли ?
     
  • 2.85, Андрей (??), 15:36, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Лучше пусть приведут статистику по уязвимостям на конкретный язык.

    Ну так и привели:

    >>  В абсолютных числах в 2019 году было выявлено 223 уязвимостей, связанных с работой с памятью, в 2020 - 150, в 2021 - 100, а в 2022 - 85 (все отмеченные уязвимости в коде на C/C++, в коде на Rust подобных проблем пока не было найдено)

    В оригинальной статье:

    >>  To date, there have been zero memory safety vulnerabilities discovered in Android’s Rust code.

     
     
  • 3.228, Аноним (228), 03:09, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Подсказать, почему в расте не искали? Доля раста _во всём_ коде - менее процента. Думаешь, почему в статье привели проценты именно относительно _нового_ кода? То-то же.
     
     
  • 4.229, Аноним (228), 03:11, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да и на расте пишут оболочки вокруг си-кода, трудно допустить ошибку с памятью, если с ней не работаешь.
     
  • 4.232, Аноним (232), 03:21, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А заголовок говорит что 21% компилируемого(тоесть реального кода) написанно на rust.
     
     
  • 5.299, Аноним (228), 15:22, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты отличаешь слова "нового кода" и "весь объём кода"? Или арифметику в школе прогулял?
     
  • 4.254, жявамэн (ok), 10:17, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    какой же ты врушка
    в заголовке 21 процент
    у тебя же в манямирке менее 1 процента
    клоун
     
     
  • 5.300, Аноним (228), 15:24, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты как думаешь, что больше: весь имеющийся код или вчерашний добавленный?
     
  • 4.297, Аноним (297), 14:38, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чукча не читатель В статье привели проценты 21 -раст не относительно _новог... большой текст свёрнут, показать
     
     
  • 5.305, Аноним (228), 15:46, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Сожалею, что ты чукча...

    > 21% от добавленного нового...

     

  • 1.2, EndrII (ok), 13:54, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    вот блин, тепереь андройд станет еще медленеее ...
     
     
  • 2.4, Аноним (4), 13:57, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Раст компилируется в точно такой же машинный код, что и C++
     
     
  • 3.16, Аноним (16), 14:19, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Тогда чего в нём такого безопасного, лол?
     
     
  • 4.20, Аноним (20), 14:22, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Вся магия происходит во время компиляции.
     
     
  • 5.221, Старший аноним (?), 00:50, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Исчерпывающий ответ, даже и добавить нечего :)

    Но постойте, я уже где-то слышал пр "магИю". Вроде бы это был язык программирования, тоже начинавшийся на R. Вспомнил - Ruby. Это что же получается, что "магия" перекочевала из Ruby в Rust? Тогда дела плохи.

     
     
  • 6.233, Аноним (232), 03:25, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    То что вы пытаетесь здесь провернуть называется демагогия.
     
  • 5.273, Аноним (273), 11:14, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Вся магия происходит во время компиляции.

    В GCC это назвали -fanalyzer

     
  • 5.281, Аноним (281), 12:55, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вся магия происходит во время пассов руками.
     
  • 4.316, Аноним (316), 17:25, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    суть Rust-а во владении (borrowing) ресурсом :)
     
  • 3.52, Аноним (52), 14:58, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ага, "такой же" код на полигига
     
     
  • 4.106, Аноним (106), 16:12, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    это бинарник на полгига, а во время компиляции там весь терабайт наберётся
     
  • 4.182, paulus (ok), 20:22, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >на полигига

    столько даже а9 не весил, по-боле будет.., но сервисы гугла весили столько же как и ос :)

     
  • 4.199, Аноним (199), 22:54, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Отключайте дебаг режим в компиляторе и будут обычного размера, как в плюсах
     
     
  • 5.338, Проходил мимо (?), 15:58, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    К сожалению, не будет Раньше релизные версии весили существенно меньше, но сейч... большой текст свёрнут, показать
     
     
  • 6.340, Аноним (340), 17:16, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Почитайте как убрать все лишнее в 2022 году https://darkcoding.net/software/a-very-small-rust-binary-indeed/
     
     
  • 7.351, Проходил мимо (?), 13:01, 06/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за интересную ссылку

    Вообще лично мне было бы интересно получить статически собранный бинарник (как в GoLang) уменьшенного размера. Однако даже сама сборка статического бинаника по тому рецепту, что мне известен, работает как-то криво. Известный мне рецепт такой: в файл .cargo/config.toml в корне проекта добавляем строки
    [target.x86_64-unknown-linux-gnu]
    rustflags = ["-C", "target-feature=+crt-static"]

    Но что-то видать я делаю неправильно.

     
  • 6.345, Аноним (345), 23:22, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > К сожалению, не будет.
    > Раньше релизные версии весили существенно меньше, но сейчас, увы, кто-то что-то "исправил"
    > :(
    > Конкретный пример компиляции обычного ХелоВорда:

    rustc -O -C prefer-dynamic -C link-args=-s hello.rs

     
  • 3.68, Я (??), 15:15, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    в том что компилятор бьёт по рукам за небезопасный код
     
     
  • 4.82, Аноним (82), 15:32, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по качеству кода бьёт таки сразу клавиатурой, но фиксить не заставляет...
     
  • 4.108, Аноним (106), 16:13, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    в смысле заставляет переписывать тривиальные вещи хитровыделанными способами, борясь с компилятором вместо того, чтобы дела делать?
     
     
  • 5.358, burjui (ok), 13:57, 25/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Может, на ассемблере лучше писать? Зачем какая-то типизация вообще нужна, если двоичная логика тривиальна, да и инструкции процессоров максимально просты.
     
  • 4.174, Бывалый смузихлёб (?), 19:25, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Странные всё-таки наклонности у любителей раста
    Код - и тот не могут нормально писать без строгого надзирателя который их постоянно бьёт
     
     
  • 5.200, Аноним (199), 22:55, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Программисты на Расте просто честно признали человеческое несовершенство. Errare humanum est
     
     
  • 6.282, Аноним (281), 13:07, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Теперь им нужно сделать следующий шаг - выпилиться из профессии.
     
  • 6.367, Я (??), 13:42, 28/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Программисты на Расте просто честно признали человеческое несовершенство. Errare humanum
    > est

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

     
  • 5.271, Аноним (271), 11:14, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Код - и тот не могут нормально писать

    А кто может?

     
  • 3.129, kusb (?), 16:48, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Но насколько тот же код эффективный. Я слабо понимаю Rust, но кажется у них какая-то непонятная модель безопасности писать в соответствии с которой и нужно, что влияет на то, что я могу написать, а что нет.
    А ещё - всякие проверки и код - тоже могут быть на уровне компиляции, но приводить к тому, что будет проверяться каждый раз - или пусть разная реализация массивов - более быстрая и более медленная.
     
  • 3.149, Michael Shigorin (ok), 17:51, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –11 +/
    Это когда unsafe? ;-)
     
     
  • 4.331, anonymous (??), 23:29, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ты лучше матчасть выучи, а потом умные keyword упоминай
     
  • 3.193, Аноним (193), 21:07, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Раст компилируется в точно такой же машинный код, что и C++

    Ну вот на Си есть linked list, с самой высокой скоростью вставки. На Rust невозможно реализовать этот вид списка без unsafe. Значит там будет использоваться более медленный алгоритм или unsafe. Ой, а класс std::collections::linked_list умеет вообще вставлять и удалять элементы в середине? Или создатели языка сочли этот алгоритм еретическим?

     
     
  • 4.198, Аноним (199), 22:53, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну под unsafe реализовать можно
     
     
  • 5.238, Аноним (193), 04:40, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну под unsafe реализовать можно

    Но религия не позволяет. За использование unsafe в публичном коде сообщество заклюёт.

     
     
  • 6.301, Аноним (4), 15:26, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так не надо простыни кода в unsafe закрывать. Только участки, где это критически необходимо. Если товарищу нужен двусвязный список, то да, низкоуровневый код работы с этим списком ему придется делать ансейфом. Но в растбуке рекомендуют на этот случай парадигму: "Вы пишете unsafe'а по минимуму и всякий unsafe оборачиваете тщательными проверками". Так что вот, если так нужен двусвязный список - то собсно вот
     
  • 6.319, Аноним (-), 17:48, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Естественно Сообщество читает unsafe в коде как мамойклянус, тут никакие инвар... большой текст свёрнут, показать
     
  • 4.245, Аноним (245), 07:33, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    LinkedList даже в java есть. И почему-то без unsafe
     
     
  • 5.302, Аноним (4), 15:28, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И им почти никто не пользуется. Как там Блох говорил, который писал этот класс: "I've written this class and I've never used it afterwards". ArrayList значительно быстрее насчёт нативных массивов, оверхед в линкедлисте на создание объектов превосходит порой даже выигрыш в асимптоматике (когда алгоритм предписывает линкдлист использовать)
     
  • 2.224, Аноним (224), 02:01, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> вот блин, тепереь андройд станет еще медленеее

    Обязательно
    И не от языка зависит)

     

     ....большая нить свёрнута, показать (36)

  • 1.3, Джон Макагонов (?), 13:55, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Величие раста налицо. Факты - упрямая вещь,  а они тут говорят только об одном - раст доказал свою состоятельность и на всех правах одного из доминирующих языков ворвался в системный мейнстрим разработки. Браво! Белиссимо! Перфект! Превосходно! Мои поздравления,  друзья-растоманы - наш час гегемонии пробил!
     
     
  • 2.7, Аноним (4), 13:58, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Поздравляю, коллега! Знаете, даже интересно, а в 1980-е тоже были толпы хейтеров, которые кричали "C фигня! Медленно! Ассемблер форевер! Си - язык хиппарей!" Или это только сейчас все новые технологии обкладывают?
     
     
  • 3.18, Джон Макагонов (?), 14:20, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Старички понимают,  что им пора уже на пенсию,  но ещё хотят повоевать. А чем? Веских аргументов против раста привести не могут,  остаётся только лить грязь. У С и С++ море УБ,  предсказать где оно наступит - невозможно. Перед отправкой кода в продакшен совершается длительный ритуал возвания к высшим силам,  дабы те уберегли программное обеспечение от неопределенного поведения. В расте достаточно откомпилировать без всяких ансейфов - стабильность гарантирована. Да будет так.
     
     
  • 4.131, kusb (?), 16:53, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Вот не нравится мне сектанство. у тех кто за Раст есть аргументы, у тех кто за Си есть аргументы. Почему нельзя быть честным и признать это? И одно лучше другого в разных сферах, и это не чисто борьба "нового против старого". Только сектанты упрощают в духе - "Против нас исчадия тьмы, их и понимать нечего".
     
     
  • 5.150, Michael Shigorin (ok), 17:52, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Только сектанты упрощают в духе - "Против нас исчадия тьмы, их и понимать нечего".

    В кои веки: в точку!

     
  • 5.307, andy_68 (ok), 16:26, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так после этого говорить становится не очем ;-)
     
  • 5.343, Аноним (-), 18:02, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Только сектанты упрощают в духе - "Против нас исчадия тьмы, их и понимать нечего".

    Не исчадия тьмы, а старпёры и прочие неучи, которые ниасилили раст, но мнение имеют. Ещё есть тролли, но они просто развлекаются, они не тянут на исчадия тьмы.

     
  • 4.274, Аноним (273), 11:20, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >У С и С++ море УБ,  предсказать где оно наступит - невозможно.

    А это что: -fsanitize=undefined ?

     
     
  • 5.303, Аноним (4), 15:30, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так а borrow checker это в Си/С++ не вводит всё равно. А borrow checker - это одна из прорывных идей Раста
     
  • 3.45, Аноним (45), 14:49, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Корректно будет сравнить полуручные си+асм в 90х и тот треш который был в плюсах в 90х же, я уверен, что так вопили многие. И вполне обоснованно, хипстерские поделки только и делали, что тормозили. В том числе развитие технологий.
     
     
  • 4.54, Джон Макагонов (?), 15:00, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Раст далек от того безобразия лихих 90-х. Вся архитектура языка тщательно продумывается,  каждая новая фича тщательно обкатывается на найтли версиях языка. Например,  гаты не сразу вошли в стабильную версию языка.
     
     
  • 5.83, Аноним (82), 15:33, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    А почему когда читаешь "тщательное" кровь из глаз идёт?
     
     
  • 6.92, Без аргументов (?), 15:42, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот да. Технически может и круто, но для человека -- вырвиглазно.
     
     
  • 7.103, Джон Макагонов (?), 16:02, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Любой язык,  где нужно вручную работать с памятью - вырвиглазный. И вы,  сишники с плюсовиками,  это прекрасно знаете. Так что не надо ля-ля. Все мы дело делаем,  а не в бирюльки играем как на пхп  или питоне - нам всем не до красот синтаксиса.
     
  • 6.94, Без аргументов (?), 15:42, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Как-то даже странно, будто мир поделили на слишком примитивную вебню и вот это.
     
     
  • 7.242, Аноним (193), 05:10, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Как-то даже странно, будто мир поделили на слишком примитивную вебню и вот
    > это.

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

     
  • 3.144, ИмяХ (?), 17:28, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тогда, помню, все плевались от типов данных и констант "почему я не могу изменить переменную из-за того, что какой-то хиппарь объявил её const?" или "нафига эти int, char и float, у вас что, мозгов нет, чтоб запомнить, какая переменная какому типу принадлежит?"
     
  • 2.9, Аноним (9), 14:00, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Что в нём такого? Он сам за тебя код пишет? Или же там есть библиотечки на любой чих, как в питоне? Или сборка сразу под весь зоопарк платформ? Что там реально хорошего, ну кроме того, что макака не сможет сделать подобие *((int *)NULL) = 1; ?
     
     
  • 3.11, Аноним (9), 14:01, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не, я не против, но не понимаю хайпа.
     
  • 3.12, Джон Макагонов (?), 14:09, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    в расте нет нула,  и это благо,  вам сишным приматам такое не дано понять
     
     
  • 4.14, Аноним123 (?), 14:16, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Подождем, как запоют не-приматы, когда им отключат crates из-за недостаточной демократичности и/или инклюзивности
     
     
  • 5.24, Джон Макагонов (?), 14:25, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В расте зависимости можно тянуть откуда угодно. Даже с локального гит-репозитория. Рекомендую,  кстати.
     
     
  • 6.296, Аноним (297), 14:29, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кому ж правда так глаза режет, что он тебя заминусовал. Сишники-опеннетчики - прям сектанты в квадрате.
     
  • 4.32, fsb4000 (?), 14:32, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    в расте есть ptr::null и ptr::null_mut
     
     
  • 5.36, Джон Макагонов (?), 14:36, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это уже часть стд-либы. В ядре языка никакого нула нет.
     
  • 5.40, Джон Макагонов (?), 14:43, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И потом,  речь идет о типах - причем тут указатели. Типа NULL в расте нет. Вкусно и точка.
     
     
  • 6.138, Маняним (?), 17:16, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Типа NULL и в С/С++ нет, осёл, есть значение в С++, в С это обыкновенный целый ноль привидённый к размеру значения типа указатель.
     
     
  • 7.148, AlexCr4ckPentest (?), 17:42, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если на то уж пошло, то NULL в С и nullptr в С++ - это implementation-defined  
    В С в зависимости от компилятора и стандартной библиотеки, NULL может быть определен либо как ((void*)0), либо просто как литерал типа (unsigned и/или long) int
    В C++ nullptr играет 2 роли:
    * по стандарту - это новое ключевое слово
    * вместе с тем, это глобальный объект типа std::nullptr_t, последний в свою очередь тоже implementation-defined
     
  • 7.153, Michael Shigorin (ok), 17:56, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Обзываться не стоит (см. правила форума по ссылке под формой комментирования), но забавно: тот пропаган... дист, скажем так -- почему-то пришёл сюда через tor.  Наверное, очень храбрый и за правду.
     
     
  • 8.161, Аноним (161), 18:33, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мишанины сливы А я через что зашёл не расскажешь ... текст свёрнут, показать
     
  • 8.164, Джон Макагонов (?), 18:45, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Обзываться не стоит То есть только мне нельзя делать то, что делает весь опенн... текст свёрнут, показать
     
  • 8.168, Igraine (ok), 19:06, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тогда почему вы не забаните пропаган диста Он же вам мешает, нетрадиционный я... текст свёрнут, показать
     
  • 3.30, fsb4000 (?), 14:30, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    на самом деле может:

    '''
    let i: *mut i32 = ptr::null_mut();
    *i = 1;
    '''

    https://rust.godbolt.org/z/Mrs3M877j

     
     
  • 4.51, Твайлайт Спаркл (ok), 14:58, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вот только прошлось обернуть кусок кода в unsafe.
     
     
  • 5.66, AlexCr4ckPentest (?), 15:13, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Речь шла про тип, схожий с NULL из языка C
    Такой тип есть? - есть
    То, что использование такого кода возможно только в пределах unsafe контекста - это хорошо, но в реальности, очевидно не всегда есть возможность писать все в safe контексте
     
     
  • 6.136, aploskov.dev (ok), 17:04, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Только это достаточно узкий спектр задач.

    Бизнес-логику высокоуровневую ты в unsafe заворачивать не будешь, что снижает вероятность словить сегфолт там, где его не ждешь.

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

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

     
     
  • 7.154, Michael Shigorin (ok), 17:57, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, Вы бизнес-логику на постоянно мутирующем тулчейне и впрямь пытались делать?

    Интересно стало.

     
     
  • 8.156, aploskov.dev (ok), 18:01, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, там не настолько сильно мутирует тулчейн, чтобы подрываться на этом, хотя эт... текст свёрнут, показать
     
     
  • 9.276, Igraine (ok), 11:46, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Энтерпрайз на java меняет версию раз в 20 лет Даже на java 8 не все перешли ... текст свёрнут, показать
     
  • 6.190, Sw00p aka Jerom (?), 20:59, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Речь шла про тип, схожий с NULL из языка C

    эт что за такой тип NULL в сях?

     
  • 6.344, Someone (??), 22:04, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если я не ошибаюсь, в C/C++ любой указатель можно сравнивать с NULL. Поправьте меня если я неправ.

    Так что получается что все таки в C/C++ NULL это тип неинициализированного указателя.

    В Rust можно создать нулевой указатель, но их нельзя сравнить с NULL, так как NULL в языке нет. Да и в принципе это будет все таки указатели на разные типы которые нельзя сравнивать.

     
     
  • 7.347, Sw00p aka Jerom (?), 00:03, 06/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Если я не ошибаюсь, в C/C++ любой указатель можно сравнивать с NULL.
    > Поправьте меня если я неправ.
    > Так что получается что все таки в C/C++ NULL это тип неинициализированного
    > указателя.
    > В Rust можно создать нулевой указатель, но их нельзя сравнить с NULL,
    > так как NULL в языке нет. Да и в принципе это
    > будет все таки указатели на разные типы которые нельзя сравнивать.

    а сравниваете что? тип или значение?

     
  • 3.170, Igraine (ok), 19:16, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >что макака не сможет сделать подобие *((int *)NULL) = 1; ?

    Оторванный от реальности опеннет макака эксперт, с раздутым до неприличия самомнением, не может сделать что-то подобное просто потому что не может написать законченную программу.
    Доказательство на отсутствующем github, gitlab

    Rust разработчики, которых здесь так ненавидят, доказали что могут писать программы. Доказательство https://android.googlesource.com/

     
  • 2.17, Аноним (16), 14:20, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Доказали факт слабоумия всех растовиков?
     
     
  • 3.34, ИмяХ (?), 14:35, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну и что с того, что растовики слабоумны? Они пишут код, зарабатывают бабки и счастливы. И вообще, в жизни, кроме ума, есть множество других аспектов, которых не понять задpoтам. А ещё хорошо, что Великий Компьютерный Бог может использовать даже слабоумных, чтобы развивать и размножать себя.
     
     
  • 4.63, Без аргументов (?), 15:09, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Слабоумие не у тех, кто пишет на нём. А тех, кто думает, что от того, что кто-то другой перепишет, будет лучше. А также в результате ограниченного чисто гиковско-анимэшными рамками мировоззрения, они совершенно не понимают в остальных сферах, в том, кто ими руководит, как это всё двигается и продвигается, с какой целью.
     
     
  • 5.65, ИмяХ (?), 15:13, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты так говоришь, как будто это что-то плохое.
     
     
  • 6.76, Без аргументов (?), 15:27, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, я знаю, что общество заслуживает своих правителей.
     
  • 6.79, Без аргументов (?), 15:29, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Просто меньшинством становлюсь уже я. Это как Притча об отравленной воде
     
  • 6.134, torvn77 (ok), 17:02, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты значит настолько альтруист что готов бесплатно кормить тех кто ОТБИРАЕТ у тебя свободу и ресурсы?
     
     
  • 7.160, Без аргументов (?), 18:28, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У него вообще нет никаких ценностей, калейдоскопическое бурление из пустого в порожнее
     
  • 3.61, Без аргументов (?), 15:07, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно! 21%, и модули ядра наверно тоже переписали, и микрокод чипов.
     
  • 2.22, Аноним (20), 14:24, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Факты, упрямая вещь, верно. И судя по ним (фактам) большинство кода все ещё на С++, значит С++ доказал свою состоятельность?
     
     
  • 3.60, Без аргументов (?), 15:06, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно. 21% кода это же большинство, не очевидно чтоль?
     
  • 3.75, Анонус (?), 15:25, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ключевые слова "все еще"
     
  • 2.59, Без аргументов (?), 15:05, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Посмотрим через лет 5-10 на ваши инклюзивные плоды и семантические ошибки
     
     
  • 3.110, анонна (?), 16:16, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    там буде что то вроде D или чего то похожего. ну нельзя отказаться от языка работы с железом со словами "работа с памятью опасна". никуда такие языки не денутся. разве что настроят больше проверок.
     
     
  • 4.145, Аноним (9), 17:29, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если воспользоваться всякими std::vector, а потом обращаться через .at, далее использовать нужные шаблоны, как shared_ptr, uniq_ptr, то словить непонятные сегфолты становится значительно труднее.
     
     
  • 5.166, анонна (?), 18:53, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Если воспользоваться всякими std::vector, а потом обращаться через .at, далее использовать
    > нужные шаблоны, как shared_ptr, uniq_ptr, то словить непонятные сегфолты становится значительно
    > труднее.

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

     
  • 3.126, Аноним (228), 16:38, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > через лет 5-10

    Загнутся, как серво.

     
     
  • 4.201, Аноним (345), 23:32, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> через лет 5-10
    > Загнутся, как серво.

    https://github.com/mozilla/gecko-dev/tree/6e8aa696b3484a183126aeb0ea2fdf95ad64

    Опеннетная оналитега, аз из.

     
     
  • 5.243, Аноним (193), 05:24, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Опеннетная оналитега, аз из.

    Хочешь сказать, что он жив? Историю коммитов по своей же ссылке глянь, в каждой строчке bug,bug,bug.

     

     ....большая нить свёрнута, показать (61)

  • 1.5, Аноним (5), 13:58, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    это успех
     
  • 1.19, Alladin (?), 14:20, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    а какже Android Go и его компоненты написанные на Go? в списке только Rust, C, C++.. даже Java/Kotlin нету.
     
     
  • 2.26, Аноним (45), 14:27, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда внезапно окажется, что перечисленное -- это 0.0000000001% кода в сумме, и победа раста сразу не такая впечатляющая. Но ,в любом случае, сравнение полноценных ЯП (без насильного ГЦ и прочего), является вполне корректным.
     
  • 2.31, Аноним (31), 14:31, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +10 +/
    android go не связан с go, емнип, он просто считается облегчённой сборкой
     
     
  • 3.139, Alladin (?), 17:17, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Раньше я где-то это вычитывал, а сейчас смотрю и не нахожу подобной инфы:( Есть лишь приписка: "облегченная версия + приложения androidgo писанные на WebView/JS+HTML"..
     
     
  • 4.337, hmdglobal (?), 15:21, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    nokia 7 чё-то там - китайфон по-сути под брендом нокии (привет из китая). android go - это "облегчённая" т.е. с частично выпеленной функциональностью и порезанными стандартными приложухами от гугла (обрезок вместо фм, какие-то Maps Lite и прочий резаный гуглохлам) + какой-то вроде тоже покоцаный лаунчер - не даёт удалить с главного экрана гуглопоиск.
    внезапно, ворочается на этой мыльнице более-менее для звонилки/читалки для "простого пользователя". успел заметить, что обновляется автоматом норм. даже между версиями андроида.
     
  • 2.58, Аноним (232), 15:04, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    ЛОЛ. Связать Android Go с языком программирования Go, это уровень: обезьяна видит банан, обезьяна ест банан.
    Go это облегченная версия Android с облегченными предустановленными приложениями.
     
     
  • 3.125, Alladin (?), 16:37, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    КЕК. Раньше я где-то это вычитывал, а сейчас смотрю и не нахожу подобной инфы:( Есть лишь приписка: "облегченная версия + приложения androidgo писанные на WebView/JS+HTML"..
     
  • 2.81, Аноним (82), 15:30, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если там нет ржабы и православного котлина, то циферки явно левые
     
     
  • 3.140, Alladin (?), 17:18, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да цифры интересные, переписали bluetooth+wifi и хоба 21% кода набежало...
     
     
  • 4.349, Kuromi (ok), 01:03, 06/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, их желание переписать "блюху и вифи" в Раст понятно зато - там столько раз уязвимости находили. Если от Блютуса можно поморщившись отказаться то от wifi...
     
  • 3.223, Аноним (297), 01:57, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Прочти еще раз статью. Что тебе непонятно в предложении "В Android 13 примерно 21% от добавленного нового компилируемого кода написано на Rust, а 79% на C/C++".

    "...компилируемого..."! Здесь нет места яве, котлину и т.п.

     
     
  • 4.306, Аноним (4), 16:22, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ява и Котлин вообще-то компилируются. В байт-код, но компилируются
     
     
  • 5.309, Аноним (297), 17:00, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Из оригинала таким как Вы уже приводили цитату из этой статьи Там это native ... большой текст свёрнут, показать
     
     
  • 6.320, Аноним (4), 18:09, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Окей, если native, то да, согласен
     

  • 1.21, Igraine (ok), 14:23, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Не надо пугать местных экспертов, а то у них опять истерика начнется
     
     
  • 2.57, Без аргументов (?), 15:03, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да, оно само, без влияния корпораций и без желания подмять по себя средства разработки.
     
     
  • 3.246, Igraine (ok), 07:36, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Покажите что вы там написали на неподмятых средствах разработки.
     

  • 1.23, Аноним (23), 14:24, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Пусть лучше будет 100500 удаленно эксплуатируемых уязвимостей работы с памятью, чем распухание прошивки настолько, что для её работы не хватит памяти для работы на устройствах 10летней давности, из-за того, что какие-то коммерсанты решили, что развивать надо фундаментально блоатварный язык, принципиально не умеющий в другие подходы к разработке, и принимать решения об интегрировании его в продукты, чтобы сделать не покупающих людьми третьего сорта, чтобы никто не посмел не покупать.
     
     
  • 2.33, Джон Макагонов (?), 14:33, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Наглая ложь. Раст выдает вполне компактные бинарники,  оперативная память задействуется по минимуму,  если разработчик не идиот конечно.
     
     
  • 3.50, Аноним (50), 14:53, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Вы  же общаетесь с экспертом опеннета. Объясните ему сначала концепцию дебаг/релиз сборок
     
  • 3.104, Аноним (104), 16:08, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +11 +/
    >если разработчик не идиот конечно

    1. Перед "конечно" нужна запятая. Смешно, когда люди, не освоившие в школе предмет "Русский язык", не говоря уже о медицинском образовании, пытаются судить о степенях умственной отсталости.
    2. Он выдаёт компактные бинарники только в том случае, когда разработчик не использует внешние библиотеки статической линковки. Что при текущем уровне развития языка

    а) невозможно: cargo не предоставляет средств для использования динамической линковки, и к нему гвоздями прибито защёлкивание версий. Ситуация, в которой в одно приложение компилируются и линкуются 3 версии одной и той же библиотеки - обыденность.
    б) противоречит идеологии развития языка и глобальному cargo-культистскому тренду на "самодостаточные приложения"
    в) даже если предположить, что а) упадёт, а б) - пропадёт, то большинство библиотек всё равно созданы исключительно для существующих официальных подходов и практик и ломают API в почти каждой версии, и если кто-то захочет это поменять, то ему придётся сначала форнуть и переписать cargo, потом переписать или форкнуть все зависимости, и их после весь этот кошмар поддерживать и обновлять и конфликты слияния устранять, и портировать на новое API культистов. cargo-культистские оригинальные авторы за адекватов это делать не будут.

    3. Результат: динамическая линковка там исключительно для галочки, чтобы в неё можно было мордой тыкать всех, кто скажет слово против использования статической линковки: вот мол вам компилятор, вот - cargo, вы хотите динамическую линковку и либы из пакетов? Форкните и переделайте весь тулчейн, все либы, и весь софт, и только после этого выпендривайтесь. А нашим обезьянкам и статическая сойдёт.

    4. Так что да

    fn main(){
        println!("{}", 1 + 2)
    }


    может в принципе быть компактной. Но людям нужна не она, а реальные приложения

    5. Что не отменяет вину притащивших этот язык в проект. Они выбрали инструмент с такими недостатками - значит это их вина, что эти недостатки перешли на их программы и библиотеки.

    6. А для корпораций это вообще не баги, а фичи. Ибо благодаря им можно продать больше телефонов.

     
     
  • 4.120, Джон Макагонов (?), 16:31, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Напомню,  здесь чат - текст набирается со смартфона,  пунктуацию некогда проверять. Я не на диктанте. Это первое.
    Второе. Вы для начала хорошенько почитайте в офиц. документации какие флаги выставляются для релизной версии,  изучите этот вопрос,  откомпилируйте несколько значимых открытых программ на расте (на гитхабе их много) и только потом возражайте,  если на то будут основания. Вы не изучили этот вопрос, но слюной уже брюзжите.
     
     
  • 5.247, Аноним (228), 08:44, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > пунктуацию некогда проверять

    понятно, почему ты с гусями не по назначению обращаешься... "казнить нельзя помиловать".

     
  • 4.155, Michael Shigorin (ok), 18:01, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо за дельную подборку.
     
  • 4.169, Аноним (161), 19:10, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Смешно, когда люди, не освоившие в школе предмет "Русский язык", не говоря уже о медицинском образовании, пытаются судить о степенях умственной отсталости.

    У тебя есть десять минут чтобы предоставить на всеобщее обозрение свои дипломы по русской филологии, медицине и CS. Иначе клеймо опеннетного балабола станет твоим навечно. Время пошло.

     
     
  • 5.197, Аноним (106), 22:11, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    запятых перед "чтобы" достаточно, диплом только для госконтор нужен
     
     
  • 6.222, Аноним (-), 01:21, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Авторская пунктуация.
     
  • 4.225, Аноним (297), 02:06, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Что не отменяет вину притащивших этот язык в проект.

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

     
     
  • 5.253, Аноним (253), 09:46, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Извини, пролам яхты и виллы не полагаются. А капиталисты, которые увеличат руками и мозгами пролов потребность быдла в телефонах путём навязывания софта, написанного на блоатварном языке, яхты и вилы себе уже купили, но могут продать и купить ещё больше. Да, это объективная реальность, что мы живём в обществе массового потребления и в экономике стимуляции потребления путём намеренного устаревания. Нет, я не желаю терпеть такую реальность и буду её менять.
     
  • 2.69, Без аргументов (?), 15:16, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну это уже перебор, это не про раст, это про NodeJS
     
     
  • 3.107, Аноним (104), 16:13, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это именно про rust. Те, кто считают, что это не про Rust, просто дела с ним никогда не имели. Ядерный внешний модуль вайргарда весит 32 кибибайта. BoringTUN весит мебибайты в отстрипанном виде, долго компилируется. lwIP влезает в ардуинку. smoltcp (целевое применение - микроконтроллеры) весит мебибайты в отстрипанном виде. Пихал я в рот такие именины.
     
     
  • 4.162, Без аргументов (?), 18:35, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    вы процессорные библиотеки минимум под одноплатники и IwIP
     
     
  • 5.163, Без аргументов (?), 18:36, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    *сравнили
     
  • 4.330, Свинни Тодд (?), 23:01, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > кибибайты
    > мебибайта

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

    А то это выглядит как говорить "в украине" и не разделять "либеральный дискурс".

     
     
  • 5.355, mma (?), 08:33, 07/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Почему же новояз. Любой в праве использовать те величины которые считает нужными, соответствующий IEEE вам в помощь чтобы понять что KiB !=KB

    Тут скорее вопрос контекста, KiB/MiB совсем не к месту но сути сказанного не искажает

     
     
  • 6.356, Свинни Тодд (?), 14:55, 07/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Элементарно Суть новояза в том, что слова те же, а смыслы подменяются на другие... большой текст свёрнут, показать
     
     
  • 7.359, burjui (ok), 14:02, 25/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Суть в том, что киби - это 1024, а кило - 1000 в системе Си, с остальными приставками аналогично. Но сишникам корректность неинтересна, поэтому какая нахрен разница, да?
     
     
  • 8.362, Свинни Тодд (?), 00:31, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Что такое корректность в вашем понимании Есть слово, наделенное смыслом Есть... большой текст свёрнут, показать
     
     
  • 9.363, burjui (ok), 02:44, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А давайте не будем опускаться до уровня разбора таких банальных слов, значения к... текст свёрнут, показать
     
     
  • 10.364, Свинни Тодд (?), 09:37, 27/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Много лет было неочевидно, а как сказали сверху, сразу стало очевидно Причем, в... текст свёрнут, показать
     
  • 2.183, paulus (ok), 20:31, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    где-то во времена а8-9 ось весила столько же как и сервисы гугла! ява и гапсы вот и покупай новое железо :) Тут не в си/расте дело, а в остальном гавне...
     

  • 1.25, Герострат (?), 14:25, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Хороший тренд
     
  • 1.28, Аноним (28), 14:29, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Гугл подтасовывает статистику. Так и запишем.
     
     
  • 2.239, bOOster (ok), 04:54, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Первый раз что-ли?
    И google не подтасовывают - они манипулируют статистикой.
     

  • 1.46, AlexCr4ckPentest (?), 14:50, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Вот будет потешно, если в самом расте найдут еще уязвимостей )
     
     
  • 2.240, bOOster (ok), 04:54, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Оно так и будет. К гадалке не ходи.
     

  • 1.47, КО (?), 14:51, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    DNS-over-HTTP3
    Отличие от VPN в студию!
     
     
  • 2.98, псевдонимус (?), 15:48, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы тут с пахомом на пару?
     
  • 2.100, псевдонимус (?), 15:50, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Сеть не частная и не приватная. И вообще не совсем сеть.  Достаточно?
     

  • 1.56, Без аргументов (?), 15:02, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Забавный факт. Про пробку за 2 часа ни одного агитатора не вылезло, а тут аж за полчаса целое полотно.
     
     
  • 2.157, Michael Shigorin (ok), 18:02, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Их потом в связке будут выпускать -- ещё и за RISC-V топить.  Пока не особо получается -- калькуляторы-с.
     
     
  • 3.335, Аноним (335), 09:29, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да, не то что Эльбрус. Любой i3 быстрее эльбруса, но главное в трм, что рискв ещё медленее. Наконец то Эльбрус может посмотреть на кого то свысока.
     

  • 1.70, pashev.ru (?), 15:17, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > на C/C++, а борьба с ошибками в нём производится через применение ... статического анализа

    Следует помнить, что статистический анализ встроен в компилятор Раста. Так что никакой магии нету.

     
     
  • 2.121, Ахтунг Панзер (?), 16:31, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Статический анализ не просто в компиляторе, а на уровне языка встроен. Причем статический анализ этот весьма умен и строг
     
     
  • 3.181, pashev.ru (?), 20:02, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Статический анализ не просто в компиляторе, а на уровне языка встроен. Причем
    > статический анализ этот весьма умен и строг

    К чёрту детали.

     
  • 3.353, pashev.ru (?), 18:37, 06/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Статический анализ не просто в компиляторе, а на уровне языка встроен

    Лолшто?

     
  • 2.352, Аноним (352), 16:16, 06/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Какой-какой анализ, вы говорите?!
     
     
  • 3.354, pashev.ru (?), 00:41, 07/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот я лох!
     

  • 1.71, Аноним (71), 15:18, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    А чего-же не на go?
     
     
  • 2.74, Без аргументов (?), 15:25, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Го не системный язык, там даже нет арифметики с указателями, и довольно шикарен в микросервисах и для меня лично еще как замена питоноскриптам.
     
     
  • 3.78, Аноним (82), 15:28, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Глядя на портянки раста го, да и питон, да и вообще что угодно выглядят очень даже системно
     
     
  • 4.84, Без аргументов (?), 15:34, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты троллишь чтоль? Как может выглядеть системно или не системно? Это вообще то уровень близости к железу или хотя бы ядру.
     
  • 4.87, Без аргументов (?), 15:38, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Лично мне, помимо неизбежной глобальной политики корпоратов, Раст не нравится именно плохой читаемостью, усложненным синтаксисом и семантикой, в противовес более лаконичному Go.
    Примерно как писали "регенты" стандартную библиотеку Си в 1990 году.
    https://github.com/32bitmicro/newlib-nano-1.0/blob/master/newlib/libc/stdio/vs
     
     
  • 5.96, псевдонимус (?), 15:46, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Раст это мутант из произведений лавкрафта. Кривоногий,  ржавый и хромой на все тентакли. Сон разума. Кошмарный сон.
     
  • 5.291, Аноним (297), 13:52, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > усложненным синтаксисом и семантикой

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

     
     
  • 6.326, Аноним (345), 19:32, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Разве что местных вебмакак-войтишников, которые кроме си-подобных т е в основн... большой текст свёрнут, показать
     
     
  • 7.334, Аноним (335), 09:24, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > нагромождения вида "static const signed long int* const restrict borщ"

    Keep It Simple Stupid

    То что ты можешь так нагромодить не является поводом это делать.

     
     
  • 8.346, Аноним (345), 23:27, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То что ты можешь что-то вырвать из контекста не является поводом это делать Луч... текст свёрнут, показать
     
  • 2.93, псевдонимус (?), 15:42, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Бэкдоры сложнее упрятать.  Вот в совете как полпальца об асфальт
     
  • 2.95, псевдонимус (?), 15:43, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В ржавом.
     

  • 1.77, Аноним (82), 15:27, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Короче телефон ближайшие несколько лет лучше не обновлять, это ж такая клёвая идея тащить хипстоту вместо того чтобы пофиксить многолетние баги, привести в порядок SAF (который до сих пор на разных железках выглядит и работает по-разному, хотя казалось бы одна из базовых вещей), поддержкать немного больше железа (например второй монитор, если уж полезли в Desktop Experience)
     
     
  • 2.88, псевдонимус (?), 15:39, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А инженеры больше не нужны.  Нехер думать,  трясти надо.
     
  • 2.102, Пахом (?), 15:59, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Короче телефон ближайшие несколько лет лучше не обновлять

    Зачем его вообще обновлять? У меня телефон samsung galaxy s2 которому уже 12 лет, работает отлично. Аккумулятор 2 раза менял только.

     
     
  • 3.117, НяшМяш (ok), 16:23, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Скинь номерок, за 12 лет бэкдоров в наличии больше чем нпм модули весят )
     
  • 3.266, Аноним (266), 10:54, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня Nokia 3310 (две штуки), так же работает отлично.
     

  • 1.105, Аноним (106), 16:10, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    так вот, почему система всё жиреет и жиреет, 2 гига оперативки уже не хватает
     
  • 1.115, Аноним (-), 16:22, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Теперь понятно, почему два гига у них - это старые мобильники.
     
  • 1.122, Аноним (228), 16:33, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Смотрите, как надо манипулировать данными:

    > 21% от добавленного нового компилируемого кода

    А сколько процентов от всего кода?

    > насчитывается примерно 1.5 млн строк кода

    К чему одинокая цифра? Где общее количество строк?

     
     
  • 2.133, Джон Макагонов (?), 17:00, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вот оригинал:

    In Android 13, about 21% of all new native code (C/C++/Rust) is in Rust. There are approximately 1.5 million total lines of Rust code in AOSP across new functionality and components such as Keystore2, the new Ultra-wideband (UWB) stack, DNS-over-HTTP3, Android’s Virtualization framework (AVF), and various other components and their open source dependencies.


    Ясно же пишут,  что статистика касается только нового кода. Дай посчитаю вместо тебя - общий объем нового кода 7.1 млн. строк.

     
     
  • 3.141, Аноним (228), 17:23, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спрашивалось про весь код, а ты опять только про новый... Растаманы не умеют читать?
     
     
  • 4.146, ИмяХ (?), 17:30, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В новости пишут про новый код, а ты опять про весь... Сишники не умеют читать?
     
  • 4.159, псевдонимус (?), 18:06, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Спрашивалось про весь код, а ты опять только про новый... Растаманы не
    > умеют читать?

    Зачем уметь читать,  считать? Можно же высе.. Писать короче.

     
  • 4.241, bOOster (ok), 05:02, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Растаманы не умеют считать... Чего взять с человека уровнем программиста 1С и имеющего какое-нибудь образование, абсолютно далекое от мехмата.
     

  • 1.128, kusb (?), 16:45, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Печаль, учитывая мой страх перед программами на Rust (Хотя против языков, его концепций и новизны в принципе ничего настолько не имею.) Уже писал в теме про Cloudflare, но там это выглядит более опосредованным.
     
  • 1.142, Маняним (?), 17:24, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Раст вместо продумывания безопасной архитектуры в проблемных местах, предлагает пройти квест с проверками компилятора, и тогда, наверное, в вашем коде не будет ошибок с памятью. Большинство растоманов делают это просто - унсейф и уговарвают себя - вот завтра появиться время и я перепишу это место. Результат немного предсказуем. На расте - не значит безопасно.
     
     
  • 2.177, Аноним (161), 19:37, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Большинство растоманов делают это просто - унсейф и уговарвают себя - вот завтра появиться время и я перепишу это место.

    Это ты про себя сейчас? Я таких безалаберных лет 10 уже не встречал.

     
  • 2.360, burjui (ok), 14:09, 25/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это у тебя - "вместо", а нормальные программисты могут и то, и другое. К тому же, они "квест с проверками компилятора" уже давно прошли и просто пишут код, на который компилятор не жалуется, и безо всяких unsafe. В любом ЯП опыт решает. Но опеннетовские ыксперты необучаемы, поэтому для них существует только один вариант - тупо обернуть всё в unsafe, всё равно получить по башке от компилятора и со слезами на глазах и соплями на губах убежать обратно в C и C++ писать свой любимый UB.
     

  • 1.165, keydon (ok), 18:47, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Компания пропагандист (напару с мелкомягкими), вложившаяся в раст рекламирует раст. Каааакая неожиданность.
    Увы, я достаточно давно в ит, чтобы не верить рекламным буклетам. Помнится тот же гугл точно также говорил что "джава безопасна", поэтому мы будем делать андройд именно на джаве, а то что медленно, так "со временем усоврешенствуем jvm и будет быстро как натив".
     
     
  • 2.329, Аноним (329), 21:57, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кто бы мог подумать, что конспирологи даже на опеннете сидят. Читается один в один как отрицатель вакцины или там про боевых голубей в Украине.
     
     
  • 3.339, keydon (ok), 16:43, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Кто бы мог подумать, что конспирологи даже на опеннете сидят. Читается один
    > в один как отрицатель вакцины или там про боевых голубей в
    > Украине.

    Универсальный ответ от универсального бота?

     
  • 2.341, Аноним (341), 17:37, 05/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего страшного! Сила ИТ сообщества в том, что 1) они умные 2) им сложно что-либо продать.
    Именно поэтому гугля тащщит изо всех сил, но Раст как был пылью на обочние, так и остаётся.
    Даже если практически ВЕСЬ ведроид будет на Расте, крайне сложно запихнуть этот же Раст в тысячи контор, которые кроме "костылей на льду" ничего в Расте не видят (и я в том числе).
    Пусть гугл просирает ресурсы: чем глубже враг в тупик, тем дольше ему из него возвращаться. :)
     

  • 1.173, Аноним (-), 19:25, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    За раст! Это язык новой эпохи, в то время как другии языки создаались в года когда ходили мамонты.
    А новое всегда лучше старого! Раст это подтверждает!
     
     
  • 2.186, paulus (ok), 20:42, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что ж ты на квадратных колесах не ездишь?
     
     
  • 3.248, Аноним (248), 08:49, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    что ж ты не прнинимаешь таблетки?
     
     
  • 4.283, Аноним (281), 13:18, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Он за новые таблетки не топил.
     
  • 2.244, Аноним (193), 05:43, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А новое всегда лучше старого! Раст это подтверждает!

    Go новее Rust, значит пора выбросить Rust на свалку.

     

  • 1.175, Аноним (161), 19:32, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Опять в комментариях отрицание реальности уровня опеннет. Опять не то считают, не так считают, и вообще у них там негров линчуют, лучше бы они XYZ вместо этого.
     
  • 1.176, Юрий (??), 19:35, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Хейтеры раста похожи на плоскоземельщиков)
     
     
  • 2.196, Аноним (106), 22:07, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    тоже всегда правы и не поддаются пропаганде шаролюбов?
     
     
  • 3.226, Аноним (297), 02:13, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > тоже всегда правы

    Да, из разряда "Хоть ссы в глаза - Все божья роса"

     
     
  • 4.236, Аноним (228), 03:49, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    In rust we trust! Ой, где-то мы это уже слышали...
     
     
  • 5.292, Аноним (297), 13:57, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да, но приведенная в статье статистика  как раз показывает, что кто-то этой фразой слегка газифицирует лужу, ведь на этот раз trust довольно таки ощутимо оправдывается, хоть и не 100%-ная панацея (серебряной пули всё равно не существует). В том то и win-win.
     

  • 1.179, Аноним (179), 20:01, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Даже немного жаль стало языки С/С+. Пахнуло фортраном,  коболем,  паскалем. История,  музей,  вечная память.
     
     
  • 2.194, Аноним (194), 21:08, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Паскаль живее всех живых. А вот С потихоньку уходит, это да.
     
     
  • 3.219, Старший аноним (?), 00:09, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А сколько в штуках осталось живых программистов на Паскаль?
     
     
  • 4.234, Аноним (228), 03:28, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Посмотри рейтинги языков - Паскаль намного выше раста :)
     
     
  • 5.284, Аноним (281), 13:21, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так и C с C++ выше и Паскаля, и Раста.
     

  • 1.180, Аноним (180), 20:02, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Смешно) они не могут кодовую базу(кроме ядра) запилить на нормальном C++, а лезут растом обмазываться

    Буду ржать как они будут переписывать на ржавого GUI без ООП, вот это будет веселуха в стиле GTK+

     
     
  • 2.184, Igraine (ok), 20:34, 03/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то в android gui на java написан.
    >Смешно) они не могут кодовую базу

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

     
     
  • 3.285, Трианон (ok), 13:31, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так тогда посмотрим, как они жабашный API растовым оборачивать будут. Это будет не менее ржачно.
     
  • 2.237, Аноним (161), 04:13, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > GUI без ООП

    Вот и выросло поколение покалеченных ООП. Без иерархии классов и фабрик даже Hello World на экран вывести не смогут.

     
     
  • 3.286, Трианон (ok), 13:34, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вылезай из криокамеры, первое такое поколение выросло ещё в середине 1990-х.
     
  • 3.289, Аноним (-), 13:47, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот и выросло поколение покалеченных ООП.

    Проснулся. Это поколение уже отмирает, а ты только заметил его существование.

     

  • 1.185, Аноним (185), 20:39, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > кода, небезопасно работающего с памятью

    Почему не написать, например, "напрямую работающего с памятью"? А то как будто сишники только и делают, что сразу лезут к только что освобождённой памяти...

     
     
  • 2.361, burjui (ok), 14:10, 25/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не сразу.
     

  • 1.195, InuYasha (??), 22:02, 03/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Копирасты давят на гугел чтоб меньше возможности рутования было. (
     
     
  • 2.220, Аноним (104), 00:22, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Копирастам это не надо, для них TrustZone есть и давно используется по назначению.
     
     
  • 3.322, Аноним (-), 18:24, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Проверяет загрузчик?
     
     
  • 4.324, Аноним (324), 19:03, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Какой нахрен загрузчик, удаленная аттестация. Не прошёл аттестацию - пенис пользователю, а не фильм, программу или доступ к сайту.
     
  • 2.230, Аноним (228), 03:12, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Именно для этого слили системные сертификаты?
     

  • 1.250, Аноним (-), 08:53, 04/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Вы все неправы!!!!!!
    Карбон на порядок лучше раста!!!!!
    Карбон лучше!
     
     
  • 2.251, Аноним (-), 08:56, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Величие раста неисповедимо! Факты - упрямая вещь!
     
     
  • 3.287, Трианон (ok), 13:36, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Купите чётки 108 шт. Щаще повторяйте эту мантру утром, в обед, вечером по числу чёток.
     
  • 2.321, Аноним (4), 18:17, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В ридми Карбона ясно написано - используйте Rust, если можете
     

  • 1.252, Аноним (252), 09:40, 04/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    https://rustmustdie.com/
     
     
  • 2.256, Аноним (253), 10:20, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Вновь мы наблюдаем привязку языка к стандартной библиотеке, которая в таком случае теряет своё значение как библиотека и становится просто-напросто частью языка — вновь рушатся иллюзии о нулевом рантайме.

    Нкписан бред.

    1. любой язык высокого уровря привязан к его стандартной библиотеке в том или ином месте.
    2. если код с RangeExpr выоптимизируется в код, эквивалентный руками написанному циклу, то это и есть нулевой рантайм.

     
  • 2.257, Аноним (253), 10:26, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Более того, такое поведение, разумеется, приводит к затруднению понимания и генерации кода — вряд ли возможно объяснить начинающему программисту такую конструкцию иначе чем как чистую магию.

    Мне в C++ не хватает питоньих range в стандартной библиотеке.

    Ranges proposal (P0896R4) же во-первых не об этом, а во-вторых глубако отвратительно, ибо завязано на шаблонах и при малейшей ошибке выдаёт гигантскую и непонятную простыню текста. Лучше бы все подобные вещи были интринсиками компилятора, как в расте. Так хотя-бы понятно в чём ошибка (либо у меня, либо в компиляторе).

     
  • 2.258, Аноним (253), 10:28, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >замечу только, что знакомая программистам на Си тернарная операция тут мимикрирует под обычный условный оператор, чем провоцирует ещё более частое её использование.

    Что значит "мимикрирует"? Это условный оператор мимикрирует под тернарное выражение.

     
  • 2.259, Аноним (253), 10:30, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Ещё одна особенность базового синтаксиса: объявления верхнего уровня в Rust могут идти в любом порядке, то есть мы можем использовать функцию, определённую позже в коде программы. Это требует многопроходности, а с учётом обильного использования макросов и статического анализа делает процесс компиляции неожиданно медленным

    Согласен.

     
  • 2.260, Аноним (253), 10:35, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Также unsafe-блоки часто используются, даже когда строгой необходимости в них нет, а так просто удобней.

    Верно.


    >Итак, вместо того, чтобы сделать хороший язык программирования, разработчики Rust дают невероятно неудобную модель

    они делают удобную модель. Для своего компилятора. А не для программиста, которому надо программу писать абы-как и пофиг на уязвимости. Когда на уязвимости не пофиг, модель внезапно становится удобной, просто потому что альтернативной модели и альтернативного языка попросту нет. Carbon и Hare пока в расчёт не берём.


    >из которой все в итоге сбегают в мир полного хаоса

    который однако меньший хаос, чем у сишников и плбсовиков.

     
  • 2.261, Аноним (253), 10:37, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Во имя безопасности и принципов Rust делает программирование на себе решительно невозможным.

    Кто хочет делать - тот делает. Кто не хочет - тот рассказыыает о невозможности, пока другие делают.

     
  • 2.262, Аноним (253), 10:38, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Прежде всего он ставит своей задачей наказание за написание недостойного (по мнению его создателей) кода, а не поощрение за написание хорошего кода.

    Кнутом, наверное.

     
  • 2.263, Аноним (253), 10:45, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Но при выходе из функции заимствование теряется, его нельзя никуда сохранить или даже вернуть.

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

     
  • 2.264, Аноним (253), 10:47, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >По сути, время жизни — это хак, внутренняя кухня компилятора, к которой программисту дали доступ в тот момент, когда разработчики языка поняли, что писать на предложенной ими модели невозможно.

    Верно. Но людям надо дела делать, а не о невозможности выть.

     
  • 2.265, Аноним (253), 10:52, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Легко узнать в этих ограничениях задачу о читателях и писателях, и вновь видна помешанность разработчиков языка на параллелизме. В последовательных программах всё это не имеет смысла и только запутывает.

    Последовательные программы всё. На 8ядерных процессорах ты откажешься от ≈8-кратного ускорения? Ну тогда твою программу выкинут на свалку и возьмут ту, где авторы не поленились распараллелить.

    Но для параллелизма приходится модифицировать весь язык.

    >В последовательных программах всё это не имеет смысла и только запутывает.

    Ещё бывает use-after-free. А освобождение может быть в том числе при присваивании - сборщика мусора у Rust нет и не будет.

     
  • 2.267, Аноним (253), 10:57, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >но в Rust есть и весьма распространён сборщик мусора

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

    Ты ещё скажи, что std::shared_ptr - это "сборщик мусора".

     
  • 2.268, Аноним (253), 11:04, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Отметим, что макросы Rust подобны таковым из Лиспа в том, что изменяют само синтаксическое дерево, представляющее программу в компиляторе; при этом, в отличие от макросов языка Лисп, макросы Rust пишутся на ином, отличном от базового языке — поэтому для их написания надо изучить по сути ещё один язык вдобавок к базовому языку Rust.

    Макросы раста - это то, что не хватает сишке. Будем честны - сишный препроцессор - говно, и результат такого препроцессора - очень трудно отлаживаемые баги. Потому что ты пишешь одно, а оказывается в жопе мира где-то объявлем макрос, который твоё одно преобразует в другое, не уважая границы выражений и операций. И только clang++ -E выручает, хотя он и выдаёт гигантскую отвратительную простыню.

     
  • 2.269, Аноним (253), 11:07, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >монстр, но ещё страшней его сообщество.
    >Сообщество Rust — это мир фанатиков.

    Полностью согласен.

     
  • 2.270, Аноним (253), 11:12, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Подводя итоги: не зря Mozilla сократила команду, работавшую над Rust.

    Команда разработки Rust была выкинута в отдельную организацию именно потому, что язык начали использовать в своих флагманских продуктах Google (о чём и новость), Microsoft и запрещённая в РФ Meta. Было бы справедливо, если бы эти организации оплачивали разработку языка, а не только Mozilla.

     
  • 2.272, Аноним (253), 11:14, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Далее будут приведены варианты одной и той же программы на Rust с комментарием о примерном количестве получаемых строк ассемблера в скомпилированном машинном коде.

    Какой уровень оптимизации?

     
     
  • 3.328, Аноним (345), 19:43, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Естественно, дебагсборка Забей, тут уже не раз разбирали этот выс W источник му... большой текст свёрнут, показать
     
     
  • 4.350, Someone (??), 05:25, 06/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну у меня например везде есть debug_assert и другие подобные проверки. Их полно и в стандартной библиотеке и в других библиотеках.

    Не удивительно что debug версия ну очень тормознутая :-))

     
  • 2.277, Аноним (277), 12:05, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > https://rustmustdie.com/

    Зачем эта портянка от студента-двоечника?
    Разбор ахинеи в https://habr.com/ru/post/598219/

     
     
  • 3.279, Аноним (279), 12:20, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Какая замечательная статья! Это всё должно быть частью rustanomicon!
     
  • 3.308, Аноним (297), 16:42, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Самое замечательное оттуда:

    "Но на примере опровержения одного лишь пункта про zero runtime мы видим, как просто набрасывать неправду, и как затратно её опровергать"

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

     

  • 1.280, Аноним (280), 12:34, 04/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    все отмеченные уязвимости в коде на C C , в коде на Rust подобных проблем пока... большой текст свёрнут, показать
     
     
  • 2.288, Анони Карбайкл (?), 13:39, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Блестящий месседж! Хоть и раст тут оказался просто жертвой обстоятельств, но общая картина этих самых обстоятельств Вами описана замечательно! Так и есть. Общая культура программирования, взаимосвязь с точными науками резко упали. В начале 90-x прошлого века windows занимала 8-10 мб опер. памяти. Целая ОС! Способно ли современное поколение на такие подвиги? Большой вопрос.
     
     
  • 3.290, Аноним (45), 13:49, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Линукс-6 около 30мб оперативки. Целая ОС. А умеет не в пример больше.
     
  • 2.295, Аноним (297), 14:17, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что фактически значит, что раньше писали, хоть и на С, но более аккуратно, а потом стали писать хреновей, поэтому понадобился Rust... Что по факту значит только то, что новоиспечённые войти-в-ойтишники просто безалаберные

    Неверный вывод. Это только означает, что старый код проработал бОльшее время и за это бОльшее время основные или очевидные ошибки (не все!) были устранены, код был относительно вылизан. В свежем новом коде изначально столько же ошибок, сколько изначально было в ныне старом коде, но со временем и в нем наиболее частые и явные ошибки устранят и этот новый код станет "безошибочным старым, который во как чОтко старики писАли, не то что нынешние макаки!".

     
     
  • 3.311, Аноним (280), 17:08, 04/12/2022 Скрыто модератором
  • –1 +/
     
     
  • 4.313, Аноним (280), 17:18, 04/12/2022 Скрыто модератором
  • +/
     
     
  • 5.314, Анонимъ (?), 17:21, 04/12/2022 Скрыто модератором
  • –1 +/
     

     ....ответы скрыты модератором (6)

  • 1.294, Аноним (294), 14:14, 04/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А мне наконец удалось пропатчить Android-x86 достаточно, чтобы воспроизвести их оффициальный образ. Месяц наверное провозился. Целью было 11й собрать, который пока не зарелизен и фиг знает, когда будет. Я виндузятник, а потому не люблю муторно по 100500 раз воспроизводить одни и те же действия по инструкции. А потому я написал скриптик, который все собирает одним махом. А зачем нам вообще нужны скрипты, если не для этого? Можно запустить и пойти погулять.
     
     
  • 2.332, Аноним (-), 23:41, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Молодец.
     
     
  • 3.333, Аноним (-), 23:51, 04/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя то, что виндузятник не молодец. Переходь на что-то более и пиши уже скрипты там.
     

  • 1.336, Янис (?), 10:04, 05/12/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Думающим ясно, для чего продвигается Раст. Это - контроль программистов, это - бизнес для производителей оборудования (ведь не зря экзешники раста весят столько, словно там не одна, а десятки программ в этом экзешнике) и.т.д. Вот и вся песня. Остальное - лирика.
     
     
  • 2.365, freecoder (ok), 11:33, 26/01/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Контроль программистов от установки бэкдоров?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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