The OpenNET Project / Index page

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

Выпуск языка программирования Rust 1.74. Аудит RustVMM. Переписывание Binder на Rust

17.11.2023 12:34

Опубликован релиз языка программирования общего назначения Rust 1.74, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.

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

Основные новшества:

  • Добавлена возможность настройки lint-проверок через файл Cargo.toml с манифестом пакетного менеджера. Для определения настроек lint, таких как уровень реагирования (forbid, deny, warn, allow), предложены новые секции "[lints]" и "[workspace.lints]", изменение которых учитывается при принятии решения о пересборке. Например, вместо указания при сборке флагов "-F", "-D", "-W" и "-A" или добавления в код атрибутов "#![forbid(unsafe_code)]" и "#![deny(clippy::enum_glob_use)]" теперь можно использовать в манифесте Cargo:
    
       [lints.rust]
       unsafe_code = "forbid"
    
       [lints.clippy]
       enum_glob_use = "deny"
    
  • В пакетный менеджер Cargo добавлена возможность аутентификации при подключении к репозиторию. В базовую поставку включена поддержка размещения параметров аутентификации в хранилищах учётных данных Linux (на базе libsecret), macOS (Keychain) и Windows (Windows Credential Manager), но система изначально сделана модульной и позволяет организовать работу с различными провайдерами для хранения и генерации токенов, например, подготовлен плагин для использования менеджера паролей 1Password. Аутентификация может запрашиваться репозиторием для любых операций, а не только для подтверждения публикации пакетов.
    
       ~/.cargo/config.toml
       [registry]
       global-credential-providers = ["cargo:token", "cargo:libsecret"]
    
  • Стабилизирована поддержка проекций возвращаемых типов (impl_trait_projections), позволяющая упоминать Self и T::Assoc в возвращаемых типах, таких как "async fn" и "-> impl Trait".
    
       struct Wrapper<'a, T>(&'a T);
    
       // Opaque return types that mention `Self`:
       impl Wrapper<'_, ()> {
           async fn async_fn() -> Self { /* ... */ }
           fn impl_trait() -> impl Iterator { /* ... */ }
       }
    
       trait Trait<'a> {
           type Assoc;
           fn new() -> Self::Assoc;
       }
       impl Trait<'_> for () {
           type Assoc = ();
           fn new() {}
       }
    
       // Opaque return types that mention an associated type:
       impl<'a, T: Trait<'a>> Wrapper<'a, T> {
           async fn mk_assoc() -> T::Assoc { /* ... */ }
           fn a_few_assocs() -> impl Iterator<Item = T::Assoc> { /* ... */     }
       }
    
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Признак "const", определяющий возможность использования в любом контексте вместо констант, применён в функциях:
  • В компиляторе, инструментарии, стандартной библиотеке и генерируемых исполняемых файлах приложений повышены требования к платформам Apple: для работы теперь требуются как минимум версии macOS 10.12 Sierra, iOS 10 и tvOS 10, выпущенные в 2016 году.
  • Реализован третий уровень поддержки для платформы i686-pc-windows-gnullvm. Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.
  • Реализован второй уровень поддержки целевой платформы loongarch64-unknown-none. Второй уровень поддержки подразумевает гарантию сборки.

Дополнительно можно отметить два события, связанных с языком Rust:

  • Фонд OSTIF (Open Source Technology Improvement Fund), созданный с целью усиления защищённости открытых проектов, опубликовал результаты аудита проекта RustVMM, предоставляющего компоненты для создания специфичных для определённых задач гипервизоров и мониторов виртуальных машин (VMM). В разработке проекта участвуют такие компании, как Intel, Alibaba, Amazon, Google, Linaro и Red Hat. На базе RustVMM развиваются гипервизоры Intel Cloud Hypervisor и Dragonball. Аудит подтвердил высокое качество кодовой базы и использование в архитектуре и реализации приёмов, нацеленных на достижение максимальной безопасности. В ходе аудита было выявлено 6 проблем, не имеющих прямого влияния на безопасность.
  • Компания Google представила в списке рассылки разработчиков ядра Linux новую реализацию механизма межпроцессного взаимодействия Binder, переписанную на языке Rust. Переработка выполнена в рамках проекта по усилению защищённости, продвижению приёмов безопасного программирования и повышению эффективности выявления проблем при работе с памятью в Android (около 70% из всех опасных уязвимостей, выявленных в Android, вызваны ошибками при работе с памятью). Реализация Binder на Rust достигла паритета в функциональности с изначальным вариантом на языке Си, проходит все тесты AOSP (Android Open-Source Project) и может использоваться для создания рабочих редакций прошивок. Производительность обеих реализаций находится примерно на одном уровне (отклонения в пределах -1.96% и +1.38%).


  1. Главная ссылка к новости (https://blog.rust-lang.org/202...)
  2. OpenNews: В ночных сборках Rust расширены возможности распараллеливания компиляции
  3. OpenNews: Открытие кода Rust-компилятора Ferrocene
  4. OpenNews: Проект NGINX опубликовал инструментарий для разработки модулей на языке Rust
  5. OpenNews: Google переписал на языке Rust прошивку pvmfm, используемую в Android
  6. OpenNews: Выпуск языка программирования Rust 1.73
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60133-rust
Ключевые слова: rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (205) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, Аноним (4), 13:08, 17/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Победоносное шествие безопасного раста по ядру уже не остановить.
     
     
  • 2.47, Аноним (47), 15:53, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Победоносное шествие безопасного раста по ядру уже не остановить.

    пока он сбоку валяется я не заинтересован в нём, но вы не останавливайтесь

     
     
  • 3.49, Аноним (49), 15:55, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Прости анон, но всем глубоко пофиг на твою незаинтересованность.
     
     
  • 4.52, Аноним (47), 16:01, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Прости анон, но всем глубоко пофиг на твою незаинтересованность.

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

     
     
  • 5.54, Аноним (49), 16:05, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А потом 30 лет будешь исправлять баги?
    Как в том жутком выпрограмише X.Org ?
     
     
  • 6.58, Аноним (47), 16:21, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > А потом 30 лет будешь исправлять баги?

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

     
  • 6.95, Аноним (95), 17:08, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Буду 30 лет исправлять растобаги, когда маркетологи перестанут форсить эту поделку, а разработчики поймут что проблем он доставляет больше чем решает.
     
     
  • 7.141, Прохожий (??), 20:04, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >а разработчики поймут что проблем он доставляет больше чем решает.

    Так разработчики уже всё поняли. И продолжают заниматься делом, тогда как ты протираешь штаны на форуме. Подозреваю, и через 30 лет будет всё то же самое. Потому что на большее ты вряд ли способен.

    > маркетологи перестанут форсить эту поделку

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

     
  • 6.143, Аноним (143), 20:14, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Будем ждать 30 лет правильный вялый(чтоб догнать X11), а потом не дождавшись увидим перписывание на хруст, но только реализуют, хорошо если половину и забросят, т.к. дальше unsafe и сложно(как и остальные переписывания чего-то на раст)
     
  • 5.142, Прохожий (??), 20:12, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > пока раст сбоку всем на него пофиг

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

     
     
  • 6.175, Аноним (47), 01:38, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Rust в итоге существенно удешевляет и разработку, и последующую эксплуатацию ПО

    так я же не против - напишут биндинги и примеры и я начну упрощать себе жизнь а бежать впереди паровоза себе дороже

     
  • 5.163, Аноним (163), 23:51, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > пока раст сбоку всем на него пофиг

    Нелогичный анон. Наверное не пофиг тем, кто предлагает новые поделки на расте всунуть в ядро. Они тоже входят в группу "все". По логике. Или все - это только ты со своим начальником?

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

     
  • 4.148, YetAnotherOnanym (ok), 22:26, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Прости анон, но всем глубоко пофиг на твою незаинтересованность.

    Судя по твоей горячности, тебе _очень_ не пофиг на незаинтересованность этого анона.

     
     
  • 5.189, Прохожий (??), 03:38, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это вполне могла быть просто констатация факта. Но ты, конечно, можешь продолжать пытаться натянуть сову на глобус.
     
  • 5.198, Аноним (198), 04:46, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Совершенно не печет что на Раст всем плевать и рост его популярности сменяется падением.
     
     
  • 6.268, Прохожий (??), 23:46, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И когда местные эксперты отучатся говорить за всех? Во-первых, популярность Rust растёт. Во-вторых, очень много людей заинтересованы в его освоении, судя по опросам на StackOverflow.
     
  • 3.53, Анонимусссс (?), 16:04, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Лол, типа твое мнение кого-то парит.
    Добавят его в ядро вот и будешь использовать, или сидеть на старом.
    Wait oh shi...! Так это уже (°ロ°)☝

    В общем кушай что дали, и не обляпайся)

     
     
  • 4.233, Аноним (233), 11:28, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Добавят его в ядро вот и будешь использовать

    Так уже ж добавили в ядро, не? Выходит опять растоманы всех обманули. Надули!
    Алсо ядро модульное и с легкостью отключается то, что тебе не нужно, то есть весь экспериментальный мусор на Расте.

     
  • 2.122, Аноним (122), 18:57, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Напишите свое ведро, что в наше лезете.
     
     
  • 3.144, Прохожий (??), 20:14, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Почему это оно "ваше"? За это ядро платили корпорации. Кто девушку кормит, тот её и танцует.
     
     
  • 4.218, Аноним (233), 05:59, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Девушку кормят бесплатные разработчики на Си а не подачки от спонсоров, и уж конечно не проповедники Раста на опеннете.
     
  • 2.179, Ivan_83 (ok), 01:52, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Раст как рыба прилипала - так и норовят прилипнуть к любому нужному и успешному проекту :)
    А по сути действуют как паразит поражая и убивая носителя.
     
     
  • 3.190, Прохожий (??), 03:40, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Покажешь, где валяются горы убитых Растом проектов? Или как обычно тебе надо было что-то ляпнуть, вот и ляпнул?
     
     
  • 4.204, Аноним (198), 05:00, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Покажешь, где находятся горы успешных проектов, переписанных на Раст? Или как обычно тебе надо было что-то ляпнуть, вот и ляпнул?
     
     
  • 5.281, Xasd7 (?), 21:02, 19/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    нужно гуглить по скоплению слов unwrap 😂😂😂
     
  • 3.193, space (?), 04:16, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен и даже больше могу сказать, с++ как паразит-прилипала прилип к с и все тоже делает как Rust :)
    Хотите скорость и меньший жор электричества в дата-центрах - пишите на "с", а с++ и раст в топку для всеобщего развития.
     
     
  • 4.195, Прохожий (??), 04:26, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Хотите скорость

    В следующий раз попробуй сначала дочитать новость до конца, а потом уже строчи свои комментарии. На этот раз подскажу. Разницы в скорости нет.

     
     
  • 5.197, space (?), 04:44, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Согласен, между с++ и раст - нет разницы в скорости.
     
     
  • 6.217, Аноним (233), 05:50, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Более того и синтаксис у обоих одинаково отвратительный.
     
  • 4.229, Анонин (?), 10:45, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Угу, а потом ваш сервак ляжет из-за того что лучший погромист на божественной забыл проверить размер буфера при обработке пакета.
     
     
  • 5.249, Ivan_83 (ok), 18:57, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Поправят и перезапустят, ничо страшного.
     
     
  • 6.289, Аноним (289), 13:09, 20/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Поправят и перезапустят

    И так - 30 лет. А потом они решат, что хватит и начнуть писать ойвэйланд.

     
  • 6.290, Аноним (290), 11:35, 21/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего страшного, сказал погромист криптобиржи с которой увели мегатонный крипты. Но когда в дверь к нему постучали, он только плакал и обещал все исправить патчем...
     
  • 5.263, space (?), 22:49, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Угу, а потом ваш сервак ляжет из-за того что лучший погромист на
    > божественной забыл проверить размер буфера при обработке пакета.

    Погромист на то и погромист, что бы сервак упал, когда он будет без мозгов писать код в безопасном и на безопасном языке. (Ты защиту от комаров взял - взял, а от укуса змии взял - взял, а от крокодила взял - взял, а от удара молнии - unsafe, а от деградации мозгов - fatal error ++).

    Программисты же сперва думают, решают задачу, пишут код, производят тесты, запрашивают сторонний аудит, делают своевременные backup, резервируют на замену быстрого старта другой дежурный сервер, и т.д.


     
     
  • 6.291, Аноним (290), 11:46, 21/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Из всего вышеперечисленного нормальные программисты лишь пишут код иногда задумываясь как. А эникейщики - те  еще программисты.
     
  • 3.205, Аноним (198), 05:03, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Раст как рыба прилипала - так и норовят прилипнуть к любому нужному и успешному проекту :)
    >А по сути действуют как паразит поражая и убивая носителя.

    К счастью, у большинства руководителей проектов все же хватает ума не обращать внимания на фанатиков Раста, скачущих вокруг и потрясяющих своими хеллоуворлдами.

     
  • 2.236, InuYasha (??), 14:30, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну вот! Пишете о ЯП, а в строке сообщения уже первые два байта - лишние.
     

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

  • 1.6, Аноним (6), 13:09, 17/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    У Rust Foundation как и у другого независимого Foundation тоже мелкософт в списке платиновых донатеров?
     
     
  • 2.7, Аноним (4), 13:12, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    а что, у микрософта какие-то другие доллары? так-то микрософт - лучший друг опенсорса. Не при баллмере конечно, а при нынешнем вполне разумном руководстве.
     
     
  • 3.27, Аноним324 (ok), 14:29, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Точнее корпорации лучшие друзья опенсорса, ведь именно они его используют для сдерживания конкурентов, пилят, пишут, оплачивают.
     
  • 3.46, Аноним (46), 15:51, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Местным экспертам обязательно нужно чтобы проекты брали деньги из воздуха. Или от добровольцев (2$ за месяц).
     
     
  • 4.60, фнон (?), 16:22, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Или по заветам комуняки Столмана - получать деньги налогоплатильщиков от государства!
    Ну или от производителей железа (привет "налог на болванки")
     
  • 3.96, Аноним (95), 17:11, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С такими друзьями и враги не нужны.
     
  • 2.17, Аноним (17), 13:26, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +12 +/
    И в каком месте они НЕзависиимые? Раз зависят от бабла копрорастов.
     
     
  • 3.22, voiceofreason (?), 14:02, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну оплачивай сам вместо мелкософта, какие проблемы? Бесплатно писать неинтересное никто не хочет, бесплатно вылизывать тяжёлые сложные системы - тем более.
     
  • 3.23, НяшМяш (ok), 14:04, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А кто сейчас не зависит?
     
  • 3.191, Прохожий (??), 03:44, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Давай я открою тебе глаза на реальность. Люди - существа социальные. А это, в свою очередь, подразумевает наличие завимости одних членов общества от других. Другими словами, в этом мире нет независимых людей.
     
  • 2.56, Аноним (56), 16:19, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > У Rust Foundation как и у другого независимого Foundation тоже мелкософт в списке платиновых донатеров?

    Да, как и у самого Linux Foundation. Или ты думал твой Linux святым духом питается?

    https://www.linuxfoundation.org/about/members

     
     
  • 3.132, Аноним (6), 19:20, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Платиновые донатеры как на подбор
     

  • 1.8, Аноним (-), 13:13, 17/11/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +4 +/
     

     ....ответы скрыты (5)

  • 1.9, C00l_ni66a (ok), 13:13, 17/11/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.11, Аноним (11), 13:17, 17/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >В пакетный менеджер Crate добавлена возможность аутентификации при подключении к репозиторию

    Хотите сказать, что раньше её не было?!

     
  • 1.12, Аноним (17), 13:17, 17/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    > runtime сводится к базовой инициализации и сопровождению стандартной библиотеки

    Но он все таки есть. Причем поверх сишного 🌚

     
     
  • 2.30, warlock66613 (ok), 14:37, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Причем поверх сишного

    И как же я интересно для DOS на нём пишу, где никакого libc не водится?

     
     
  • 3.33, Брат Анон (ok), 14:43, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Строго говоря на хрусте ты не обязан рантаймом пользоваться.
     
  • 3.37, Анонист (?), 14:58, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В досе у тебя статически все линкуется в бинарник. И бинарнмки эти довольно жирные даже по сравнению с бинарниками выдаваемыми паскалем.
     
     
  • 4.102, warlock66613 (ok), 17:31, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В досе у тебя статически все линкуется в бинарник. И бинарнмки эти
    > довольно жирные даже по сравнению с бинарниками выдаваемыми паскалем.

    Что слинкуется-то? libc для DOS, которой у меня нет? А размер такой же, как в Си.

     
  • 2.38, Анонин (?), 15:11, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Причем поверх сишного

    Это пока))

     
     
  • 3.206, Аноним (198), 05:05, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С этим "пока" тебе еще долго существовать, терпи ))
     
  • 2.42, НяшМяш (ok), 15:29, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Двух сишных - glibc и musl. Только ими не обязательно пользоваться - есть режим no_std.
     
     
  • 3.43, Аноним (49), 15:38, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так фанатики о нем не знают)
    Они, думаю, даже доку не читали, так просто выпукивают свои фантазии про Раст без каких либо пруфов.

    Кстати musl это отличный пример, это реализация libc, которую переписали полностью, да еще ина человеческую лицензию.
    Думаю рано или поздно дойдут руки сделать вариант на раст.

     
     
  • 4.51, Аноним (51), 15:58, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >переписали

    И получили то, что получили, лол. В 3 раза медленнее (но не по табличке на сайте, конечно), в 100 раз глючнее, и абсолютно непредсказуемое.

    Да и это ржавофаги умеют только переписывать (криво), а тут скорее альтернативная реализация без оглядок на конкурентов. Просто потому, что есть стандарты. Это то, чего у ржавчины нет.

     
     
  • 5.57, Аноним (49), 16:20, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Стандарты как в СИ?
    В виде
    "Каша готовится из крупы, может содержать добавки.
    Добавки у нас неопределены, и в зависимости от реализации и желания левой пятки повара могут быть в виде мяса или говна". ?

    Не спасибо, такой стандарт нам не нужен)
    Уже насмотрелись на дыряшный код и уязвимости которым по 30 лет.

     
     
  • 6.62, Аноним (51), 16:28, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну правильно, технологии дедов. Зато посмотри, сколько реализаций, и все совместимые в значительной мере.
     
     
  • 7.71, Советский инженер (ok), 16:37, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://en.cppreference.com/w/c/99

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

     
     
  • 8.77, Аноним (51), 16:40, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это не мешает один и тот же код собирать и для андроида и для венды с десятком ... текст свёрнут, показать
     
     
  • 9.80, Советский инженер (ok), 16:44, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    да, если это hello world ... текст свёрнут, показать
     
     
  • 10.105, Аноним (51), 17:39, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если это что угодно Когда код делает одно и то же, не имеет значения, как он эт... текст свёрнут, показать
     
     
  • 11.109, Советский инженер (ok), 18:07, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    угу, если хорошо обложиться IFDEF-ами, то да, код становиться кросскомпиляторны... текст свёрнут, показать
     
  • 7.79, Аноним (49), 16:43, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    хахаха! надеюсь ты это не серьезно)
    давай глянем на плюсы
    https://en.cppreference.com/w/cpp/compiler_support/20
    ни один из компиляторов не поддерживает стандарт полностью. А уже почти 24 год на носу.
    Про 23 стандарт можно вообще не заикаться.

    Или какой открытый компилятор который полностью реализует С17?
    А ни какой! Ни GCC, ни CLANG не реализуют его полностью.
    Есть Acorn, AMD OCC, Edison Design, IAR C которые поддерживают. Но они все проприетарные.
    А мы ведь на сайте OPENnet, а не ПРОПРИЕТАРЬnet.

    Так что стандарт что для плюсов, что для дыряшки - это бесполезная макулатура.

     
     
  • 8.83, Советский инженер (ok), 16:46, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    C17 не так быстро дай дедам еще лет 30 на C99 129315 ... текст свёрнут, показать
     
     
  • 9.100, Серб (ok), 17:23, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С чего вдруг поддержка стандарта должна быть полностью Сам стандарт предусматри... текст свёрнут, показать
     
     
  • 10.106, Советский инженер (ok), 17:41, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    да вот действительно с чего бы а смысл тогда в стандарте, если и сам стандарт н... текст свёрнут, показать
     
     
  • 11.145, Аноним (145), 20:49, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Очевидно смысл в том, что разработчик сам принимает решение об использовании нов... текст свёрнут, показать
     
     
  • 12.146, Аноним (145), 20:50, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ах да Я же забыл В расте так не умеют И делают вид, что такой вариант использ... текст свёрнут, показать
     
  • 12.166, Аноним (166), 00:41, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Каждый разработчик принимает решение 8230 128514 128514 128514 Иными сл... текст свёрнут, показать
     
     
  • 13.167, Аноним (145), 00:53, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И там компилятор И там компиляторы - но, как в анекдоте, есть ньюанс У сишнико... текст свёрнут, показать
     
     
  • 14.183, Аноним (183), 02:42, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Анекдот выходит всегда когда сишник про свой дырявый стандарт заливать начинает ... текст свёрнут, показать
     
     
  • 15.234, Аноним (145), 11:46, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какая альтернативная логика в твоем высказывании Ты большой оригинал ... текст свёрнут, показать
     
  • 15.235, Аноним (145), 11:53, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Из твоего высказывания получается что каждый раз, когда когда сишник говорит про... текст свёрнут, показать
     
  • 2.153, Аноним (153), 22:59, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> runtime сводится к базовой инициализации и сопровождению стандартной библиотеки
    > Но он все таки есть. Причем поверх сишного 🌚

    Неа, ты сейчас таки просто "опеннетно-экпердно" эт-самое в лужу,
    https://github.com/rust-lang/rust/blob/bb4d1491466d8239a7a5fd68bd605e3276e97af
    Заодно и показав "уровень" местных Военов Супротив Раста.

     

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

  • 1.39, Аноним (49), 15:15, 17/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Аудит подтвердил высокое качество кодовое базы и использование в архитектуре и реализации приёмов, нацеленных на достижение максимальной безопасности.

    Ну кто бы сомневался, это же не на дыряшке писать по заветам дидов.
    С помощью локомотивов опенсорса - Гугл и Майкрософт, думаю он заменит Си при написании нового кода уже до конца десятилетия.
    Ну еще попутно перепишут самые дырявые, но ответственные приложения.

     
     
  • 2.40, Анонист (?), 15:24, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тут спасибо нейросетям надо говорить. Прогоняя и оптимизируя через нее, можно получить офигенный код. Мы с коллегой провели эксперимент, написали простое приложение вручную, сначала честно без нейросетей, потом с помощью нейросети. Разница просто невероятная в плане качества кода и его структуры.
     
     
  • 3.48, Аноним (49), 15:55, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Выглядит как сообщение написанное нейросетью))
     
  • 3.55, Аноним (51), 16:15, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нейросети непредсказуемые. Заложенные баги все дружно проглядят. И они там будут, потому что сетки в принципе не осознают, что делают, и зачем. Другое дело, когда они являются ассистентом, избавляющим от необходимости копипастить вручную (практика, приводящая всё к тем эе багам). Конечно, это ускоряет создание, но толку.
     
  • 3.99, Аноним (95), 17:21, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ага, мне коллега присылал этот код. Он во-первых не работает. Во-вторых не по нашим гайдлайнам (логично, сеть то о них ничего не знает), а в четвёртых небезопасный.
     
  • 3.157, _kp (ok), 23:20, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Без примера кода, есть основания полагать, что сами написали излишне плохо.
    Конечно исключения возможны, когда пусть и не шедевральный, но вменяемый код можно сильно заулучшать. Но, упоминание о невероятном качестве настораживает.
     
  • 3.214, Аноним (198), 05:32, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Тут спасибо нейросетям надо говорить. Прогоняя и оптимизируя через нее, можно получить офигенный код.

    Крутая идея. Это буквально означает вторую жизнь для Си и никакого Раста не нужно в принципе. Все баги и уязвимости просто фиксит нейросеть, вот и решение всех проблем.

     
  • 3.288, BeLord (ok), 09:38, 20/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Угу, я скормил код одного нашего корпоративного решения на Java, попросил оптимизировать, нейронка подумала и переписала все на хрен на С++, кстати красиво переписала-))))
     

  • 1.45, Пряник (?), 15:46, 17/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужно преобразование кода в ассемблер, как в Си/Си++. Иначе непонятно, как там всё работает. Вот в Си понятно: функция - это метка ассемблера, поэтому будь добр сначала хотя бы обьявить её в коде, чтобы метка попала в таблицу меток ELF файла и компоновщик ld увидел её и заменил на реальный адрес во всех файлах.
     
     
  • 2.50, Анонин (?), 15:58, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Э... ну как бы это уже есть
    cargo rustc --release -- --emit asm
    и смотри на ассемблерный код
     
     
  • 3.78, Пряник (?), 16:42, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    rustc --emit asm test1.rs

    Ужас, сколько кода нужно для обычного Hello World!

     
     
  • 4.85, Аноним (49), 16:49, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Надеюсь ты не в дебаге смотришь?
    А то есть тут особо одуренные...

    500 байт хелло ворд весит

    $ cat hello.rs
    #![no_std]
    #![no_main]
    use core::panic::PanicInfo;
    use syscall::syscall;

    #[panic_handler]
    fn panic(_info: &PanicInfo) -> ! { loop {} }

    #[no_mangle]
    pub extern fn _start() -> ! {
        let message = "Hello World\n".as_bytes();
        unsafe {
            syscall!(WRITE, 0, message.as_ptr(), message.len());
            syscall!(EXIT,0);
        }
        loop {}
    }

     
     
  • 5.111, Аноним (111), 18:13, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Капец сколько бойлерплейта
     
     
  • 6.117, Аноним (49), 18:48, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Неужели тебе строчек кода жалко)?
    Все равно лучше чем в дыряшке код вида
      *((char*)0)=null
    или
      printf("%d", *((char*)ptr+4));
     
     
  • 7.159, _kp (ok), 23:23, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Оба примера- го́вноко́д, за который на работе получили бы по затылку.
     
  • 6.161, Аноним (161), 23:29, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    это оптимизации)
     
  • 5.126, Аноним (122), 19:06, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А ты можешь не дёргать сисколы, а честно вызывать функции и чтоб так же 500 байт было?

    Так-то и я на Си могу сисколами в 500 байт уложиться, а на асме и того меньше.

     
     
  • 6.287, Аноним (153), 01:31, 20/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, ну да CODE Disassembly of section text 00000000004000b0 text 4... большой текст свёрнут, показать
     
     
  • 7.295, fidoman (ok), 00:56, 24/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это не hello world, это hello i'm heater
    hello world должен штатно завершаться, а не требовать срубить его киллом или через таск менеджер.
     
     
  • 8.296, ХрюХрю (?), 14:26, 24/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    include stdio h struct int printf const char format, fmt pr... текст свёрнут, показать
     
  • 5.131, Аноним (122), 19:13, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Hello world с unsafe, серьёзно?
     
     
  • 6.270, Прохожий (??), 23:55, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А как ещё дёргать системные вызовы? Это не то, за что компилятор может отвечать.

    Код выше просто для демонстрации того, что результирующий бинарник может быть вполне себе малюсеньким. Более каноничный Hello world куда проще, но и бинарник весить будет больше.

     
  • 5.133, Аноним (6), 19:24, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С таким убогим синтаксисом он всегда будет местечковым язычком. Что печально, со своей концепцией он мог занять ниши от системного, до серверного программирования. Но сейчас проще брать жс, писать на нем фронт, бэк, электрон, и реакт натив. Потому что бойлерплейта как в питоне, а не как в расте.
     
  • 5.138, Аноним (122), 19:36, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Можно вопрос? Зачем loop {} в конце?
     
     
  • 6.160, _kp (ok), 23:27, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Что бы безопасно зависнуть при ошибке хелловорда.
     
     
  • 7.184, Аноним (122), 02:43, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Там у него unsafe в хеллоуин уорлде, безопасностью тут даже не пахнет
     
     
  • 8.237, freecoder (ok), 14:47, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Unsafe говорит не об отсутствии безопасности, а о том, что обеспечение безопасно... текст свёрнут, показать
     
     
  • 9.242, Аноним (122), 16:03, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да я понял Это безопасность кого надо безопасность Не то что в Си ... текст свёрнут, показать
     
  • 9.279, _kp (ok), 20:37, 19/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В двух местах по тупому завесить процесс при ошибке Не велика ответственность ... текст свёрнут, показать
     
     
  • 10.286, Аноним (153), 01:19, 20/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не велика заслуга, требовать написать полноценный паник-хендлер учитывающий нев... большой текст свёрнут, показать
     
  • 6.165, warlock66613 (ok), 00:22, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Можно вопрос? Зачем loop {} в конце?

    Это на случай если exit не сработает как должен.

     
  • 5.178, Аноним (178), 01:47, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Хм... а на Википедии хелловорлд на расте по-другому выглядит. Можете заменить нынешний пример вашим здесь: https://en.m.wikipedia.org/wiki/Rust_(programming_language)#Hello_World_progra ?
     
     
  • 6.228, Аноним (51), 10:21, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Там врут опять, вот каноничный привет мир на расте

    https://github.com/mTvare6/hello-world.rs

     
     
  • 7.280, _kp (ok), 20:47, 19/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Там врут опять, вот каноничный привет мир на расте

    "Канноничность",точнее параноидальность, зашкаливает.

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


     
  • 4.88, Анонин (?), 16:51, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты опцию --release специально пропусти?
    А так... да, кода побольше чем в тупом как валенок си. А тут и ошибки нормальны выдавать будет.
     
  • 4.213, Аноним (198), 05:22, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Ужас, сколько кода нужно для обычного Hello World!

    Первое знакомство с Растом и сразу такое столкновение с реальностью.
    А знатоки --release пусть добавят аналогичную оптимизацию и в хеллоуворлд на Си.

     

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

  • 1.72, Аноним (-), 16:37, 17/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Компания Google представила в списке рассылки разработчиков ядра Linux новую реализацию механизма межпроцессного взаимодействия Binder

    Разработчики кернела вежливо отказали...

     
     
  • 2.86, Аноним (49), 16:50, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Отказали платиновому спонсору?
    Те самые "Разработчики кернела" которые на зарплате от гугла?!

    Ох уж эти сказочники!

     
     
  • 3.89, Советский инженер (ok), 16:55, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ето он про разрабов hurd
     
     
  • 4.92, Аноним (49), 17:00, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так он все еще 0.9 причем 2016 года.
    Имхо он уже помер, но еще не завонялся.

    В хурде была как минимум одна хорошая идея - микроядерность.
    Так что посмотрим как будет развиваться Open Se Cura - чтобы уйти от ситуации "драйвер видяхи упал и уронил всю систему".

     
     
  • 5.103, Советский инженер (ok), 17:32, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Open Se Cura выглядит так что это специализировання ОС, которая будет жить в ИИ ускорителях.
    или других подобных девайсах. не будет там никаких драйверов видяхи.
     
  • 2.90, Анонин (?), 16:56, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так оно будет жить только в ядре андроида.
    Гуглу от этого не холодно и не жарко.
     
     
  • 3.108, Аноним (47), 18:02, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну так оно будет жить только в ядре андроида.

    binder в ядре давно

    https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/

    и он даже используется в waydroid. Непонятно куда внедрилы kdbus из редхата рассосались - им так нужен был быстрый ядрёный ipc, вот он есть а интереса нет.

     
     
  • 4.127, Аноним (122), 19:09, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Быстрый ядерный IP много лет сушествует: mmap, shmem
     
     
  • 5.128, Аноним (122), 19:09, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    *ipc
     
  • 5.134, Советский инженер (ok), 19:26, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ок, а ты внедрилам kdbus из редхата это рассказал?
     
  • 5.180, Аноним (47), 02:23, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Быстрый ядерный IP много лет сушествует: mmap, shmem

    и как там быстро узнавать что кто-то тебе написал что-то в общую память - постоянно опрашивать ?

    /* * Finally, we wait until the other process * changes the first character of our
    memory * to '*', indicating that it has read what * we put there. */
    while (*shm != '*')
    sleep(1);

     
     
  • 6.186, Аноним (122), 02:52, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, с чего ты взял что твой пример со слипом корректный?

    Во-вторых, shmem был просто как пример что межпроцессорное взаимодействие в ядре существует

    В-третьих, mmap куда лучше разделяемой памяти. Можешь epoll'ом слушать что файловый дескриптор получил данные.

     
     
  • 7.230, Аноним (47), 10:48, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Во-первых, с чего ты взял что твой пример со слипом корректный?

    давай ты пояснишь тогда что там не корректно ?

    > В-третьих, mmap куда лучше разделяемой памяти

    что ты предлагаешь мапить для ipc ?

    > shmem был просто как пример что межпроцессорное взаимодействие в ядре существует

    твои примеры подходят для череззадничного ipc - спора нет, очевидно для современных разработок такое не подходит

     

  • 1.110, Аноним (111), 18:08, 17/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    От новости к новости Уже сложнее плюсов становится.

    Иногда проще написать void*, чем возиться с типами. Зачем стремится к вероятности 1, если в 98% хватит более меньшего значения. Как школьники без знания тервера.

     
     
  • 2.115, Аноним (115), 18:30, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > проще написать void*, чем возиться с типами

    Это всё, что нужно знать о программировании на C, C++, и о программистах, выбирающих эти языки. Действительно, зачем возиться с какой-то никому не нужной детерминированностью программы, если с вероятностью в 90% ваше бизнес-приложение не рухнет под нагрузкой?

    И эти гэмблеры ещё пытаются кого-то учить.

     
     
  • 3.169, Аноним (111), 01:27, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Это всё, что нужно знать о программировании на C, C++, и о программистах, выбирающих эти языки. Действительно, зачем возиться с какой-то никому не нужной детерминированностью программы, если с вероятностью в 90% ваше бизнес-приложение не рухнет под нагрузкой?

    С чего ты такие выводы делаешь? Если ты знаешь, что тут можно сделать каст и на тестах это не падает, то в чем проблема? Это лучше, чем писать кучу кода и возиться с типами ради мнимой безопасности.

     
     
  • 4.194, Прохожий (??), 04:20, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >то в чем проблема?

    Проблема в плохой читаемости и сопровождаемости такого кода. Ваш Кэп.

     
     
  • 5.208, Аноним (198), 05:09, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Про плохую читаемость и сопровождаемость фанатикам Раста лучше бы помалкивать.
     
     
  • 6.238, freecoder (ok), 14:50, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У Rust-кода отличная сопровождаемость. Потому что львиную долю проверок делает компилятор автоматически.
     
     
  • 7.246, Аноним (233), 17:39, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    "Отличная сопровождаемость кода, потому что компилятор делает проверки." Это была короткая, но честная демонстрация растологики.
     
     
  • 8.266, Прохожий (??), 23:39, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Если подумать, то высказывание форумчанина выше вполне себе логично Но это если... текст свёрнут, показать
     
  • 7.254, Аноним (254), 21:27, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У раст отличная читаемость.unwrap()
    потому что львиную долю проверок делает компилятор.unwrap()

     
     
  • 8.297, Аноним (297), 19:48, 01/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Очередной неосилятор монад порвался... текст свёрнут, показать
     
  • 6.265, Прохожий (??), 23:33, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, я - не фанатик. Я сторонник использования этого языка вместо морально устаревшего Си или переусложнённого Си++.

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

     
     
  • 7.276, Аноним (276), 18:50, 19/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Набор символов везде один и тот же примерно.

    Пиши тогда на брэйнфаке

     
  • 3.171, Аноним (111), 01:33, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это всё, что нужно знать о программировании на C, C++, и о программистах, выбирающих эти языки. Действительно, зачем возиться с какой-то никому не нужной детерминированностью программы, если с вероятностью в 90% ваше бизнес-приложение не рухнет под нагрузкой?

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

     
     
  • 4.243, Аноним (56), 16:48, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А код падает... Под нагрузкой... Любой

    Когда в разработке ПО ни в зуб ногой, но пыли в глаза напустить надо...

     
     
  • 5.255, Аноним (254), 21:32, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Когда в разработке ПО ни в зуб ногой, но пыли в глаза напустить надо...

    Газифицируешь опять? Вообще то летс ит крэш нормальная тема. Ты никогда не можешьна 100 процентов быть уверен , поэтому мониторинги и вотчеры по-любому нужны. Вопрос не есть ли ошибки, а в их кол-ве. Да кому я объясняю, выложишь что-тотпосложнее хэллоуворда тогда поймёшь.

     
  • 4.267, Прохожий (??), 23:43, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что на расте никаого приложения бы вообще не было.

    Ты новость точно читал полностью? Там как раз про приложения на Rust.

     
  • 2.123, Аноним (49), 19:02, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Отличная идея!
    Пусть в рентген аппарате на котором тебя будут исследовать, с вероятностью 98% будет нормальная экспозиция, а в остальных переполнение и доза в 100 раз больше.
    Ты наверное с радостью пойдешь на такой риск)

    ps в Therac-25 одной из ошибок было как раз целочисленно переполнение, именно такое как любят разработчики дыряшки

     
     
  • 3.129, Аноним (122), 19:10, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Только там был не Си
     
     
  • 4.150, Аноним (56), 22:32, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Речь в первую очередь в отношении к делу.
     
     
  • 5.209, Аноним (198), 05:10, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какой быстрый спрыг. Отношение может быть таким же и при программировании на Rust, наоборот оно там еще больше поощряется.
     
     
  • 6.226, Аноним (56), 09:54, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как скажешь :)
     
  • 3.172, Аноним (111), 01:34, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > а в остальных переполнение

    Запусти ты код под санитайзерами. Ну или добавь проверку где надо. Или в расте вместо + ты пишешь checked_add()?

     
  • 3.176, Аноним (111), 01:39, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Пусть в рентген аппарате на котором тебя будут исследовать

    Вот тебе задание на дом: приведи мне на чем работаю эти аппараты сейчас? Да, те самые, которые тебя облучают, когда ты приходишь в больничку.

     
     
  • 4.210, Аноним (198), 05:12, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Еще можно порекомендовать вообразить, что если ПО для рентгена напишут на Rust, с его постоянными обновлениями и отсуствием стандарта.
     
     
  • 5.220, Аноним (166), 09:07, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Кто о чем, а сишник о своем никчемном стандарте, об который все производители компиляторов вытирают ноги …
    😂😂😂
     
     
  • 6.241, Аноним (254), 15:48, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Беги обновляй раст, а то собираться перестанет
     
  • 6.245, Аноним (233), 17:30, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Почему же тогда компиляторы Си совместимы между собой? Загадка! Наверное растоман как всегда...
     
     
  • 7.250, Аноним (56), 20:00, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему же тогда компиляторы Си совместимы между собой?

    Удачи тебе скомпилировать ядро без расширений GNU.

     
  • 2.151, Аноним (56), 22:36, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > От новости к новости Уже сложнее плюсов становится.

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

     
     
  • 3.168, Аноним (111), 01:22, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Причем тут висячие ссылки и многопоточность? В расте код многопоточный сильно проще? Умные указатели не используешь? Ты раст дебажил? Ты смотрел, что под капотом, используемых тобой растовых оберток?
     
     
  • 4.207, Аноним (56), 05:07, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Причем тут висячие ссылки и многопоточность?

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

    Хотя, какой смысл это все тебе объяснять, если любитель void*
    и критик Раста с таким даже не сталкивался?

    Но ты иди, раскрой глаза разработчикам ядра: расскажи им, как ты лихо сорвал покровы с шарлотанов, продвигающих Раст. Будет сенсация!

    > В расте код многопоточный сильно проще?

    Прикинь, да. Или критикам Раста ниезвестно, что borrow checker проверяет владение и доступ в том числе и в многопоточныом коде?

     
     
  • 5.215, Аноним (254), 05:42, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Но ты иди, раскрой глаза разработчикам ядра: расскажи им, как ты лихо сорвал покровы с шарлотанов, продвигающих Раст. Будет сенсация!

    Почитай ревью патчей прежде чем тут писать. Там просто никто не знает раст у них вопрос зачем

     
     
  • 6.253, Аноним (56), 21:15, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Почитай ревью патчей прежде чем тут писать. Там просто никто не знает раст у них вопрос зачем

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

    Ладно они дурачки, но тебя-то не проведешь - раскусил растозаговор! Ну так спаси ядро от метастаз Раста, пока не поздно. Лишь на тебя вся надежда - всем остальным уже запудрили мозги!

     

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

  • 1.112, Аноним (112), 18:19, 17/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Если ржавчина такая суперская почему она намерьво привязанна к менеджеру пакетов? GCC проекты можно и в офлайне собрать.
     
     
  • 2.118, Смузихлёб (ok), 18:48, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что смузи-way.
     
  • 2.125, Аноним (49), 19:04, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    О, еще один "исксперт", лучше бы ты жевал...

    Вот почитай https://doc.rust-lang.org/cargo/faq.html#how-can-cargo-work-offline
    Можно и оффлайн все собрать, и свою коллекцию пакетов сделать.

     
     
  • 3.130, Аноним (122), 19:12, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ок, тогда другой вопрос - а почему название такое говеное? Карго, это грузоперевозки какие-то?
     
     
  • 4.136, Аноним (49), 19:29, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ого, неужели аргументы закончились и последний шаг "прикапаться к названию"?

    Ну тогда представь:
    "маленькие человечки на маленьких машинках везут тебе по сети пакетики с данными, которые называются crates (тобишъ ящики на эльфийском)"
    вот тебе и грузоперевозки

    Примерно по той же причине в Руби есть gems, у Джавы есть jars (тк банка кофе), в Crystal - shards, а любимица игроделов Lua использует rocks.

     
  • 4.137, Анонин (?), 19:29, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уже не знаешь к чему докопаться?
    Потому что раст crate - минимальная единица компиляции ("A crate is the smallest amount of code that the Rust compiler considers at a time"), что в переводе "ящик".
    А чем ящики являются - грузом.
     
     
  • 5.156, Аноним (51), 23:17, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но, кроме шуток, это худшее, что могло случиться с растом.
     
  • 4.152, Аноним (152), 22:53, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Название правильное и в точку. То самое карго, которое в идиоме «карго-культ».

    Постмодерновая самоирония она такая — когда сам себя беззлобно обсмеял, и тем самым исключил серьёзные нападки.

    «Мы конструируем сверх-сложную и сверх-монструозную систему, разобраться в которой давно не под силу одному человеку, но всем говорим что она безопасная и лучше конкурентов. Верьте нам — разве люди с такими прекрасными лицами и инклюзивными идеалами могут врать? Что? Карго–культ? Ха–ха–ха, мы уже сами так пошутили. И вам доброго дня!»

     
     
  • 5.155, Анонимусс (?), 23:09, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот только карго-культ - это делать действия, без понимания в надежде что что-то произойдет.
    А раст - тут и понимание есть, и сам язык лучше и безопаснее дыряшки.
    Хотел написать "конкурента", но ее даже конкурентом назвать нельзя...
     
     
  • 6.158, Аноним (51), 23:22, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >аже конкурентом назвать нельзя

    Это потому, что на расте ничего на написано до сих пор? Или из-за отсутствия стандартов? Или из-за отсутствия стабильного аби? Или из-за того, что поведение меняется каждое обновление, и всё отваливается среди прочего? Я думаю, ты слишком критично относишься к расту всё же, Москва не сразу строилась.

     
     
  • 7.162, Анонимусс (?), 23:34, 17/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Может ты читать не умеешь Прям в этой статье написано про RustVMM и новую реали... большой текст свёрнут, показать
     
     
  • 8.164, Аноним (51), 00:11, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так я тебе и говорю Постепенно улучшаются инструменты, и когда-нибудь кто-нибуд... текст свёрнут, показать
     
     
  • 9.192, Прохожий (??), 04:15, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В полный рост пишут И новое И старое переписывают Крупные корпорации начали и... текст свёрнут, показать
     
     
  • 10.203, Аноним (198), 04:58, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Крупные корпорации как писали на Java и NET, так и пишут Но Аноним с форума утв... текст свёрнут, показать
     
     
  • 11.225, Советский инженер (ok), 09:44, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ути пути насильничек пытаеться поиграть в логику вот тебе крупная корпораци... текст свёрнут, показать
     
  • 10.240, Аноним (51), 15:14, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде пока только плачутся, что это очень дорого и неэффективно Не получается н... текст свёрнут, показать
     
  • 8.177, Ivan_83 (ok), 01:45, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Всё бы ничего, но те кто пишут что на русте что на петоне что на руби - не подде... текст свёрнут, показать
     
  • 3.170, Аноним (111), 01:29, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Вот почитай https://doc.rust-lang.org/cargo/faq.html#how-can-cargo-work-offline
    > Можно и оффлайн все собрать, и свою коллекцию пакетов сделать.

    Что вы все кидаете эту ссылку. Ты лучше покажи кто так делает.

     
  • 3.187, Аноним (112), 03:03, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А можно без Cargo? Старым проверенным методом через tar-файлы? Собираю свой дистр, со своим менеджером пакетов. Тащить Cargo чтоб собрать librsvg выглядит глупо. Не находите?
     
     
  • 4.222, Советский инженер (ok), 09:32, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >А можно без Cargo?

    конечно можно.
    тебе никто не запрещает вызывать rustc из башскрипта или мейкфайла. все в твоих руках.

     
  • 2.173, Аноним (111), 01:35, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > привязанна к менеджеру пакетов?

    Потому что это язык для контроля над погромистами. Все будет привязано.

     
     
  • 3.201, Аноним (198), 04:52, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но есть его форк Crab.
     

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

  • 1.199, Аноним (198), 04:47, 18/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Столько пафосных слов, а в реальности нишевой язык для нишевых проектов.
     
     
  • 2.239, freecoder (ok), 14:55, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Столько пафосных обличений, а в реальности - отличный язык общего назначения для большого спектра проектов.
     
  • 2.264, Аноним (56), 22:53, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > нишевой язык для нишевых проектов

    Как и C.

     
     
  • 3.278, Аноним (276), 18:54, 19/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Он не нишевый: что написано на нем пользуется вестимо каждый день
     

  • 1.223, Аноним (223), 09:36, 18/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Отличный язык, позволяет безопасно работать с памятью. А когда добавили в Линукс, Линукс стал еще безопаснее. Наконец-то исчезнут ошибки, связанные с памятью.
     
     
  • 2.244, Аноним (233), 17:22, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, на Расте программируется на 200% лучше чем на любом другом языке!
     
  • 2.258, Аноним (254), 21:42, 18/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А когда добавили в Линукс, Линукс стал еще безопаснее

    Это типа как иконка в машине? Так это работает?

     

  • 1.251, ilowry (?), 20:10, 18/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Они могут смело засудить разработчиков brainfuck за то, что те украли название их языка.
     
  • 1.271, Аноним (271), 00:08, 19/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation

    Обнаружено логическое противоречие в строке 1.

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

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

     
  • 1.272, Аноним (272), 08:47, 19/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Всё ещё слишком мало скобочек, надо больше.
     
  • 1.274, Аноним (274), 11:45, 19/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    чего спорить Си как был так и останется навсегда
    И раст останется. Будет попыхивать в сторонке чекать своих боровов
    В итоге код всё равно нейронки писать будут. Скорее всего на Си
     
     
  • 2.282, Смузихлёб (ok), 22:02, 19/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > чего спорить Си как был так и останется навсегда

    В юникс подобных системах - да. Учитывая, что всё завязано на системные си-шные библиотеки и в манах (которые почему-то никто не читает) описывается только си-шка.

     
  • 2.283, Смузихлёб (ok), 22:07, 19/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > В итоге код всё равно нейронки писать будут.

    Так уже пишут. Мои проекты за последние полгода все сделаны с помощью chatgpt + google bard + github copilot. Но скажу так, если у человека нет навыков программирования, то за него нейронки код не напишут. Всё равно нужно подправлять, дописывать, доробатывать напильником, а самое главное - понимать что делаешь. Но то что они ускоряют процесс - факт.

     
  • 2.285, Аноним (285), 00:45, 20/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С учетом колоссальной существующей кодовой базы для обучения нейросетей и отличных компиляторов скорее всего будут генерировать на Си. Для обучения нейросетей также очень важна стабильность языка.
     

  • 1.292, Аноним (292), 05:54, 22/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Заголовок в rrs поправьте, то там 1.73 указан.
     

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



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

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