The OpenNET Project / Index page

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

Выпуск языка программирования Rust 1.57

02.12.2021 21:47

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

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

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

  • Стабилизировано использование макроса "panic!" в контекстах, создаваемых при компиляции, таких как объявления "const fn". Кроме того, помимо использования "panic!" в const-объявлениях разрешено использование макроса "assert!" и некоторых других API стандартной библиотеки. Стабилизация пока не охватывает всю инфраструктуру форматирования, поэтому в текущем виде макрос "panic!" может использоваться только со статическими строками (panic!("...")) или с одним интерполированным значением "&str" при подстановке (panic!("{}", a)), которое должно ограничиваться подстановкой "{}" без спецификаторов форматирования и других типажей. В будущем применимость макросов в константных контекстах будет расширена, но стабилизированных возможностей уже достаточно для выполнения assert-проверок на этапе компиляции:
    
       const _: () = assert!(std::mem::size_of::<u64>() == 8);
       const _: () = assert!(std::mem::size_of::<u8>() == 1);
    
  • В пакетном менеджере Cargo разрешено использование профилей с произвольными именами, не ограниченными "dev", "release", "test" и "bench". Например, для включения оптимизации на этапе связывания (LTO) только при формировании финальных сборок продукта можно в Cargo.toml создать профиль "production" и добавить в него флаг "lto = true". При этом при определении собственных профилей обязательно требуется указать существующий профиль для наследования из него настроек по умолчанию. В примере ниже создаётся профиль "production", который дополняет профиль "release" включением флага "lto = true". Сам профиль активируется при вызове cargo с опцией "--profile production", а сборочные артефакты будут размещены в каталоге "target/production".
    
       [profile.production]
       inherits = "release"
       lto = true
    
  • Стабилизировано использование try_reserve для типов Vec, String, HashMap, HashSet и VecDeque, что позволяет заранее резервировать место для определённого числа элементов заданного типа для того, чтобы снизить частоту выполнения операций выделения памяти и избежать аварийного завершения в процессе работы из-за нехватки памяти.
  • Разрешено указание макросов с фигурными скобками в выражениях подобных "m!{ .. }.method()" и "m!{ .. }?".
  • Оптимизировано выполнение функций File::read_to_end и read_to_string.
  • Поддержка спецификации Unicode обновлена до версии 14.0.
  • Расширено число функций, помеченных "#[must_use]" для вывода предупреждения в случае игнорирования возвращаемого значения, что помогает выявить ошибки, вызванные предположением, что функция изменит значения, а не вернёт новое значение.
  • Добавлен экспериментальный бэкенд для генерации кода с использованием libgccjit.
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Признак "const", определяющий возможность использования в любом контексте вместо констант, применён в функции hint::unreachable_unchecked.
  • Реализован третий уровень поддержки для платформ armv6k-nintendo-3ds, armv7-unknown-linux-uclibceabihf, m68k-unknown-linux-gnu, aarch64-kmc-solid_asp3, armv7a-kmc-solid_asp3-eabi и armv7a-kmc-solid_asp3-eabihf. Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.


  1. Главная ссылка к новости (https://blog.rust-lang.org/202...)
  2. OpenNews: Релиз языка программирования Rust 2021 (1.56)
  3. OpenNews: Модераторы сообщества Rust в знак протеста объявили об отставке
  4. OpenNews: Для Mesa развивается фронтэнд OpenCL, написанный на языке Rust
  5. OpenNews: Уязвимость в сетевых библиотеках языков Rust и Go, позволяющая обойти проверку IP-адресов
  6. OpenNews: Представлена реализация Tor на языке Rust, которая в будущем заменит вариант на Си
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/56270-rust
Ключевые слова: rust
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (320) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:53, 02/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Генераторы когда?
     
     
  • 2.5, Аноним (-), 22:10, 02/12/2021 Скрыто модератором
  • +/
     
  • 2.6, morphe (?), 22:15, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    С настоящими генераторами ещё много неразрешенных вопросов, а пока можно использовать https://github.com/whatisaphone/genawaiter , что не сильно хуже
     
  • 2.53, Аноним (53), 01:21, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    какие там генераторы, если для многих платформ

    > без ... тестирования и проверки возможности сборки кода.

    Сколько ещё десятилетий ждать?

     
     
  • 3.102, Прохожий (??), 08:04, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты вместо того, чтобы ждать, взял бы да помог людям. Ась? Не приходила никогда в голову такая простая мысль?
     
     
  • 4.150, Аноним (150), 10:37, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты часто помогаешь?
     
     
  • 5.163, Прохожий (??), 10:52, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Всегда, когда заинтересован в чём-то.
     
     
  • 6.202, Аноним (53), 12:35, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вот только ты ни в чём не заинтересован.
     
     
  • 7.213, anonymous (??), 13:54, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну воля помогают (ну, и, конечно же, числюсь контрибьютором используемого мной компилятора). Дальше что? В чём ваш аргумент?
     
     
  • 8.215, anonymous (??), 13:55, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    воля вот я Сорри, набираю с планшета с автозаменами ... текст свёрнут, показать
     
  • 7.228, Прохожий (??), 15:13, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Тебе-то откуда знать? Или просто надо было что-то сказать в ответ?
     

  • 1.2, Аноним (2), 22:04, 02/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что там с Core Team?
     
     
  • 2.16, Аноним (16), 22:46, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Правит неограниченной властью и никому не подотчетна, что же с ней ещё будет?
     
  • 2.37, SerjAnt (?), 00:18, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Великолепная пятёрка в Rust Foundation нашептала что народ слушать не надо, а надо быть нэзалэжными от их мнения и влияния и это трэнд. И собрала номера карт для зачисления бонусов лояльности следования планам их развития.
     
     
  • 3.214, Мавродий (?), 13:54, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    тебя, как истинного росиянина, должен радовать сей факт. а ты расстроен, почему?
     
     
  • 4.348, Аноним (348), 11:43, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > нэзалэжными
    > истинного росиянина

    Россиянин получился какой-то не очень настоящий.

     
     
  • 5.407, lufog (ok), 04:50, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вполне себе настоящий, сомневаюсь что украинец написал бы слово "незалежний" русскими буквами. Ибо выглядит каким-то кривлянием.
     

  • 1.8, Аноним (8), 22:20, 02/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    > const _: () = assert!(std::mem::size_of::<u8>() == 1);

    Уж на что синтаксис perl своеобразный, но это, гм, практически брейнфак какой-то...

     
     
  • 2.17, Аноним (16), 22:46, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что ж тут такого? На C++ с шаблонами примерно такие же перлы
     
     
  • 3.27, Аноним (27), 23:46, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Там еще большую магию творить можно, на самом деле
     
     
  • 4.34, Аноним (34), 00:14, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Можно. Но для банальнейших ассертов и не нужно.
     
     
  • 5.36, Аноним (36), 00:17, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В Rust тоже можно можно обернуть эту магию в макрос и назавть его static_assert!(). Мб в std рано или поздно так и сделают, но здесь не уверен.

    А вообще, ничего сильно страшного в коде не происходит: всего лишь объявили неиспользуемую константу _ пустого типа ().

     
     
  • 6.90, Аноним (90), 07:15, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    "const _: ()" - лично меня "убивает" не только эта конструкция, но и формулировка "неиспользуемая константа пустого типа".
     
     
  • 7.106, Прохожий (??), 08:11, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Иной раз константы следует объявлять неиспользуемыми, чтобы компилятор не ругался. Для тебя такое в новинку?

    А пустой тип сродни null. Или тоже первый раз о таком слышишь?

     
     
  • 8.109, Прохожий (??), 08:19, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А пустой тип сродни null или void ... текст свёрнут, показать
     
  • 7.145, Анонимъ (?), 10:32, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Строго говоря тип не пустой. У этого типа есть одно единственное значение. Это тип, размер которого равен нулю.

    Альтернатива подобному - специальный синтаксис для краевых случаев. Но это усложняет язык и со временем порождает монстров вроде C++.

     
  • 7.302, Аноним (16), 20:30, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    () это хорошо известный из функциональных языков программирования тип Unit. В Хаскеле, каком-нибудь, нету того же void, там будет IO () скорее всего для процедур с побочными эффектами.
     
  • 6.397, Аноним (397), 12:12, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Две неиспользуемые константы с одним и тем же именем?
    Там же в строчках подряд
       const _: () = ...;
       const _: () = ...;
     
     
  • 7.398, Аноним (-), 13:04, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Две неиспользуемые константы с одним и тем же именем?
    > Там же в строчках подряд

    Это вообще-то "классика", мимо которой довольно сложно пройти:
    https://en.wikipedia.org/wiki/Underscore#Programming_conventions
    > In some languages with pattern matching, such as Prolog, Standard ML, Scala, OCaml, Haskell, Erlang, and the Wolfram Language, the pattern _ matches any value, but does not perform binding.

    ...

     
  • 7.401, freecoder (ok), 10:10, 08/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Rust подчеркивание "_" - это не имя, а служебное слово языка.
     
  • 2.40, Аноним (40), 00:43, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Да в самом деле, не человечий язык. Всё надо до одной буковки сократить и выражения кодировать в виде символов.
     
     
  • 3.46, Аноним (-), 01:08, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Да в самом деле, не человечий язык. Всё надо до одной буковки
    > сократить и выражения кодировать в виде символов.

    Предложи свой, более правильный вариант - ты же знаешь, как сделать лучше?

     
     
  • 4.70, Аноним (70), 02:53, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    C++ лучше
     
     
  • 5.107, Прохожий (??), 08:13, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Чем? Количество страниц в спецификации больше? 🤣
     
     
  • 6.133, Совершенно другой аноним (?), 10:14, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    По этому параметру Rust действительно, похоже, побеждает. У него вообще нет спецификации (https://stackoverflow.com/questions/21177436/is-there-a-published-language-for). Насколько я понял из ответа - авторы ждут, когда им её кто-то напишет.
     
     
  • 7.136, Аноним (348), 10:19, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    C++ победить нельзя - у него полный текст стандарта закопирайчен и продается за деньги.
    Опенсорсные растососы опять в пролете.
     
     
  • 8.148, Совершенно другой аноним (?), 10:35, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В этих ваших интернетах всегда есть публичный последний черновик, который от рел... текст свёрнут, показать
     
     
  • 9.149, Прохожий (??), 10:37, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вполне возможно, что покупают ... текст свёрнут, показать
     
     
  • 10.169, fsb4000 (?), 11:06, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не Последнего черновика достаточно В Microsoft берут оттуда т з для реализаци... текст свёрнут, показать
     
  • 7.152, Прохожий (??), 10:40, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Насколько я понял из ответа - авторы ждут, когда им её кто-то напишет.

    Вполне, возможно, что так и есть. Сообщество пока сравнительно небольшое. Однако же, уверен, когда её напишут, вряд ли её объём сравнится с плюсами. Плюсы объективно гораздо более сложный язык.

     
  • 4.224, Аноним (224), 14:35, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем предлагать? У меня уже есть велосипеды: C, Go, Java.
     
  • 3.47, Аноним (348), 01:08, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Где-то тихо хихикали another perl hacker-ы...
     
  • 3.110, Прохожий (??), 08:25, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какой из языков программирования человеческий?
    Сколько лично ты знаешь человеческих языков? Раст осваивается примерно за месяц-другой в первом приближении. С немецким, английским, китайским, французским или ещё каким человеческим языком так сможешь управиться? Сильно сомневаюсь. А если так нет, зачем здесь твоё нытьё?
     
     
  • 4.155, Аноним (150), 10:41, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ложь. А хотя, если для тебя хелло ворлд - это освоить язык, то да.
     
     
  • 5.205, Аноним (-), 12:45, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ложь. А хотя, если для тебя хелло ворлд - это освоить язык, то да.

    Интересно, что именно там "ложь" и почему так ловко проигнорированны наводящие вопросы?

    Понимаешь, далеко не все ограничиваются в своем проф. развитии одним лишь JS/PHP/C^H/Python (после турбо-паскаля в родном ПТУ), попутно полностью забивая на теоретерическую часть.
    И вот им - многие концепты в расте совсем не кажутся непонятно-извращенной тарабарщиной (а синтаксис - овно^W "чудным").


     
  • 5.229, Прохожий (??), 15:20, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я же специально сказал "в первом приближении". Это значит базовые вещи вполне можно ухватить за этот период. Да и сложного там ничего по большому счёту нет, если вдумчиво читать книгу для начинающих программировать на Rust (есть в свободном доступе и в оригинале, и на русском).

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

     
  • 4.225, Аноним (224), 14:36, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я выучил Си за 3 дня.
    А кресты и сам не люблю. Но в том то и прикол, что нафига предлагать те же грабли.
     
  • 3.141, Онаним (?), 10:26, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как перл и руби с питоном - язык писателей. Для чтения непригоден.
     
     
  • 4.304, Прохожий (??), 20:36, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем же так толсто? Perl ещё куда ни шло - там бывают "разночтения". Но Руби с Питоном чем не угодили? Уж куда читабельней-то?
     
     
  • 5.359, Аноньимъ (ok), 17:52, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ха.

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

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

     
     
  • 6.360, Аноним (-), 18:11, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ха.
    > Питон читабельнее?
    > Человеческое восприятия с большими проблемами, внезапно, измеряет длину пустого места.
    > А блоки кода определяются проблемами, испанский стыд.

    А пацаны-то и не знали ...



    static int cap_validate_magic(cap_user_header_t header, unsigned *tocopy)
    {
    __u32 version;

    if (get_user(version, &header->version))
    return -EFAULT;

    switch (version) {
    case _LINUX_CAPABILITY_VERSION_1:
    warn_legacy_capability_use();
    *tocopy = _LINUX_CAPABILITY_U32S_1;
    break;
    case _LINUX_CAPABILITY_VERSION_2:


    Какой же ты все-таки балабол, испанский стыд.

     
     
  • 7.411, Аноним (-), 18:42, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > switch (version) {
    >    case

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

     
     
  • 8.412, Аноним (-), 22:48, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Прикинь - можно читать не только жопой, но и глазами Но в ядре а код отту... большой текст свёрнут, показать
     
  • 4.313, Аноним (313), 21:14, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Большинство погроммистов как раз таки писатели :)
    Ruby лучший синтаксис как по мне, но тоже начали гадить: =>
     
  • 2.41, Аноним (40), 00:44, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Язык эгоистов. Сам написал, сам понял, но другие не смогут прочесть, и сам через месяц тоже.
     
     
  • 3.49, Аноним (348), 01:09, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Почему нет? C++ подобный подход даже украшает.
     
     
  • 4.71, Аноним (70), 02:58, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    C++ попроще
     
     
  • 5.108, Прохожий (??), 08:15, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    То-то люди по пять лет C++ изучают только для того, чтобы через эти пять лет начать писать что-то сколь-либо осмысленное.
     
     
  • 6.137, Аноним (348), 10:20, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну, какую-нибудь ржавчину можно за пару месяцев выучить от и до, а чтобы научиться более-менее нормально писать на плюсах, и десяти лет мало.
     
     
  • 7.156, Прохожий (??), 10:43, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Мало того, даже через десять лет люди сомневаются в качестве своего кода ввиду особенностей полюсов и сложности спецификации.
     
     
  • 8.164, Прохожий (??), 10:54, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    полюсов - плюсов ... текст свёрнут, показать
     
  • 6.142, Онаним (?), 10:28, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Причины разные.
    Некоторые считают, что "изучили хруст/питон/жс", подтянув 100500 чужих лефтпадов из ближайшей мусорки, и кое-как слепив их конструкциями языка.
    Вот только к изучению языка и программированию лепка петухов из фекалий отношения не имеет.
     
     
  • 7.158, Прохожий (??), 10:44, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Если на этих языках так можно, а на полюсах - нельзя, значит последние объективно сложнее. Ч. Т. Д.
     
     
  • 8.178, Онаним (?), 11:21, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, это значит в последних выбрана парадигма crowd shitcoding ... текст свёрнут, показать
     
     
  • 9.286, Прохожий (??), 19:26, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Расскажи о shitcoding людям, которые уже разочаровались в C и больше на него с... текст свёрнут, показать
     
     
  • 10.318, Онаним (?), 22:07, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Их проблемы Машины - это не об эмоциях ... текст свёрнут, показать
     
     
  • 11.367, Аноньимъ (ok), 23:51, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Люди не машины ... текст свёрнут, показать
     
  • 10.319, Онаним (?), 22:08, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну извини, да, в этом мире сложно Rocket science ещё сложнее ... текст свёрнут, показать
     
  • 7.173, Аноним (348), 11:15, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот только к изучению языка и программированию лепка петухов из фекалий отношения не имеет.

    Ну, есть такая прога - ld. Позволяет автоматизировать этот процесс.

     
     
  • 8.177, Онаним (?), 11:20, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Наверняка прекрасно понимаете отличия, но привычно лицемерите Подсказка отличи... текст свёрнут, показать
     
  • 8.182, Онаним (?), 11:25, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме того, ld занимается чисто техническим связыванием, оставляя подтягивание л... текст свёрнут, показать
     
     
  • 9.187, Аноним (348), 11:35, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    и обеспечивая невозможность запуска программы без выгребания из реп что, в свою... текст свёрнут, показать
     
  • 2.358, Аноньимъ (ok), 17:45, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Уж на что синтаксис perl своеобразный, но это, гм, практически брейнфак какой-то...

    На вид обычная Сипипишка. Ничего страшного.

     
  • 2.408, lufog (ok), 05:32, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    С синтаксисом смирится можно, всяко легче освоить чем тот же F после плюсов Б... большой текст свёрнут, показать
     

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

  • 1.11, AirToad (?), 22:25, 02/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что системного написано на этом "языке системного программирования"?
     
     
  • 2.15, Аноним (-), 22:44, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    https firecracker-microvm github io https github com 0x59616e SteinsOS http... большой текст свёрнут, показать
     
     
  • 3.19, Аноним (19), 22:49, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Посоветуйте антивирус на Расте
     
     
  • 4.32, Аноним (32), 00:07, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В касперском его вроде использовали, но по-моему в их безопасной ОСОБО, а не в самом антивирусе
     
  • 4.39, Led (ok), 00:29, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    новичо^Wспутник5
     
     
  • 5.50, Аноним (348), 01:11, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Раст признан технологией двойного назначения и запрещён к экспорту в недемократические страны?
     
  • 4.121, n00by (ok), 09:23, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Для современного антивируса обязателен драйвер В Венде для использования произв... большой текст свёрнут, показать
     
     
  • 5.201, _hide_ (ok), 12:34, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И в чем же его безопасность в этом примере? Просто до сих пор не понял, зачем себе яйца тисками зажимать?
     
     
  • 6.240, Аноним (53), 15:47, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Редокс безопасно течёт, FF безопасно падает, драйвер на расте безопасно выводит "хеловорд!".
     
     
  • 7.343, n00by (ok), 08:26, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сам по себе этот драйвер примечателен уже тем, что он есть. То есть без особого шума (как при попытке протащить Rust в Linux) автор создал библиотечку и написал к ней пример (угу, по традиции портировал пример аналогичной Си++ библиотеки). Но как раз по безопасности есть вопросы, на которые пока нет ответов.
     
  • 6.342, n00by (ok), 08:19, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если вопрос про безопасность Rust, то как раз это и интересно.

    Обе функции получают в качестве параметра указатель, адресующий пространство пользователя. Если данному адресу не сопоставлена физическая страница ОЗУ, при обращения (запись результата) из ядра генерируется исключение. Если его не обработать должным образом, система покажет BSOD (синий экран смерти). Что делает возможным атаку вида "отказ в обслуживании". Вариант на Си++ использует SEH (конструкция __try __except) и обрабатывает такой случай, юзерленд получит код ошибки. Что в аналогичном сценарии произойдёт с драйвером на Rust, хотелось бы узнать.

     
  • 3.25, Аноним (25), 23:28, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> Ждем-с привычного "Это и вот это не считается, потому что не считается! И это тоже не считается! Вот!"

    Считается, зачёт, молодцы!
    А зачем?

     
  • 3.30, Аноним (-), 23:58, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    по любой поделке раста огромный список недоделок, ещё один язык для писателей?
     
     
  • 4.305, Прохожий (??), 20:41, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Список недоделок в студию, балабол!
     
  • 3.31, Аноним (-), 00:02, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    до чего все безопасное на раст, каждый вызов небезопасной функции libc помечен как небезопасный, что автоматом повышает безопасность на тысячи процентов. весь файл состоит из таких вызовов.
     
     
  • 4.35, Аноним (36), 00:14, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > до чего все безопасное на раст, каждый вызов небезопасной функции libc помечен как небезопасный, что автоматом повышает безопасность на тысячи процентов. весь файл состоит из таких вызовов.

    Это пример того, как на Rust писать неправильно. А правильно использовать unsafe по минимуму и какм можно раньше оборачивать небезопасный код в безопасные абстракции.

     
     
  • 5.55, Аноним (53), 01:26, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Это пример того, как на Rust писать неправильно.
    > ... писать неправильно ...

    А разве на расте есть другая возможность?

     
     
  • 6.62, Токсичный адепт Rust (?), 01:50, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А разве на расте есть другая возможность?

    Написано же в комментарии выше, нет :)

    > А правильно использовать unsafe по минимуму и какм можно раньше оборачивать небезопасный код в безопасные абстракции.

    Вообще, unsafe - зло. Но часто это необходимое зло. И он помогает лучше локализовать причину проблемы в случае сегфолта - достаточно погрепать только по unsafe.

     
     
  • 7.63, Токсичный адепт Rust (?), 01:59, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Написано же в комментарии выше, нет :)

    Здесь пропущен ? в конце предложения. Конечно же, на Rust можно писать правильно :)

     
  • 4.51, Аноним (348), 01:13, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >  до чего все безопасное на раст, каждый вызов небезопасной функции libc помечен как небезопасный, что автоматом повышает безопасность на тысячи процентов. весь файл состоит из таких вызовов.

    В итоге получится обычная сишная программа. Такая же "безопасная", как и любая другая сишная программа.
    Смысл так делать?

     
     
  • 5.56, Аноним (53), 01:28, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Если 100500 раз написать unsafe для самоуспокоения, что компилятор за тебя всё сделает, то прога получает +9000 к безопасности.
     
     
  • 6.59, Аноним (-), 01:36, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если 100500 раз написать unsafe для самоуспокоения, что компилятор за тебя всё
    > сделает, то прога получает +9000 к безопасности.

    А вот и Опеннетные Знатоки Компиляторов и статического программного анализа подоспели ... уж они-то точно знают, как их любимый компилятор турбо-паскаля работает!


     
     
  • 7.64, Аноним (53), 02:15, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну как там редокс - уже не течёт безопасно?
     
     
  • 8.67, Аноним (-), 02:32, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Какой неуклюжий спрыг с темы, да еще и прямо в лужу https gitlab redox-os org... текст свёрнут, показать
     
     
  • 9.143, Онаним (?), 10:30, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То есть это ещё и не баг, это вообще фича такая Язычкасто ... текст свёрнут, показать
     
     
  • 10.207, Аноним (-), 12:54, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Яснопонятно ... текст свёрнут, показать
     
  • 5.280, burjui (ok), 18:56, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не такая же. В Rust небезопасный код локализован в unsafe блоках и функциях, а весь остальной код получает все преимущества статического анализа компилятора. В C этого нет, в нём весь код - unsafe. К тому же, даже unsafe код на Rust безопаснее кода на C, потому что большая часть статического анализа применима и к нему: unsafe в Rust не означает полное отсутствие проверок и сишную семантику.
     
  • 3.54, Аноним (53), 01:24, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Толсто. А теперь перечисли, что из этого нормально работает и не является хеловордом.
     
     
  • 4.58, Аноним (-), 01:32, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Firecracker was developed at Amazon Web Services to improve the customer experience of services like AWS Lambda and AWS Fargate .
    >> Firecracker is used by/integrated with (in alphabetical order): appfleet , containerd via firecracker-containerd , Fly.io , Kata Containers , Koyeb , Northflank , OpenNebula , Qovery , UniK , and Weave FireKube (via Weave Ignite ). Firecracker can run Linux and OSv guests. Our latest roadmap can be found here .

    ...
    >> Поддержка Stratis интегрирована в дистрибутивы Fedora и RHEL начиная с выпусков Fedora 28 и RHEL 8.2.

    ...
    > Толсто. А теперь перечисли, что из этого нормально работает и не является хеловордом.

    А вот и "Это и вот это не считается, потому что не считается! И это тоже не считается! Вот!", дождались!

     
     
     
     
     
    Часть нити удалена модератором

  • 8.101, Прохожий (??), 07:59, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Луддитам и правда не нужно Поправил, не благодари ... текст свёрнут, показать
     
  • 5.144, Онаним (?), 10:31, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Куча названий, которые скорее всего не пригодятся никогда, от слова "совсем".
     
  • 5.409, Аноним (409), 21:53, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Firecracker не взлетел ни хрена. Примерно год назад его собирались закрывать, а растаманов - увольнять.
     
  • 3.242, Аноним (53), 15:53, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что характерно, растаманы придумывают названия своим хеловордам с помощью генератора случайных букв. Наверное, чтобы показать "важность" продуктов.
     
     
  • 4.246, Аноним (-), 16:13, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> firecracker - английский
    >> Stein - немецкий (камень, распространенная фамилия)
    >> smol - английский
    >> stratis - латынь
    > Что характерно, растаманы придумывают названия своим хеловордам с помощью генератора случайных
    > букв. Наверное, чтобы показать "важность" продуктов.

    Что характерно, Воены Антирастового Военства и в обычных языках ни бум-бум и проекты на 50к строк у них - "хелловорды".


     
  • 2.18, anonymous (??), 22:47, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Из моих интересов первыми приходят на ум:
    Oreboot
    Alacritty
     
     
  • 3.285, нах.. (?), 19:22, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И как всегда как и все на хрясте это тоже бесполезное бесполезно. Проект ради проекта.
     
  • 2.28, Аноним (27), 23:48, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Например,

    https://github.com/BurntSushi/ripgrep

    Работает быстрее обычного grep'а и используется в VSCode по дефолту.

     
     
  • 3.73, Аноним (70), 03:04, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Работает быстрее

    А в чём магия? Игнорируют часть стандарта unicode?

     
     
  • 4.84, Аноним (1), 05:14, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он лжёт, это плохая программа. Быстрее там только за счёт многопоточной работы с диском. Заплатить за это придётся тормозами и рандомными сегфолтами на простых привычных регулярках (которые всегда работали в грепе).
     
     
  • 5.86, Аноним (86), 07:02, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сегфолт на расте?! Да вы видно бредите! Это невозможно.
     
     
  • 6.160, Анонимъ (?), 10:48, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это возможно, как и в любом другом языке. Было бы желание. Лично я систему наглухо вешал из под раста (синергия багов ядра, дров, либ и одного стандарта).

    Раст не про то, чтоб насовсем избежать таких вещей, а сделать их достаточно редкими, чтоб не считать их каждодневной рутиной.

     
  • 5.88, Прохожий (??), 07:11, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У тебя взаимные противоречия в одном предложении, но ты это не замечаешь. И почему я не удивлён?

    Так "быстрее" или "придётся расплачиваться тормозами" всё-таки?

    Откуда там сегфолтам взяться, если язык для работы с памятью безопасный?

     
     
  • 6.129, Аноним (-), 09:52, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    потому что растососы используют unsafe вызовы libc, который для скорости работы все проверки делает через сегфолты
     
     
  • 7.134, Аноним (348), 10:16, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > для скорости работы все проверки делает через сегфолты

    Typical C programming.

     
  • 7.165, Прохожий (??), 10:56, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Но если проблемы в libc, причём тут Rust?
     
     
  • 8.184, Аноним (348), 11:27, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Притом, что токсичные растовики на машине времени слетали на 20 лет назад и пере... текст свёрнут, показать
     
  • 6.196, Аноним (1), 12:07, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это "быстрее" на практике окажется "медленнее", а вот в 1 поток выгода уже не столь очевидна, особенно учитывая меньшие возможности и постоянные проблемы. Что не понятного?

    Что до "безопасности", то паники по кд это очень "безопасно" и радует пользователя, ну и сегфолты никто не отменял.

     
     
  • 7.230, Прохожий (??), 15:25, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Автор же приводит ссылку на тесты. Можешь повторить и проверить. Эта утилита быстрее и в одном потоке, чем стандартная.

    > Что до "безопасности", то паники по кд это очень "безопасно" и радует пользователя, ну и сегфолты никто не отменял.

    Не мог бы ты привести конкретный пример, где словил панику там, где обычная grep просто молчит?
    Про сегфолты твои фантазии интересны, конечно. Но с ними лучше к доктору обратись. Или примеры в студию.

     
     
  • 8.245, Аноним (1), 15:58, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Автор манька, я грепал сорцы хрома и рг оперативно всосал У меня нет примера и ... текст свёрнут, показать
     
     
  • 9.288, Прохожий (??), 19:34, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Автор - довольно уважаемый разработчик, вообще-то Один из контрибьюторов в Раст... текст свёрнут, показать
     
     
  • 10.303, Аноним (1), 20:31, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ясно-ясно... текст свёрнут, показать
     
     
  • 11.349, Аноним (348), 11:46, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, если пользователь путает жесткий диск и процессор, рановато ему о... текст свёрнут, показать
     
     
  • 12.353, Аноним (1), 11:51, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Непонятно, к чему ты тут это приплёл, видимо, иллюстрация одного известного эффе... текст свёрнут, показать
     
  • 3.74, Аноним (70), 03:07, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ripgrep has optional support for switching its regex engine to use PCRE2. Among other things, this makes it possible to use look-around and backreferences in your patterns, which are not supported in ripgrep's default regex engine

    А, даже ещё проще, они regexp частично поддерживают :-) понятно.

     
     
  • 4.135, Аноним (348), 10:17, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не хочу вас огорчать, но вы видели BRE и ERE, которые доступны в старом grep без включения perl-режима?
     
     
  • 5.146, Онаним (?), 10:33, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так мы же за производительность.
    Соответственно все недоделки на хрусте упрутся именно в том, что их использовать не будут, а будут использовать PCRE2. А если в недоделке включить PCRE2, она внезапно окажется не быстрее PCRE2 :D
     
     
  • 6.186, Аноним (348), 11:32, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    90% бытовых задач админа решается средствами BRE/ERE.
     
     
  • 7.221, Онаним (?), 14:20, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    80/20
     

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

  • 1.23, Аноним (-), 23:07, 02/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Убедили Читаем Ну для этого надо блобятину скачивать на компутер, нет уж спаси... большой текст свёрнут, показать
     
     
  • 2.26, Аноним (27), 23:42, 02/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > По моему скромному мнению - кто не осили сишечку - раст не осилит уж точно

    А откуда у вас были такие ожидания, что Rust легко освоить, тем более не зная C/C++? Наоборот, при знании C++ гораздо проще понять, почему придумали Rust и какие проблемы он решает. И да, Rust известен своим высоким порогом вхождения относительно остальных языков.

    Хотя AFAIK я слышал, что в Rust люди идут и после скриптовых языков вроде Python и JS, но здесь пруфов не будет.

     
     
  • 3.60, anonimous (?), 01:45, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Наоборот, при знании C++ гораздо проще понять,  почему придумали Rust и какие проблемы он решает.

    При знании stl и умных указателей как раз как-то не очень понятно зачем раст придумали. Т.е. зачем придумали то понятно, а вот зачем он нужен не очень.

     
     
  • 4.87, Аноним (86), 07:07, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Имхо у C++ проблема - отсутствие бинарной совместимости. Это мешает его использовать для системных либ. Поменяли порядок виртуальных методов в классе, или добавили новый - всех клиентов надо пересобирать. Поэтому в Symbian, в свое время, даже заводили пустые методы, чтобы зарезервировать имя на будущее.
     
     
  • 5.91, fsb4000 (?), 07:17, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Лол, в С++ отличная бинарная совместимость. с 1993 года, даже до первого стандарта С++ вышел COM, и до сих пор бинарно совместим. 28 лет бинарной совместимости. А так и в сишке в левых либах ломают бинарную совместимость каждый год...
     
     
  • 6.104, ОйраОйра (?), 08:08, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В приведенном сценарии у C++ будут проблемы, а вот бинарная совместимость от перемены порядка функций в C не зависит. И при чем здесь COM? Вы на VB писать собираетесь? С получением метода через IDispatch? В остальном - те же проблемы.
     
     
  • 7.115, fsb4000 (?), 08:30, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты в курсе что такое COM?

    Это просто класс С++ только с виртуальными методами  особой конвецией вызова, который наследуется от IUnknown.

    Ты в курсе что такое бинарная совместимость?

    Это когда ты компильнул свой класс и можешь использовать с разными компиляторами. Вот собрав свой COM класс в 1993 году на каком-нибудь убогом Borland C++, ты можешь использовать его с Visual C++2022 и Mingw gcc 11 в 2021.

    Та чушь которую ты выдумал не относится к бинарной совместимости никак.

     
     
  • 8.119, ОйраОйра (?), 08:39, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе больше нравится термин ABI Пусть ... текст свёрнут, показать
     
  • 8.125, n00by (ok), 09:38, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    COM это Си-интерфейс Стандарт Си не требует реализации таблицы виртуальных фу... текст свёрнут, показать
     
     
  • 9.131, fsb4000 (?), 10:05, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    c struct IUnknown public virtual HRESULT QueryInterface REFID riid, v... текст свёрнут, показать
     
     
  • 10.168, n00by (ok), 11:05, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    code Microsoft Macro Assembler MASM IInterface_Function1Proto t... большой текст свёрнут, показать
     
  • 8.126, Аноним (126), 09:39, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Повторю вопрос анонима выше - причем здесь COM И в чем здесь заслуга C , если ... большой текст свёрнут, показать
     
  • 6.211, anonymous (??), 13:49, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы перепутали. Бинарная совместимость как раз у С++ постоянно ломается. Например, из-за этого виндузоиды имеют много копий стандартной библиотеки (просто разные версии). В свободных дистрибутивах попроще, ибо всё можно пересобрать, ибо совместимость программного уровня в С++ сохраняется.
     
     
  • 7.258, fsb4000 (?), 16:51, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Вы перепутали. Бинарная совместимость как раз у С++ постоянно ломается.

    Я не перепутал. COM бинарная совместимость не ломалась никогда. Вы можете COM класс собранный Visual C++ 2.0 слинковать с новейшим gcc или Visual C++ или с чем угодно, хоть с паскалем или Rust.

    COM - это подмножество С++ если важна бинарная совместимость между компиляторами и даже между разными языками программирования.

     
  • 7.267, fsb4000 (?), 16:59, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как пример, DirectX написан на С++. И вы можете использовать DirectX из любого языка, с любыми версиями компиляторов.

    Надеюсь пример понятен.

     
     
  • 8.336, Зз (?), 23:52, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    COM - хорошая штука Уважаю безгранично, мне кажется его даже недооценили в своё... текст свёрнут, показать
     
  • 4.94, Прохожий (??), 07:36, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Затем, что освоить спецификацию C++, которая составляет примерно полторы тысячи страниц, как показывает практика, никому не под силу. Это в свою очередь чревато большим количеством ошибок в коде.

    Кроме того, в C++ частая проблема - UB.

    Кроме того, в C++ нет такой удобной стандартной инфраструктуры, как в Rust.

     
     
  • 5.100, ОйраОйра (?), 07:59, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Спецификация C++ - это для разработчиков компиляторов. Для обычного прикладного программиста на C++  cppreference.com дает отличную выжимку из него. И его вполне возможно осилить.
     
     
  • 6.218, Прохожий (??), 14:16, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да, конечно, можно Вот только люди, очень даже грамотные и толковые, надо замет... большой текст свёрнут, показать
     
  • 5.118, Аноним (-), 08:39, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Кроме того, в C++ нет такой удобной стандартной инфраструктуры, как в Rust.

    С JS дяденька вылез и думает, что leftpad.io - это круто. И даже новости на опеннете об очередных майнерах в удобной стандартной инфраструктуре ноды или питона не смогли поколебать его разум, потому что раст априори безопасен, что значит, майнеров в карго конечно же не будет.

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

     
     
  • 6.147, Онаним (?), 10:34, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Всё ещё хуже. Они учатся тянуть чужие высеры, и считают, что научились погромировать.
     
     
  • 7.190, Аноним (348), 11:39, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Такая вот культура программирования, что поделать.

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

     
     
  • 8.217, Онаним (?), 14:13, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    s библиотеку обёртку к openssl или xz ... текст свёрнут, показать
     
  • 6.231, Прохожий (??), 15:33, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Про то, что программы дожны каждая делать своё дело и то, что системе сборки не требуется лезть в интернеты, я уже молчу.

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

    > С JS дяденька вылез и думает, что leftpad.io - это круто.

    Какой у тебя занимательный бред. Только мне он не особо интересен. Обратись к специалисту лучше. Вдруг поможет.

    > раст априори безопасен

    Сам придумал глупость, и сам же её опровергаешь. Раст более безопасный, чем тот же C - вот это действительно априори.

     
  • 2.33, Аноним (32), 00:10, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    С каких пор Rust для тех кто не освоил указатели? Там вообще-то есть указатели наряду со ссылками.
     
     
  • 3.42, Аноним (-), 00:44, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > С каких пор Rust для тех кто не освоил указатели?

    Так на опеннете под каждой новостью о расте авторитетные аноны пишут - "Мы все так говорим, а значит это правда!"


     
     
  • 4.95, Прохожий (??), 07:42, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе бы вместо чтения "авторитетных анонимов" лучше бы взять да почитать книгу для начинающих программировать на Rust. Есть бесплатно на русском, если что, правда, перевод такой себе. Есть и в профессиональном переводе, но за деньги.
     
     
  • 5.223, Аноним (223), 14:26, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Тебе бы вместо чтения "авторитетных анонимов" лучше бы взять да почитать книгу

    Тебе бы, помимо "погромистких книг", еще бы посмотреть в словаре "сарказм" и почитать классику:
    https://sheba.spb.ru/libra/kipling_maugli.htm
    > Обиженный, сонный и голодный Маугли всё же не мог не смеяться, когда обезьяны начинали в двадцать голосов твердить ему, как они мудры, сильны и добры и как он неразумен, что хочет с ними расстаться.
    >
    > — Мы велики! Мы свободны! Мы достойны восхищения! Достойны восхищения, как ни один народ в джунглях! Мы все так говорим — значит, это правда! — кричали они.
    >

     
     
  • 6.235, Прохожий (??), 15:40, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не силён в определении сарказма по постам на форуме. Сорри.
     
  • 3.188, Аноним (-), 11:37, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > С каких пор Rust для тех кто не освоил указатели?

    На официальном сайте так написано. Или читать не научили ?

     
     
  • 4.192, Аноним (348), 11:42, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Такое определение подходит к любому программисту на C/C++.
    Во всем мире на найдется ни одного такого, написавшего что-то сложнее приветмира и не налажавшего с указателями.
     
     
  • 5.204, Аноним (-), 12:44, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Про это там тоже что-то было написано. Во всем раста мире наверное таки и не найдется..
     
  • 4.210, Аноним (-), 13:04, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> С каких пор Rust для тех кто не освоил указатели?
    > На официальном сайте так написано. Или читать не научили ?

    Заглядывать на официальный сайт раста в голове анонима - вряд ли научили.
    Цитату и ссылку в студию, если не балабол.


     
  • 2.44, Аноним (-), 01:04, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ну для этого надо блобятину скачивать на компутер,

    Источник "Правдивейшие фантазии очередного опеннетчика о Расте, том 119"?

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

    Сначала честно ответьте:
    если комментарии "фантазии о расте и вопросы по мотивам анонимных фантазий о расте" пишут исключительно анонимы нетрадиционной ориентации, то неужели они думают, что осилят прочитать ответ?


     
  • 2.48, Токсичный адепт Rust (?), 01:09, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну для этого надо блобятину скачивать на компутер, нет уж спасибо

    Все крупные дистрибутивы уже завезли Rust в качестве пакета. Можно просто взять и поставить.

     
     
  • 3.52, Аноним (348), 01:17, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А вот на винде, где сидят отважные борцы со ржавчиной - надо скачивать!
     
     
  • 4.61, Токсичный адепт Rust (?), 01:47, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А разве на винде блобы кого-то волнуют?
     
     
  • 5.189, Аноним (348), 11:37, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если они ржавые - то да!
    Пользователи винды - за чистоту системы от оксидов!
     
  • 3.278, Аноним (-), 18:01, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Под ZorinOS не хочет ставиться...
     
  • 2.92, Прохожий (??), 07:22, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >кто не осили сишечку - раст не осилит уж точно

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

     
     
  • 3.117, Аноним (-), 08:32, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чистая сишка - это не просто язык программирования. Си - это квитэссенция процедурной парадигмы. А парадигмы как законы физики, не могут устареть.
     
     
  • 4.122, Аноним (122), 09:24, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    чистая сишечка  - это как коммунизм. утопия.

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

    Короче, говно, эта ваша сишка, та которая получилась в реальности.

     
     
  • 5.191, Аноним (-), 11:42, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > в реальности людям приходиться иметь дело с разными реализациями, на разных архитектурах. И всезде свои особенности,

    Прикинь.
    А ты сишку только сегодня начал учить ? Могу похвалить, уровень примерно как и у местных растописателей - мифический :D

     
     
  • 6.198, Аноним (-), 12:21, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Он ещё не успел узреть божественную суть GCC.
     
     
  • 7.300, Аноним (122), 20:26, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    что мне ее узревать.

    поверю професссионалам: "The gcc people are more interested in trying to find out what can be
    allowed by the c99 specs than about making things actually _work_."

    попросту - кучка буквоедов, в плохом смысле слова.

     
     
  • 8.335, Аноним (-), 23:16, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    быть пожирателем синтаксиса - это выбор прогрмминг про другое вообще... текст свёрнут, показать
     
  • 4.233, Прохожий (??), 15:39, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если Си - это квинтэссенция парадигмы, то не нужна нам такая парадигма. Нам, видишь ли, не шашечки нужны, нам ехать надо. ;)
     
  • 4.294, Ordu (ok), 20:07, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Си - это квитэссенция процедурной парадигмы.

    Если чего Си и квинтэссенция, так это ассемблеров из 70-х годов. Всё остальное в C в сильно разбавленном виде.

     
     
  • 5.334, Аноним (-), 23:14, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А что-то вообще изменилось с 70х годов ?
     
     
  • 6.338, Аноним (-), 00:17, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А что-то вообще изменилось с 70х годов ?

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

     
     
  • 7.356, Аноним (-), 16:48, 04/12/2021 Скрыто модератором
  • –2 +/
     

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

  • 1.29, Аноним (-), 23:54, 02/12/2021 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • +1 +/
     
     
  • 2.38, Токсичный адепт Rust (?), 00:22, 03/12/2021 Скрыто модератором
  • +2 +/
     
     
  • 3.75, Аноним (70), 03:13, 03/12/2021 Скрыто модератором
  • +/
     
     
  • 4.80, anonymous (??), 03:59, 03/12/2021 Скрыто модератором
  • +3 +/
     
  • 2.79, anonymous (??), 03:57, 03/12/2021 Скрыто модератором
  • +1 +/
     
  • 2.93, Прохожий (??), 07:29, 03/12/2021 Скрыто модератором
  • +1 +/
     

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

  • 1.68, Аноним (68), 02:32, 03/12/2021 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –1 +/
     
     
  • 2.78, anonymous (??), 03:55, 03/12/2021 Скрыто модератором
  • +1 +/
     
     
  • 3.81, Аноним (68), 04:32, 03/12/2021 Скрыто модератором
  • –1 +/
     
     
  • 4.85, anonymous (??), 05:55, 03/12/2021 Скрыто модератором
  • +1 +/
     
  • 2.99, Прохожий (??), 07:52, 03/12/2021 Скрыто модератором
  • +/
     

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

  • 1.105, Иваня (?), 08:11, 03/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > ... std::mem::size_of::<u64>() ...

    Страшно, очень страшно, мы не знаем что это такое, если бы мы знали, что это такое, но мы не знаем, что это такое)

     
     
  • 2.199, Аноним (53), 12:33, 03/12/2021 Скрыто модератором
  • –3 +/
     
     
  • 3.247, Аноним (-), 16:25, 03/12/2021 Скрыто модератором
  • +1 +/
     
  • 2.248, Аноним (-), 16:28, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >> ... std::mem::size_of::<u64>() ...
    > Страшно, очень страшно, мы не знаем что это такое, если бы мы
    > знали, что это такое, но мы не знаем, что это такое)

    И то ли дело boost::mpl::sizeof_<DATA_TYPE>


     
  • 2.368, Аноньимъ (ok), 23:55, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я вот растбук дальше хеллоу верда не читал, но опыт подсказывает, что это функция возвращающая размер типа uint64.
     

  • 1.112, Аноним (-), 08:28, 03/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Язык одной реализации, убийца сишарпа.
     
     
  • 2.166, Анонимъ (?), 10:57, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ващет есть реализация под gcc.
     

  • 1.114, Аноним (114), 08:30, 03/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Какие плюсы по сравнению с хачкелем?
     
     
  • 2.124, fsb4000 (?), 09:32, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Более безопасный :)

    При реализации одного и того же алгоритма Haskel всё скомпилирует и будет работать, Rust продолжит съедать мозг с временем жизни и говорить что все в опасности :)

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

     
     
  • 3.175, MAX (??), 11:19, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Слава богу что хоть с юмором у нас все хорошо )
    И по моему лучший комментарий из всех что я читал про Rust )
     
  • 3.200, Аноним (200), 12:33, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    безопасТный
     
  • 3.209, Аноним (-), 13:01, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Rust это язык для любителей страдать. Тем кто хочет боли и унижений.

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

    Учите раст товарищи опенчановцы и да прольется гнев и заполохают табуретки растокодеров !

     
  • 3.390, Аноньимъ (ok), 10:26, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >При реализации

    При декларации.

    >Haskel всё скомпилирует

    Со временем.

    >и будет работать

    В конечном счёте.

     
  • 2.219, Аноним (219), 14:17, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Предположу что это производительность при относительной безопасности языка.
     

  • 1.116, Аноним (-), 08:31, 03/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Если так подумать, то гораздо проще рачта было бы завезти сишечку в SML и получившийся гибрид был бы гораздо проще. А с текущими оптимизирующими компиляторами вся эта орава растоманов могла бы уже давно на нём (или окамле) что-то годное писать.
     
     
  • 2.130, n00by (ok), 09:52, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну как бы немножко завезли. Пока компилируется HelloWorld, можно выпить кофе.

    "Имеет тонкий и быстрый FFI[en], обеспечивающий полное двустороннее взаимодействие с языком Си (вплоть до взаимной рекурсии); а также генератор привязок[en] NLFFI (No-Longer-Foreign Function Interface — рус. интерфейс к отныне-более-не-чужеродным функциям), позволяющий встраивать заголовочные файлы Си прямо в проект на SML и использовать прямые вызовы функций Си в программах на SML[5]."

    https://ru.wikipedia.org/wiki/MLton

     

  • 1.120, Аноним (-), 08:55, 03/12/2021 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • +3 +/
     
  • 1.123, Аноним12345 (?), 09:31, 03/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Язык для хипстеров
    Порог вхождения довольно высок
    Синтаксис невменяемый
    Область применения ограниченная
     
     
  • 2.154, Аноним (154), 10:41, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я (бывший многолетний C++-ник) тоже раньше любил поглумиться над синтаксисом Раста. Но в процессе освоения его и работы (а уже третий год пошёл) понял, что каждая деталь синтаксиса тщательно продумана и добавлена не просто так. Rust — изящный красивый язык.
     
     
  • 3.203, Аноним (200), 12:36, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а с наследованием-то как в нём, всё также?
     
     
  • 4.277, Аноним (154), 17:56, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Rust не является джаваподобным объектно-ориентированным языком. В нём есть инкапсуляция и полиморфизм, но нет наследования реализации. Можно закодировать отношение "IsA" между трейтами, впрочем, и назвать это наследованием интерфейса. А от наследования реализации на практике часто больше проблем, чем пользы.
     
     
  • 5.316, Аноним (68), 21:53, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ООП в том виде в котором оно есть, еще с Simula пошло
     
  • 3.337, морошка ягодка такая (?), 00:00, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +10 +/
    > изящный красивый язык.

    Как только разработчик произносит слова изящный и красивый, я сразу обращаю на это внимание. Скорее всего он приболел. Так же я обращаю внимание на некоторые слова в его речи, которые он произносит с свойственным придыханием:
    "функторы",
    "идиомы",
    "всё есть (вставьте сюда любое слово)",
    "ФП",
    "ООП",
    "Запахи кода",
    "Интерфейс сегрегейшен",
    "Предварительная пессимизация".
    "Согласен" (переводится как "ты не прав, но я готов сделать исключения для тебя, отсталый дeбил")

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

    У этой болезни есть так же менее заметные на первый взгляд симптомы:
    - разработчик программирует на кухне, не прикасаясь к компьютеру
    - разработчик очень редко поворачивается к своему столу и основное время проводит за разговорами
    - откидывается на стуле и закрывает глаза при разговоре
    - очень умный взгляд, смотрит как бы сквозь собеседника, решает в голове одновременно 2-3 задачи
    - может тебя похвалить с высоты собственного величия
    - стол усеян игрушками, кубиками рубика и статуэтками героев марвел
    - три монитора, притом, один из них повёрнут "на попа"
    - механическая клавиатура, разделённая на пополам, с переключателями "чери блю", набирает текст очень быстро, аггрессивно (переписывается с женой в телеграме)
    - вертикальная мышь марки "члeн"
    - очень специфично настроенное окружение, всё заточено под себя, имеет шорткаты ко всему.
    - делает техдолг, рефакторит, пишет фреймворки для простых вещей в то время, которое не занято обсуждением программирования и баб
    - говорит загадками
    - сражается с мельницами
    - решает задачи на два года вперёд, предлагает сложные и очень интересные способы решения задачи "загрузи JSON и покажи" и "прими JSON и запиши в БД"
    - имеет на каждый библиотечный метод обёртку, которая лучше, потому что в в Microsoft работают индусы и программировать не умеют
    - его код как правило через 3 месяца выкидывавают и меняют на "IF ELSE"
    - тот код, который не смогли выкинуть, доставляет всем проблемы, потому что он "очередь функций самоитерирующихся стратегий в тред-пуле (самописном, конечно же)"
    - пишет не код, а кодогенераторы, которые всё за него делают


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

     
     
  • 4.340, Зз (?), 01:32, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Хаха, жизненно
     
  • 4.345, n00by (ok), 08:52, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Так же я обращаю внимание
    > на некоторые слова в его речи, которые он произносит с свойственным
    > придыханием:
    > "функторы"

    Вот сейчас не понял, это про Rust или про operator(). Но на всякий случай плюсанул и убрал со стола ключ-шестигранник.

     
  • 4.371, Аноньимъ (ok), 00:00, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >- пишет не код, а кодогенераторы, которые всё за него делают

    Иногда это необходимость.

    И если может, и ему так удобно, то замечательно.
    Тем более что, на сишечке например без кодогенераторов педалить есть слабоумие и отвага.

     
  • 4.382, Онаним (?), 00:15, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Плять, не в бровь, а в глаз.
     
  • 4.410, wyry (?), 18:27, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Подписываюсь под каждым словом , я одно время тоже долго и тяжело болела LISP ом... большой текст свёрнут, показать
     
     
  • 5.413, морошка ягодка такая (?), 23:26, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > растоманы конечно скажут что ЭТО ДРУГОЕ

    Это факт, это другое. Даже дотнет решает 90% вероятного УБ.

     
     
  • 6.414, wyry (?), 16:57, 27/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У Pascal (всех или почти всех диалектов) вообще нет UB. При этом он гораздо проще в освоении, программировании и чтении кода, однако Pascal устарел и не нужен даже для обучения (при этом обучают на Python (маразм), который вообще не объясняет как всё работает "за кадром"), и Rust в котором всё стильно, модно, молодёжно, но спустя время не было написано ничего вменяемого и масштабного. Кстати даже на Pascal написано дохрена, несмотря на то что это даже близко не менстрим и "коллеги засмеют".
     
     
  • 7.417, морошка ягодка такая (?), 20:02, 27/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > он гораздо проще в освоении, программировании и чтении кода

    Я думаю, в таких случаях уместно писать "на мой взгляд".


     
     
  • 8.418, wyry (?), 03:42, 28/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    нет, это именно объективный взгляд Я на Pascal не писала уже со времён универа,... текст свёрнут, показать
     
     
  • 9.419, морошка ягодка такая (?), 08:55, 28/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    извини, я дальше не стал читать... текст свёрнут, показать
     
  • 2.243, Прохожий (??), 15:54, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Язык для хипстеров

    В Амазоне, Гугле, Вавее, Майкрософте одни хипстеры работают. Да? Может хватит уже лужи газифицировать?

    > Порог вхождения довольно высок

    Вовсе нет. Очень простой язык по сравнению с C++.

    > Синтаксис невменяемый

    Вменяемый и красивый, можно даже сказать. Но это - вкусовщина, конечно же.

    > Область применения ограниченная

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

     
     
  • 3.393, Sem (??), 20:27, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вовсе нет. Очень простой язык по сравнению с C++.

    Ну да, а вот это очень очевидная конструкция что делает?

    let f: || -> () = || {...};

     
     
  • 4.395, Аноним (154), 10:23, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А чего непонятного? Создан биндинг к значению типа замыкания (безымянной функции с захватом контекста) без параметров, возвращающего unit (то есть ничего не возвращающего). В дальнейшем предполагается вызов вида f(). Очевидно, чтобы делать что-то полезное, это замыкание должно использовать окружающий контекст для создания побочных эффектов.
     
     
  • 5.399, Sem (??), 19:20, 07/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще, это на перл похоже.
     
  • 4.400, Gedweb (ok), 19:35, 07/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    тоже что и стрелочная функция в TS и выглядит так же
     
  • 4.402, freecoder (ok), 13:38, 08/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вы привели невалидный код. Запись типа

    || -> ()

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



    let foo: fn() = || {};



     

  • 1.127, cat666 (ok), 09:40, 03/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Я здесь ради срача.
     
     
  • 2.170, Аноним (-), 11:09, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Запасайся попкорном.
     
     
  • 3.236, Аноним (53), 15:42, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да ты знаток пердежа от попкорна! Специалист со стажем, да?
     

  • 1.139, Онаним (?), 10:24, 03/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    _: () - это водолаз?
     
     
  • 2.172, n00by (ok), 11:14, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это чекурва (человек, курящий вайп).
     
     
  • 3.183, Аноним (-), 11:25, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Нет, это ты, которые просматривает логи форума.
     
  • 2.216, Аноним (216), 13:57, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты хотел сразу эмодзями программировать?
     
  • 2.282, Прохожий (??), 19:15, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это непроверяемая компилятором переменная (константа) на предмет её задействования где-то в коде. Символ подчёркивания в начале имени (в данном случае он единственный в имени) говорит компилятору, что если даже эта переменная (константа) не используется, не обращай на это внимание. Можно было бы и директиву включить соответствующую, но иной раз так проще.

    () - означает пустой тип (вроде NULL, void).

     
     
  • 3.289, Филимон Любопытный (?), 19:40, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо за разъяснения. В знак благодарности обещаю не угорать над Рустом две следующие новости. Есть ещё маленький вопрос: я правильно понимаю, что

    const _: () = assert!(std::mem::size_of::<u64>() == 8);

    это эквивалент

    static_assert(sizeof(uint64_t) == 8);


    ???

     
     
  • 4.290, Прохожий (??), 19:48, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    std::mem легко можно убрать из этого выражения, если вы на громоздкость намекаете, задействуя use. Например:

    use std::mem::size_of;

    "const _:() =" тоже по сути не сильно нужен. Можно без него обойтись.

    в итоге останется:

    assert!(size_of::<u64>() == 8);

    Сойдёт?

     
     
  • 5.293, Прохожий (??), 20:03, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Восклицательный знак в assert!() означает, что мы используем макрос. Так проще отличать от других функций.
     
     
  • 6.322, Онаним (?), 22:09, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Восклицательный знак - это что-то от эмо-культуры. Упасть на пол и стенать рыданиями. Или рыдать стенаниями.
     
     
  • 7.331, Аноним (-), 22:37, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> !(a != 0)
    > Восклицательный знак - это что-то от эмо-культуры. Упасть на пол и стенать
    > рыданиями. Или рыдать стенаниями.

    Паскалист, не пались ...

     
     
  • 8.332, Онаним (?), 22:41, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты просто не чувствуешь разницы В твоём выражении это просто логика А вот asse... текст свёрнут, показать
     
  • 8.333, Онаним (?), 23:13, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и кстати да, ты даже не ошибся, я вполне себе и в паскаль с дельфи умею Хотя... текст свёрнут, показать
     
  • 4.291, Прохожий (??), 19:52, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > обещаю не угорать над Рустом две следующие новости

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

     
     
  • 5.295, Филимон Тактичный (?), 20:08, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну, в данном случае, значение слова "угорать" было ближе к "издеваться", но я не хотел вас задеть (ибо Куверти не выдержал и куда-то пропал) и в последний момент заменил.

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

     
     
  • 6.298, Прохожий (??), 20:16, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да, пожалуйста, задевайте на здоровье.  Чем бы дитя не тешилось, как говорится. ;)

    Я - не фанат Раст. У меня вообще другая профессиональная область интересов. Просто не нравится атмосфера, в которой идёт обсуждение очередной новости об этом языке. Вот и вся причина, почему я некоторым могу со стороны показаться токсичным.

    У любого языка есть недостатки. Это я готов признавать и признаю. Но давайте же обсуждать что-либо КОНСТРУКТИВНО. Вот как вы, например. Вам что-то непонятно, вы задали вопрос. Я, как смог, ответил. Но когда приходят люди, и начинают сходу писать "язык для идиотов", "не нужно" и так далее, то разговаривать с такими вежливо не получается.

    Заранее благодарен за понимание.

     
  • 4.292, От.Со.Сишник (?), 20:03, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Есть ещё маленький вопрос: я правильно понимаю, что
    > const _: () = assert!(std::mem::size_of::<u64>() == 8);
    > это эквивалент
    > static_assert(sizeof(uint64_t) == 8);
    > ???

    "Эквивалент" - это вот тут https://docs.rs/static_assertions/0.1.1/static_assertions/index.html
    Нюанс в том, что растовый assert/static_assert - реализуется макросами, а не в недрах компилятора.



    use std::mem::*;
    #[macro_export]
    macro_rules! static_assert {
        ($condition:expr) => {
            const _: &() = &[()][1 - ($condition) as usize];
        }
    }

    static_assert!(size_of::<usize>() == 8);
    static_assert!(size_of::<*const u8>() == 8);
    static_assert!(align_of::<*const u8>() >= align_of::<u128>());
    static_assert!(5>3);


     
     
  • 5.324, Онаним (?), 22:10, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > const _: &() = &[()]

    И вот тут я поломался, несите следующего.

     
     
  • 6.325, Онаним (?), 22:10, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    _: &() - это водолазу шланг перевязали
     
     
  • 7.328, Онаним (?), 22:12, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А &[()] - это водолаз, когда перевязанный шланг сохранялся слишком долго
     
  • 7.394, Sem (??), 20:33, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поздравляю, вы начали понимать раст )
     
  • 6.346, Cucumber (?), 11:20, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    const _: &() — объявляем константу без имени, тип которой ссылка на ничего.

    [()] — создаем массив из одного ничего.

    [1 - expr as usize] — берем оттуда элемент номер 1 - (подставляемое в макрос выражение, которое преобразуется в число).

    &… — берем ссылку на этот элемент.

     
     
  • 7.347, Cucumber (?), 11:23, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    соответственно, когда результат вычисления поставляемого выражения не true или 1, то мы пытемся взять элемент за границами массива из одного элемента и программа падает.
     
  • 7.352, n00by (ok), 11:48, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > создаем массив из одного ничего.

    В Средние века вот за такое и сжигали.

     
     
  • 8.403, freecoder (ok), 13:49, 08/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В этом есть смысл, так как ничто ничего не занимает в памяти, соответственно и... текст свёрнут, показать
     
     
  • 9.406, n00by (ok), 17:01, 08/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да я про костёр не шутил Сатана - это тот, кого нет ... текст свёрнут, показать
     
  • 4.296, Ordu (ok), 20:09, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В знак благодарности обещаю не угорать над Рустом две следующие новости.

    Не, в знак благодарности ты должен угорать в два раза больше. Я специально открываю новости о расте на опеннете, чтобы почитать как опеннет угорает над тем, чего не понимает.

     
  • 4.297, Ordu (ok), 20:14, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Есть ещё маленький вопрос: я правильно понимаю, что
    > const _: () = assert!(std::mem::size_of::<u64>() == 8);
    > это эквивалент
    > static_assert(sizeof(uint64_t) == 8);

    Нет. Результат assert'а в первом случае сохраняется в переменную. В _const_ переменную. То есть assert! должен отработать во время компиляции, а не в рантайме. И обломаться если что должна компиляция, а не рантайм.

     
     
  • 5.299, Филимон Тактичный (?), 20:22, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. это извращение (простите хак) только для того чтобы assert сработал на стадии компиляции ?!?!? Ох как необдуманно я пообещал Прохожему!


     
     
  • 6.301, Прохожий (??), 20:28, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вам всё-таки нужно что? Протестировать программу или сохранить результат теста в константе?

    И что здесь необдуманного, не могли бы вы прояснить?

     
     
  • 7.306, Филимон Непонятливый (?), 20:42, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я не понял зачем сохранять в константе. Зачем пишется сохранение того, что не будет использовано и не может быть использовано. Ведь смысл вызвать прекращение компиляции, если не соблюдаются необходимые условия.


     
     
  • 8.308, Прохожий (??), 20:57, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вам, если действительно интересно, лучше ознакомиться с главой 11 популярной в ... текст свёрнут, показать
     
     
  • 9.327, Онаним (?), 22:11, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Честно говоря, круги слишком узкие, чтобы влезать И слишком громкие, чтобы прос... текст свёрнут, показать
     
     
  • 10.372, Аноньимъ (ok), 00:04, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Используйте лубрикант на силиконовой основе ... текст свёрнут, показать
     
  • 7.307, Ordu (ok), 20:50, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В данном случае, нужно обломаться на этапе компиляции, если размер типа не соотв... большой текст свёрнут, показать
     
     
  • 8.309, Прохожий (??), 20:58, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я не вам задавал вопросы Филимону ... текст свёрнут, показать
     
     
  • 9.310, Ordu (ok), 21:01, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А, сори Я запутался в ответах ... текст свёрнут, показать
     
  • 9.311, Прохожий (??), 21:02, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Но спасибо, что ответили ... текст свёрнут, показать
     
  • 8.314, Филимон Непонятливый (?), 21:21, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Пятница Вечер Наверное поэтому мы не понимаем друг друга Что в С, что в C ... текст свёрнут, показать
     
     
  • 9.315, Ordu (ok), 21:52, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А, да, я проглядел Но это не растовый подход Заводить второй assert, когда мож... большой текст свёрнут, показать
     
     
  • 10.381, Онаним (?), 00:13, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот в этом весь хруст ... текст свёрнут, показать
     

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

  • 1.193, Аноним (193), 11:52, 03/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Язык этот не для человека. Это убьёт все достоинства. Даже если быстрый, работает с памятью, параллельностями и проч. Увы, обречен.
     
     
  • 2.194, Сишник (?), 12:00, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Отлично сказано! Снимаю перед вами шляпу из фольги.
     
     
  • 3.206, _hide_ (ok), 12:46, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да лучше не снимать.
    Любой современный язык, в который встроены абстракции блоков кодов и добавлена жёсткая привязка и проверка владения на выделенные объекты памяти компилятором, будет иметь те же достоинства.
    Да в С и Ко это сделать сложно (+20% ко времени компиляции очень сильно нивелируют достоинства), но нет ничего невозможного. Про однопроходные синтаксисы я вообще молчу.
     
  • 2.222, Аноним (219), 14:20, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Привыкнуть можно даже к перлу.
     
     
  • 3.234, Аноним (53), 15:40, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Перл хотя бы работает и активно используется.

    Перл - 19-е место в рейтинге.
    Раст - 26-е...

     
     
  • 4.239, Прохожий (??), 15:45, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Перл хотя бы работает и активно используется.

    От старого хлама не так-то просто избавиться. Поэтому да, используется пока что.

     
     
  • 5.351, Аноним (53), 11:48, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    От 15-летнего раста тоже пора уже избавляться, уже устарел, пока создавали.
     
     
  • 6.404, freecoder (ok), 15:30, 08/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > От 15-летнего раста тоже пора уже избавляться, уже устарел, пока создавали.

    Какая есть более новая замена Rust'у?

     
  • 3.238, Аноним12345 (?), 15:44, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Можно
    Но не нужно
     
  • 2.241, Прохожий (??), 15:48, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Язык этот не для человека.

    А какой для человека, по-твоему?

     
     
  • 3.264, Аноним (193), 16:56, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Человеки выбрали питон. Мы его не любим, а человеки выбрали.
     
     
  • 4.283, Прохожий (??), 19:16, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ок. Это начало конструктивного обсуждения. А в какой области они его выбрали и почему его, а не, скажем, C++?
     
     
  • 5.396, Аноним (396), 11:04, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    обучать личинкочеловеков "программированию" , кресты даже матерые сишники боятся, что говорить о неокрепших умах
     
     
  • 6.415, wyry (?), 17:06, 27/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Матёрые сишники не боятся кресты, скорее считают многую его функциональность идиотской и бесполезной. И кстати часто критике подвергаются "безопасные" средства управления памятью (что так любят в том же Rust!), т.к. Сишники как раз таки с памятью работать учатся В ПЕРВУЮ ОЧЕРЕДЬ. В C управление памятью уже давно перестало быть существенной проблемой даже в очень крупных проектах. И кстати раньше на C было программировать сложнее, а на других языках ВООБЩЕ НЕВОЗМОЖНО, почему? А потому что когда у вас скажем 4 мб ОЗУ, все "новомодные" инструменты управления памятью автоматически идут нахрен. Сегодня в многих даже встраиваемых системах есть гигабайты ОЗУ, Сишник сегодня может на коленке написать с нуля свой безопасный аллокатор скажем на 256 мб и его ПО будет в нём вариться с нулевой вероятностью внешней утечки и всё это вместо секса с шизоидным компилятором Rust.
     
     
  • 7.416, wyry (?), 17:19, 27/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    кстати по причинам, указанным выше Rust облажался в том числе на микроконтроллерах, где "как бы" можно было бы развернуться, на деле оказалось что как писали на C и даже иногда на C++, так и пишут, а охренительно "безопасный" Rust не взлетел, хотя пиарился системным программированием. Пусть бы на Rust просто RTOS написали ПОЛЕЗНЫЙ, а не для proof of concept-системы. В теории можно и н Brainfuck написать, вопрос лишь в пользе. На сишке сейчас любой инженер за неделю..месяц рабочего времени напишет кастомную RTOS, которая будет идеально работать, это вообще не проблема сегодняшнего времени изобилия ресурсов.
     
  • 4.405, freecoder (ok), 15:31, 08/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Человеки выбрали питон. Мы его не любим, а человеки выбрали.

    И JavaScript. "Миллионы людей не могут ошибаться!"

     

  • 1.212, Аноним (216), 13:51, 03/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Как там конференция RustCon  в Москве идет? По приборам она идёт прямо сейчас.  QwertyReg даже ливнул с опеннета так как отработал лаве.  
     
     
  • 2.232, Аноним (53), 15:38, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да что-то как-то никак не слышно...
     
  • 2.287, Аноним (-), 19:30, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >QwertyReg даже ливнул с опеннета так как отработал лаве.

    Да не, он посрать вышел. Сейчас придёт.

     

  • 1.312, Аноним (313), 21:05, 03/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какой ппц в синтаксисе. Хотя сейчас всякий сахар почти во все языки добавляется.

    Пора бы уже символы вводить и специальный font с набором (что-то подобное было, но не могу вспомнить, может анон подскажет?)

     
     
  • 2.330, Онаним (?), 22:31, 03/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не тот случай. Это не сахар, это гранитная крошка.
    Я бы ещё китайских иероглифов напихал.
     
  • 2.339, menangen (?), 00:41, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Щас и в питон наркоманию тоже вводят
     

  • 1.341, Зз (?), 02:04, 04/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я вот лично ничего против раста не имею. Даже готов закрыть глаза на то, что раст имеет против меня - так настырно лезет в мою жизнь, что похоже уже не скрыться. Намеревается уничтожить Си, который я УЖЕ знаю.

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

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

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

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

     
     
  • 2.355, Аноним (-), 13:58, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Рынок безопастников перегрет. Потому учи раст. Потом будешь еще что-то учить абы под ногами не мешался.
     
  • 2.357, Анонн (?), 17:09, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > а так ли они мешают?

    Это ты так шутишь? Правда ведь?

    Тут раз в неделю выходить новость о том, что очередные погромисты накосячили с памятью, поэтому твой сервак может выполнить произвольный код из-за кривого пакета или пдф-файла (привет мудилам их HP). Последняя была аж два дня назад - переполнение буфера в Mozilla NSS. И она там минимум с 2012 (а то и с 2003). И там чего-то только не было - и Coverity, санитайзеры, и фаззи-тестинг. И все равно они смогли нафакапить и оно жило в коде годами.

    А потом оказывается что у тебя 1млрд уязвимых андроид телефонов или ботнет из 100500 китайских вебкамер, которые никогда не получат обновлений.

     
     
  • 3.361, Аноним (-), 21:55, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Раскажи про утечки памяти в ОС Редос.
     
     
  • 4.363, Аноним (-), 22:28, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Раскажи про утечки памяти в ОС Редос.

    Ну давай, расскажи, что там за "утечки".

     
  • 4.376, Анонн (?), 00:09, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    1. Память в редоксе "текла" потому что модуль управления памятью не был написан (она не освобождалась).
    2. Утечка памяти - это не та ошибка, которая получит рут и сольет твои данные налево, максимум - denial of servive.

    Встречный вопрос - почему текло ядро https://bugzilla.redhat.com/show_bug.cgi?id=1679972, оно же написано на божественной сишечке лучшими погромистами в мире!

     
  • 3.362, Онаним (?), 22:14, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А вот если бы они писали на хрусте...
    Никаких принтеров и мозиллынсс бы не было. Был бы один сплошной хеллоуворлд.
     
     
  • 4.373, Анонн (?), 00:04, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Прекрасно, допустим раст плохое решение этой проблемы, предположим для этого не подходит.
    Назовите другое решение, которое справится с таким потоком говнокода и как следствие уязвимостями.
    Только что-то более-менее реалистичное, а не "давайте перестанем писать код плохо и начнем писать код хорошо".
     
     
  • 5.374, Онаним (?), 00:08, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Хорошая попытка манипуляции, но нет.

    Могу посоветовать только не писать говнокод.

     
  • 5.375, Онаним (?), 00:09, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И да, если для вас не писать говнокод - это не "что-то более-менее реалистичное", у меня для вас плохие новости.
     
  • 5.377, Анонн (?), 00:10, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так в том то и дело что говнокод пишу не я, а си программеры. Sad but true.
     
     
  • 6.380, Онаним (?), 00:12, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не, ну то, что не пишешь - никто не сомневался.
    Я ж не зря посоветовал "не писать говнокод". Можно вообще ничего не писать, думаю, в данном конкретном случае будет лучше.
     
  • 2.364, Аноним (364), 22:28, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Но вот проблемы-то эти с памятью, а так ли они мешают?
    > Полагаю если лезть на рынок безопасников - там раста недостаточно, там фаззеры нужны.

    Сам спросил, сам и ответил.

    Фаззеры, конечно, нужны. Вот только это очень дорогое и ресурсоёмкое удовольствие. Большие программы полностью профаззить нереально.

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

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

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

    Времена, когда программа должна "просто работать" скоро закончатся.

     
     
  • 3.365, Аноним (53), 23:46, 04/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Времена, когда программа должна "просто работать" скоро закончатся.

    Ну да, на расте проги будут просто не работать.

     
     
  • 4.378, Онаним (?), 00:10, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Хуже. Их просто не будет.
    А там, где таки умудряться налепить, будут обёртки к сишным библиотекам и ансейфы вдоль и поперёк.
    Потому что ущербно by design. Язык не для того, чтобы ограничивать возможности, ага.
     
     
  • 5.379, Онаним (?), 00:11, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    // умудрятся
     
  • 3.384, Зз (?), 03:16, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Времена, когда программа должна "просто работать" скоро закончатся.

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

     

  • 1.386, Аноним (-), 08:24, 05/12/2021 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –2 +/
     
     
  • 2.388, Онаним (?), 09:07, 05/12/2021 Скрыто модератором
  • –2 +/
     
     
  • 3.389, Аноним (389), 10:13, 05/12/2021 Скрыто модератором
  • –1 +/
     
     
  • 4.391, Онаним (?), 10:43, 05/12/2021 Скрыто модератором
  • –1 +/
     

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

  • 1.387, Аноним (-), 08:30, 05/12/2021 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • +/
     
     
  • 2.392, Аноним (-), 13:55, 05/12/2021 Скрыто модератором
  • –1 +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



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

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