The OpenNET Project / Index page

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

Выпуск Rust 1.72. Поставка пакета serde_derive только в скомпилированном виде

24.08.2023 21:01

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

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

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

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

  • В сообщениях об ошибках обеспечено отображение сведений об элементах, отключённых через атрибуты условной компиляции "cfg", позволяющие активировать выполнение Rust-кода в зависимости от наличия поддержки определённых возможностей crate или запуска на отдельных платформах. Ранее, элементы, отключённые через cfg, были не видны компилятору, но теперь компилятор запоминает их имена и условия скрытия, и отображает эту информацию в сообщениях об ошибках, что, например, позволяет понять, что какая-то функция недоступна из-за отключения определённых feature-свойств в crate.
    
        Compiling my-project v0.1.0 (/tmp/my-project)
       error[E0432]: unresolved import `rustix::io_uring`
          --> src/main.rs:1:5
           |
       1   | use rustix::io_uring;
           |     ^^^^^^^^^^^^^^^^ no `io_uring` in the root
           |
       note: found an item that was configured out
          --> /home/username/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.38.8/src/lib.rs:213:9
           |
       213 | pub mod io_uring;
           |         ^^^^^^^^
           = note: the item is gated behind the `io_uring` feature
    
       For more information about this error, try `rustc --explain E0432`.
       error: could not compile `my-project` (bin "my-project") due to previous error
    
  • Убраны ограничения на время вычисления выражений const. Ранее, для предотвращения зацикливаний во время компиляции, Rust ограничивал максимальное число выражений, выполняемых в процессе вычисления констант. Данная особенность приводила к выводу ошибок при компиляции кода, не вписывающегося в ограничения, поэтому в новом выпуске решено заменить жёсткие ограничения на вывод предупреждения, информирующего о длительно выполняемых вычислениях констант. Также по умолчанию применена lint-проверка const_eval_long_running, выявляющая зацикливания.
  • В компилятор rustc перенесена серия lint-проверок из Clippy: undropped_manually_drops, invalid_utf8_in_unchecked, invalid_nan_comparisons и invalid_reference_casting.
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Признак "const", определяющий возможность использования в любом контексте вместо констант, применён в функциях:
  • Реализован третий уровень поддержки для платформ loongarch64-unknown-none*. Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.
  • В будущем выпуске Rust 1.76 планируется прекратить поддержку платформ Windows 7, 8 и 8.1, и сделать Windows 10 минимальной версией как для самого компилятора, так и для целей компиляции.



Дополнительно можно упомянуть разногласия в сообществе, возникшие из-за перехода разработчиков фреймворка Serde на поставку crate-пакета serde_derive с макросом derive только в уже скомпилированном бинарном виде. Пакет serde_derive применяется для сериализации и десериализации данных и используется в качестве зависимости в 5495 других пакетах, среди которых 10 имеют более 50 млн загрузок. Общее число загрузок serde_derive оценивается в 172 млн (до 400 тысяч загрузок в день).

Опасение вызывает то, что поставка в бинарном виде затруднит аудит целостности пакета и повысит опасность компрометации зависимых проектов в случае успешной атаки на разработчиков фреймворка Serde. По мнению участвующих в дискуссии пользователей, повышение скорости сборки из-за поставки в предкомпилированном виде не оправдывает возникающих рисков, связанных с безопасностью. Поставка в бинарном виде также затруднит сопровождение Rust-пакетов в проектах и дистрибутивах, таких как Fedora Linux, запрещающих поставку сторонних бинарных компонентов.

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

Код Serde продолжает быть открытым и распространяется под лицензиями MIT и Apache 2.0, а несогласным с новой политикой разработчикам предложено создать и поддерживать собственный форк пакета. В ответ на критику, связанную с потерей возможности анализа кода пакета перед использованием, мэйнтейнер Serde указал, что даже на бросающийся в глаза перевод serde_derive в бинарную форму обратили внимание только спустя 4 недели и 12 релизов. При таком отношении профессионально обфусцированная вредоносная вставка в исходных текстах, вероятно, может годами оставаться незамеченной.

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

Дополнение: В выпуске 1.0.184 разработчики вернулись к поставке пакета serde_derive в исходных текстах, решив отложить переход на поставку в бинарном виде до принятия в пакетный менеджер crate изменений для полноценной поддержки верификации предкомпилированных макросов. Разработчиками Serde подготовлен RFC с предложением реализовать в Crate верификацию предкомпилированных пакетов, проводимую на сервере репозитория crates.io через сверку бинарного файла с повторяемой сборкой из исходных текстов.

  1. Главная ссылка к новости (https://blog.rust-lang.org/202...)
  2. OpenNews: Выпуск языка программирования Rust 1.71
  3. OpenNews: Представлен Crab, форк языка Rust, избавленный от бюрократии
  4. OpenNews: Google опубликовал результат аудита используемых пакетов на языке Rust
  5. OpenNews: Компания Microsoft добавит код на Rust в ядро Windows 11
  6. OpenNews: Изменение политики товарных знаков Rust Foundation
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59656-rust
Ключевые слова: rust, crate
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (229) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:52, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +19 +/
    Ни на чём этот язык не сфокусирован. Обычное шило на мыло.
     
     
  • 2.40, Иваня (?), 01:54, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Потому я выбрал Golang для прототипирования и C++ для продакшена.
     
     
  • 3.43, An2 (?), 02:25, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Значительно ли повысилась производительность и уменьшилось потребление памяти?
     
  • 3.48, Аноним (48), 03:31, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Golang для прототипирования

    А почему именно Го, а не python?

     
     
  • 4.51, Аноним (51), 04:31, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +19 +/
    Потому что Python уже выбрал я, пришлось из оставшихся вариантов выбирать
     
  • 4.52, penetrator (?), 05:36, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –6 +/
    и то УГ и то УГ, наваять на коленке что-то сойдет, но называть это "прототипированием" я бы не стал
     
  • 4.67, Аноним (67), 09:23, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что у Python мерзкий синтаксис.
     
     
  • 5.70, Пряник (?), 09:41, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Попался криворукий.
     
     
  • 6.80, Аноним (80), 09:57, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну криворукий он или не криворукий, но мне помнится было очень весело когда правил программу на Питоне, и в ней были отступы табами, а в другом коде который я скачивал и добавлял - пробелами...
     
     
  • 7.100, Аноним (100), 10:20, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Такого уже лет 10 как не встретишь. А то и больше
     
  • 7.111, User (??), 11:01, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А я вот минифицированный js как-то раз на лету правил - тоже то ещё приключение было. Далеко идущие выводы из этого факта делать уже можно?
     
     
  • 8.141, Аноним (80), 13:40, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это тут при чём Форматирование блоков кода отступами в Питоне встроенное и прин... текст свёрнут, показать
     
     
  • 9.145, User (??), 14:05, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    При том, что при форматировании дупой - любой язык становится излишне увлекатель... текст свёрнут, показать
     
  • 7.151, Аноним (151), 15:04, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Твой редактор кода не умеет в замену табов на пробелы?
     
  • 7.242, Пряник (?), 12:48, 29/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И в чём трудность поменять везде на 4 пробела? В редакторе замена текста не работает?
     

  • 1.2, pin (??), 21:53, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Дорастаманились.
     
     
  • 2.3, Аноним (1), 21:56, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +6 +/
    От былой безопастности не осталось и следа. Даже блобы норма, но при этом хозяева языка ничего не делают, да им и пофиг.
     
     
  • 3.14, pin (??), 22:25, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > былой безопастности

    Да какой там...

     
  • 3.22, пох. (?), 23:02, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как то ись не делают? Вот же ж - верификация и сертификация, чтоб блобы было удобнее и эффективнее поставлять всем тем пяти тыщам хайпожоров которым очередной лефтпад немедленно очень пригодился.

     
  • 3.133, Аноним (133), 13:12, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Эксперты опеннета как всегда.
    Во-первых, создатели языка тут ни при чем - речь о third-party библиотеке.
    Во-вторых, комьюнити это решение как раз не понравилось, огромное количество людей выразило свою неудовольствие, после чего автор библиотеки передумал и отменил публикацию бинарей.
     

  • 1.4, Аноним (4), 22:06, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    ну вот и дождались!
    И здесь маски сорваны, маскарад окончен...
    Красота.
     
     
  • 2.59, Аноним (59), 08:32, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Готовьте кредитки, скоро будете ПЛАТИТЬ!
     
     
  • 3.68, 1 (??), 09:39, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но почему сразу кредитки ?
    Может они добавят телеметрию (исключительно для безопасности) и кредитки не понадобятся.
     
     
  • 4.97, Аноним (97), 10:17, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Емнип, она и так есть, если не в самом компиляторе, то в тулинге. Хотя могу ошибаться, не цитируйте.
     
  • 3.183, Аноним (183), 11:57, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не кредитки, а ЦВЦБ.
     

  • 1.5, Anonymous116723333333333 (?), 22:06, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Хаха, поставлять скомпилированный бинарник в пакете это, конечно, сильно. Но зато я теперь понял, что значит по-настоящему значит memory safe.
     
     
  • 2.39, burjui (ok), 01:47, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какая связь?
     
  • 2.95, Минона (ok), 10:14, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > поставлять скомпилированный бинарник в пакете это, конечно, сильно

    Юзай генту =)

     

  • 1.6, Tron is Whistling (?), 22:07, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > поставлять crate-пакет serde_derive с макросом derive только в уже скомпилированном бинарном виде. Пакет serde_derive применяется для сериализации и десериализации данных и используется в качестве зависимости в 5495 других пакетах

    Любители лить в рот прямо из трубы опять предсказуемо влетели.

     
  • 1.7, Аноним (7), 22:09, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Да в общем-то и раньше умные люди критиковали макросы.

    > То есть на самом деле разбор форматной строки является не просто частью подключаемой по умолчанию библиотеки, что можно было бы предположить в случае println!, использованного в примере вывода Hello World, а и вовсе частью компилятора Rust. Сказки о невероятных удобствах и возможностях макросов, якобы позволяющих перенести в компайлтайм любое вычисление, рушатся уже на этапе написания первой программы на этом удивительном языке! Более того, с тем же успехом объяснить базовый пример можно было так, что непосредственно в языке есть конструкция вывода — и не городить огород с макросами.

     
     
  • 2.61, Аноньимъ (ok), 08:49, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это бред.
    Макросы не только лишь для принтлн нужны.
    Это абсолютно нормально начиная с 80х годов прошлого столетия иметь полноценное метапрограммирование.
     
     
  • 3.210, Аноним (210), 13:09, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    сишный define это не полноценное метапрограммирование.
     
     
  • 4.216, Аноньимъ (ok), 14:26, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > сишный define это не полноценное метапрограммирование.

    А сишка то тут причем?

    Полноценное метапрограммирование было в Лиспе примерно всегда.

     

  • 1.8, Аноним (8), 22:10, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А вот в сишечке такой ***** с блоками не было.
     
     
  • 2.9, Аноним (8), 22:12, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    *блобами
     
  • 2.11, Аноним2 (?), 22:18, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Было, но скорее по причине каменного века и отсутствия интернета. А в 2023 якобы топить за безопасность но спонсироваться гуглом и мелкософтом и предлагать бинари - ну это для любителей садомазахизма
     
     
  • 3.55, Аноним (55), 06:43, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да обосрались они со скоростью трансляции вот и пробуют экономить теперь на спичках/
    По мн е так тупиковый язык и идея
     
  • 3.152, Ананимус (?), 15:07, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Было

    Кто сказал firefox?

     
  • 2.114, Аноньимъ (ok), 11:09, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У сишки и пакетного менеджера не было.

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

    И в итоге сишкины либы как раз в большинстве бинарными блобами распространяются.

     
     
  • 3.119, Серб (ok), 11:36, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > И в итоге сишкины либы как раз в большинстве бинарными блобами распространяются.

    Сколько там процентов у debian'а пакетов с воспроизводимыми сборками?

    И на чем написаны проекты оставшихся пакетов - с не воспроизводимыми сборками?

     

  • 1.12, НяшМяш (ok), 22:20, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    > Мэйнтейнер проекта Serde отказался идти на компромисс и заявил, что предкомпилированная реализация макроса будет единственным вариантом поставки пакета serde_derive.

    Это не так. 4 дня назад он откатил изменения: https://github.com/serde-rs/serde/releases/tag/v1.0.184 Но бугурт поднял конечно знатный, ведь самое забавное то, что заметили это случайно меинтейнеры федоры и к тому времени скомпилированный бинарник уже распространялся недели три. Это к слову о том что опенсорс смотрят миллионы глаз, да.

     
     
  • 2.15, Аноним (15), 22:26, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > 4 дня назад он откатил изменения

    Но осадочек остался. Теперь буду знать, что serde разрабатывают дурачки. В прямом смысле этого слова. От того, что дурачки прогнулись под дизлайками, дурачками они от этого быть не перестали.

     
     
  • 3.16, pin (??), 22:27, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Может наоборот, свой труд уважают?
     
  • 2.44, An2 (?), 02:29, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Это не так.

    Это было именно так. Ещё к тому же он просто заткнул рот возражающим, заблокировав возможность оставлять комментарии к тому issue. Типа всё уже решено (им) окончательно, и возмущения бесполезны.

     
     
  • 3.197, Прохожий (??), 21:41, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Было и есть. Прошлое и настоящее. Гм...
     
  • 2.86, 12yoexpert (ok), 10:05, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    растом пользуются полтора землекопа, каким-то васянским пакетом - ещё меньше. откуда миллион глаз лишь бы ляпнуть?
     
     
  • 3.130, НяшМяш (ok), 13:01, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > растом пользуются полтора землекопа, каким-то васянским пакетом - ещё меньше. откуда миллион
    > глаз лишь бы ляпнуть?

    Я же не кексперт, умею интернетом пользоваться.
    https://crates.io/crates/serde
    https://crates.io/crates/serde_derive
    500 тысяч загрузок _в день_

     
  • 3.134, freecoder (ok), 13:12, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    У serde_derive 172 миллиона загрузок.
     
  • 2.101, Минона (ok), 10:23, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Это к слову о том что опенсорс смотрят миллионы глаз, да

    Это главный миф опенсорса.
    Реально в исходники смотрят только сами разработчики, а мейнтейнеры пакетов только когда сборка фейлится.

     
     
  • 3.173, Аноним (173), 06:21, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А ещё лет 15 назад, пользователи Gentoo, ставили флаги для Сишечки -Wall -Werror=format-security -fPIC и патчили сорцы, слали репорты в апстрим. А сегодня вместо флага -Werror=format-security используют ржавого.
     
  • 2.160, Аноним (-), 20:05, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > случайно меинтейнеры федоры и к тому времени скомпилированный бинарник уже
    > распространялся недели три. Это к слову о том что опенсорс смотрят миллионы глаз, да.

    Он себя повел так как будто хотел втулить через мутный централизованный сервис бэкдор. А федористам факовв. Дебианщики нормально пакетят либы в деб-пакеты как обычно вместо вот этих самопалов с блобами. При таком управлении системой невозможно не заметить такую подляну. Но если вы камлаете на самопальный недо-пакетник от гугл-амазон-майкрософта то конечно получите характерный для маздая экспериенс. А что вы ожидали то?

     

  • 1.13, Аноним (7), 22:21, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Что нужно чтобы начать использовать безопасный язык? curl | sh, исчерпать свободное место на диске уязвимостью cargo и установить несколько бинарных блобов.
     
     
  • 2.87, 12yoexpert (ok), 10:06, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > исчерпать свободное место на диске уязвимостью cargo

    я думал, выжирать место на диске - это фишка раста

     

  • 1.17, Ananimus (?), 22:28, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Да все уже, откатили прекомпилированный бинарник. К чувакам пришли в багтрекер и они в итоге сдались.
     
     
  • 2.19, Аноним (19), 22:44, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +7 +/
    >К чувакам пришли в багтрекер и они в итоге сдались.

    То, что они откатили, еще не значит, что сдались ;)
    Ну и сдача, конечно не останавливает поехавшей у них крыши - это да.

     
     
  • 3.25, Ananimus (?), 23:13, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну и сдача, конечно не останавливает поехавшей у них крыши - это да.

    Драма из ничего, в опенсурсе регулярно кто-то упоротые идеи выдает. Вспомни какую дичь Ульрих творил в glibc.

     
     
  • 4.31, Витюшка (?), 23:57, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Какую? Спрашиваю любопытства ради
     
     
  • 5.36, Ananimus (?), 00:20, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Какую? Спрашиваю любопытства ради

    Например, Ульрих решил что ему не очень интересно возиться с ARMи embedded в целом и отказывался принимать патчи. В итоге поцоны из Дебиана до 2014 года тащили свой форк elibc, который потом влили в glibc.

     
     
  • 6.42, Аноним (42), 02:15, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Можно подробнее? Ссылка на архив рассылок подойдёт. А то уже часто бывало, что Ульриха гнобили за якобы бредовые поступки, а на поверку оказывалось, что парень всё правильно сделал. Да и дебианы уже светились с кривыми патчами, которые апстрим не хотел принимать (история с cdrtools в пример).

    Но я не троллинга ради, мне правда интересно.

     
     
  • 7.45, An2 (?), 02:35, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://snapshot.debian.org/package/eglibc/

    2.9 (2009) .. 2.19 (2014). Т.е. где-то 5 лет неудобств. А то "до 2014" прозвучало, как будто неопределённо долго.

    Ещё, кстати, была история с переходом на libav (форк ffmpeg):
    0.6.2 (2011) .. 11.3 (2015 + длительная поддержка в stable Debian 8).

    https://snapshot.debian.org/package/libav/

     
  • 6.72, Пряник (?), 09:46, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Слабо тянет на дичь.
     
     
  • 7.161, Аноним (-), 20:12, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.18, Аноним (18), 22:40, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сабж это ад.
    Нет даже так... адддище.
    На роллинге еще норм, но релизный дистр - да оно или пересобирать сабж или отказываться от фокса и симанки.
    Например, в дебиане 10 и 11 специально под это дело акромя древнего системного раста есть еще раст-мозилла.
    Сейчас это 1.59 - а значит выше 102 фокса и полугодовалой 2.53.15 симанки не собрать...
    А свежий раст-моззила просит кучу зависимостей конских и неделю на пересборку...

     
     
  • 2.28, Анонин (?), 23:42, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > в дебиане 10 и 11 специально под это дело акромя древнего системного раста есть еще раст-мозилла.

    ну а как можно иначе с таким древнем мамонтовым Г?

    > неделю на пересборку

    смени свой четвертый пень на что-то поадекватнее

     
     
  • 3.33, Аноним (18), 00:05, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > неделю на пересборку
    > смени свой четвертый пень на что-то поадекватнее

    теоретик?

    там же надо прежде чем llvm пересобрать и еще с 10-ок пакетов...

    так что на 4-пне оно бы год собиралось, наверное...

     
     
  • 4.34, Анонин (?), 00:07, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно теоретик! Я от четвертого пня избавился еще лет 15 назад, когда корки вышли.
    Хз сколько оно бы на нем собиралось, но на наверное тебе можно доверять)))
     
     
  • 5.180, Аноним (18), 11:20, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    видимо еще и неадекват-теоретик... не смог прочитать что речь не столько о железе...
     
  • 4.117, Аноньимъ (ok), 11:17, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что за бред сумасшедшего.
    Прийду домой проверю сколько оно из портов под Фрей собирается.
    День там на дохлом 4хядереом бульдозере будет собираться десктоп полноценный.
     
     
  • 5.179, Аноним (18), 11:18, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    читать не пробовали?
    под 11 фрю собери и проверь как оно собирается...
     
     
  • 6.186, Аноньимъ (ok), 15:25, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Эм, 11 фря больше не поддерживается. Инфраструктура просто отключена.
    Новый софт под нее никакой не собрать. В смысле без приключений правки мейкфайлов и прочего.

    Фаерфокс ничем особенным не выделяется на фоне всего остального в этом плане.

    Оказывается опакетить сложное ПО с учётом всех зависимостей офигеть как не просто, вы открыли Америку конечно.

     
     
  • 7.211, Аноним (18), 13:31, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Дак я как раз и писал о том, что сборка FF и SM упираются именно в сабж.
    Как по самому времени пересборки, так и по ресурсам требуемым на сборку и времени на решение проблем с зависимостям.
    В итоге получается быстрее и проще хромиум собрать, чем с ФФ возиться...
     
     
  • 8.215, Аноньимъ (ok), 14:24, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для сборки раста нужно Build dependencies cmake devel cmake-core ... текст свёрнут, показать
     
  • 3.46, _kp (ok), 03:00, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >>смени свой четвертый пень на что-то поадекватнее

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

     
     
  • 4.102, Аноним (100), 10:27, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Смени cmake на cargo. Там все автоматически собирается без перерывов на кофе и ошибки
     
     
  • 5.193, _kp (ok), 19:37, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Смени cmake на cargo. Там все автоматически собирается без перерывов на кофе
    > и ошибки

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

     
  • 2.88, 12yoexpert (ok), 10:07, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    а в чём проблема с пересборкой? gentoo с растом и firefox на ryzen 5950x собирается за два часа
     
     
  • 3.178, Аноним (18), 11:16, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    читать не пробовали? речь не о роллинге по готовым ебилдам собрать...
     

  • 1.20, pashev.ru (?), 22:49, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Он уже сдал назад: https://github.com/serde-rs/serde/releases/tag/v1.0.184
     
  • 1.27, Аноним (18), 23:34, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > В будущем выпуске Rust 1.76 планируется прекратить поддержку платформ Windows 7, 8 и 8.1

    как самоотверженно стали закапывать...

     
     
  • 2.57, Аноним (57), 07:25, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нет, не по указке. Нет, не синдикат. У вас паранойя. Покупайте последние процессоры и последние версии ОС, иначе бог не полюбит вас.
     
     
  • 3.76, Аноним (80), 09:50, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Забавно что последние версии Mozilla Firefox 116.0.x, которые как бы прекратили поддержу Windows 7 и автоматически не установятся, на практике прекрасно работают в Windows 7 если их скачать и распаковать вручную
     
  • 3.84, ALTruist_linux (?), 10:00, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какой б..г то? Редмонтовский?
     
  • 2.106, пох. (?), 10:42, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Переносимый язычок (с единственным и неповторимым запретом на клонирование) такой вот переносимый.
    Винда, винда, еще винда но только правильная - и, вот, нате-на-лопате еще linoops (тоже далеко не любой).

    Модному поколению не нужны лишние сложности при сборке, "и так сойдет!"

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

     
     
  • 3.198, Прохожий (??), 22:10, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А почему Microsoft можно прекращать поддержку Windows 8.1 (платная ОС, а разработчикам Rust (бесплатная среда разработки) - нельзя? Наверное потому, чтобы великому эксперту пох-у было что ляпнуть.
     

  • 1.29, Аноним (29), 23:48, 24/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > требует обязательной инициализации значений переменных перед использованием

    Может и безопасно, но снижает производительность.

     
     
  • 2.30, Ananimus (?), 23:50, 24/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> требует обязательной инициализации значений переменных перед использованием
    > Может и безопасно, но снижает производительность.

    Говорят нам любители сишных strlen() и LIST_FOR_EACH(), ага :D

     
  • 2.38, burjui (ok), 01:44, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Производительность чего, чтения мусора из памяти?
     
     
  • 3.49, _ (??), 04:13, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если у тебя в памяти мусор то И ...
    Но ты ведь помнишь как дебиановцы "лохов" из OpenBSD/OpenSSH поправили и проинициализировали :)
    После этого пароль подбирался на простом кнопочном калькуляторе за 5 минут.
    Откатили после всепланетного рофла :)
    Так что же выходит - не весь мусор в памяти одинаково вреден? Представляю как растишек в этом месте "... разрывает на части!(С)" :)
     
     
  • 4.74, burjui (ok), 09:48, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну если у тебя в памяти мусор

    Чтение неинициализированной памяти - UB, будь то Rust или C, если за читаемым адресом действительно память, а не MMIO.

    > Но ты ведь помнишь как дебиановцы "лохов" из OpenBSD/OpenSSH поправили и проинициализировали

    Не помню, напомните.

     
     
  • 5.77, Аноним (80), 09:53, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/g0tmi1k/debian-ssh
     
     
  • 6.128, burjui (ok), 12:55, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для инициализации PRNG следует использовать специально для этого предназначенные источники энтропии, и в Linux это /dev/random, а не мусор из памяти.
     
     
  • 7.187, _ (??), 17:29, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну дык что - пропвтчишь ssh то, покажешь лохам как надо? Или так потрепалсО и в кусты? :-)
     
     
  • 8.217, burjui (ok), 14:52, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Иди сам пропатч, чудо Этому багу уже больше 10 лет ... текст свёрнут, показать
     
  • 5.91, Аноним (91), 10:10, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Чтение неинициализированной памяти - UB, будь то Rust или C

    нет, расширяй кругозор

    https://github.com/u-boot/u-boot/blob/291055efee4e1ae4ad0b62393256514a4e76cb1e

     
     
  • 6.118, Аноньимъ (ok), 11:21, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Объясните как из приведенной ссылки следует что это не UB ?
     
     
  • 7.120, Аноним (91), 11:43, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > как из приведенной ссылки следует что это не UB ?

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

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

     
     
  • 8.123, morphe (?), 12:37, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А при чём тут железо вообще UB это про то, что компилятор имеет право подобный ... текст свёрнут, показать
     
     
  • 9.127, Аноним (91), 12:49, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    при том что ответ был на пост про железо и привёл примеры где нет никакого неопр... текст свёрнут, показать
     
     
  • 10.135, Ананимус (?), 13:22, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Примеры чего В стандарте написано что чтение неинициализированной переменной эт... текст свёрнут, показать
     
     
  • 11.146, Аноним (91), 14:16, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    примеры того что можешь подтереться стандартами и UB нет для таких случаев есть ... текст свёрнут, показать
     
     
  • 12.147, Ананимус (?), 14:19, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты же понимаешь что компилятор не очень заботит чем ты подтираешься и он будет с... текст свёрнут, показать
     
     
  • 13.149, Аноним (91), 14:32, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    конечно если это нужно, а ты переменную в памяти которую можно только читать буд... текст свёрнут, показать
     
     
  • 14.150, Ананимус (?), 14:52, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ветка вообще не про это ... текст свёрнут, показать
     
     
  • 15.153, Аноним (91), 15:07, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    как раз про это - ты не понимаешь что часто требуется не инициализировать память... текст свёрнут, показать
     
     
  • 16.154, Ананимус (?), 15:31, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ох это требуется в двух случаях tight loop и общение с железом В первом слу... текст свёрнут, показать
     
     
  • 17.209, Аноним (91), 10:03, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    в ядре Linux 80 кода это драйверы железа, т е примерно всегда, охай дальше ... текст свёрнут, показать
     
     
  • 18.219, Ананимус (?), 18:15, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Прекрасно, как код драйвера железа относится к exfat ... текст свёрнут, показать
     
     
  • 19.220, Аноним (91), 19:07, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    exfat по твоему к железу относится тебя кто-то обманул... текст свёрнут, показать
     
     
  • 20.221, Ананимус (?), 21:06, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, я спрашиваю как exfat или device mapper относятся к железу Потому что дыре... текст свёрнут, показать
     
  • 21.222, Аноним (91), 23:10, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ты знаешь что не относится к железу но всё равно спрашиваешью Это наверно как-то... текст свёрнут, показать
     
  • 22.231, Ананимус (?), 12:48, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это прекрасно, но то что доступ к MMIO через volatile не отменяет того факта что... текст свёрнут, показать
     
  • 22.232, Ананимус (?), 12:51, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы не быть голословным cd src linux drivers net ethernet intel git gre... текст свёрнут, показать
     
  • 23.233, Аноним (91), 15:54, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    в коде драйверов кроссплатформенные readX writeX, ioreadX iowriteX и тд и надстр... текст свёрнут, показать
     
  • 24.234, Ананимус (?), 16:14, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ага Поэтому у тебя работа с volatile спрятана в двух функциях и не торчит наруж... текст свёрнут, показать
     
  • 25.236, Аноним (91), 17:45, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    она не спрятана - ф-ции чтения записи с гарантией того что вызовы не будут переу... текст свёрнут, показать
     
  • 26.243, Ананимус (?), 13:27, 29/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Она спрятана в функции Прям внутри Изначально речь шла о том, что читать неин... большой текст свёрнут, показать
     
  • 27.244, Аноним (91), 16:09, 29/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    объяснил на пальцах, и да ты ничего не понимаешь если этот специальный случай сл... текст свёрнут, показать
     
  • 28.251, Ананимус (?), 16:55, 31/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты условил самую суть Поэтому в Rust память инициализируются по умолчанию Для ... текст свёрнут, показать
     
  • 6.158, burjui (ok), 18:01, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, здесь вы правы, я выразился неточно: UB не сам факт чтения, и именно использование неинициализированной памяти.

    (void) readl((void *) rank1_base);

    Т.к. здесь данные не используются, UB нет. Впредь постараюсь быть точнее.

     
     
  • 7.163, Аноним (91), 21:43, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Т.к. здесь данные не используются, UB нет.

    они могут и использоваться - буферы DMA from device, общая память IPC mailbox/msgbox в SoC из которой читаешь сообщения от асинхронной корки - пишет туда сопроцессор которым упраляешь а не твой код на CPU, это аналогично MMIO но в обычной памяти.

     
  • 7.165, Someone (??), 22:36, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Разве в стандарте не говорится просто об чтении?
    В любом случае для LLVM чтение неинициализированной памяти кажется точно UB
     
     
  • 8.188, _ (??), 17:38, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда бы им можно было только хилоуворды С собирать А им даже вёдра собирают ... текст свёрнут, показать
     
  • 6.164, Someone (??), 22:27, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это UB для LLVM. Это означает что компилятор может скомпилировать этот код как ему захочется, например просто выкинуть.

    Ведь записи в память не происходит, а значит и чтения тоже нет.

     
     
  • 7.172, Аноним (91), 01:18, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Это UB для LLVM. Это означает что компилятор может скомпилировать этот код как ему захочется, например просто выкинуть.

    при чём тут LLVM - шланг стандарт С не признаёт и выкинет доступ к volatile ?

    https://elixir.bootlin.com/u-boot/latest/source/arch/arm/include/asm/io.h#L108

    https://elixir.bootlin.com/u-boot/latest/source/arch/arm/include/asm/io.h#L26

     
  • 3.66, Аноним (29), 09:10, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Допустим, есть большой массив. Есть поток данных. Массив постепенно заполняется, по мере поступления данных. Инициализация всего массива – лишняя и ненужная трата времени, если алгоритм программы его и так весь заполнит.
     
     
  • 4.103, Минона (ok), 10:32, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Речь о том что после аллокации памяти под массив из него попытались что-то прочесть раньше чем записать.
     
  • 4.104, Аноним (97), 10:34, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так можно и не инициализировать. Ансейф раст — всего лишь маркер, что компилятор снимает с себя полномочия по доказательству корректности и перекладывает их на разработчика (что сишка *почти везде*). Никто не запрещает помечать ансейфом вообще всё и писать почти как на сишкчке (и доказывать корректность каждого стейтмента в комментариях), но тогда лучше уж на сишечке и не страдать х-пстернёй ради х-пстерни. Либо использовать ансейф точечно и доказывать в комментах только отдельные оптимизации.
     
     
  • 5.169, morphe (?), 23:47, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ансейф раст — всего лишь маркер,
    > что компилятор снимает с себя полномочия по доказательству корректности и перекладывает
    > их на разработчика

    Не верно, никаких он полномочий не перекладывает, все гарантии из safe rust там сохраняются.
    Однако в unsafe{} блоке можно вызывать unsafe функции (Сторонние библиотеки например, FFI, или просто функции в которых есть unsafe, и корректность вызова которых должен доказывать пользователь), разыменовывать указатели (не путать с ссылками), обращаться с изменяемыми статичными переменными (static mut), и обращаться к полям union.
    Кроме этих дополнительных _разрешений_ unsafe блок ничего не делает.

     
  • 4.138, Ананимус (?), 13:26, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это буквально то как работает Vec в Rust. Я понимаю что сишным пердолям сложно и они по привычке используют слайсы, но господи Иисусе, нельзя же быть НАСТОЛЬКО некомпетентными.
     
     
  • 5.176, Аноним (29), 09:47, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Vec – динамический массив, а я про обычный. Работа с динамической памятью может быть медленней, особенно на микроконтроллерах.
     
  • 4.167, Someone (??), 22:39, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для этого есть https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html. Создаешь, пишешь, используешь
     
     
  • 5.177, Аноним (29), 09:56, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Здорово, но... Лишние строчки кода.
     
     
  • 6.181, Ананимус (?), 11:27, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты боишься что это медленнее будет, то не будет, весь сахар эфемерный и уйдет после компиляции. Если ты хочешь той же семантики что у Vec, то ArrayVec.
     
  • 2.54, Твайлайт Спаркл (ok), 06:43, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можно и неинициализированной памятью пользоваться, но это уже придётся оборачивать unsafe.
     
     
  • 3.159, burjui (ok), 18:07, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но в неё можно только писать, т.е. инициализировать. Использование неинициализированной памяти - UB, независимо от того, unsafe это или нет.
     
  • 2.60, eganru (?), 08:35, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В большинстве случаев нет.

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

     
     
  • 3.108, Аноним (97), 10:45, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, *лично я* как правило не доверяю оптимизациям, они если и работают, то как правило не до конца оптимально, для оптимизации горячего кода на уровне инструкций и циклов приходится бить компилятор по рукам, писать ансейф, а то и вовсе напрямую дёргать ллвм-интринсики. Но это только действительно горячий код и только под каждую конкретную платорму. Да, такое лучше делать на сишечке, но не всегда представляется возможным.
     
     
  • 4.136, eganru (?), 13:22, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я пока вилами и факелом в угол не загнали стараюсь не оптимизировать код, который работает.
     
  • 4.137, Ананимус (?), 13:23, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну, *лично я* как правило не доверяю оптимизациям

    Собираешь с -O0?

     
  • 2.168, Someone (??), 22:42, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html

    Это то что нужно знать, если уж хочется неинициализировать данные

     

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

  • 1.37, Вы забыли заполнить поле Name (?), 00:26, 25/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В npm такое часто. Это я к тому откуда ноги растут...
     
  • 1.41, burjui (ok), 01:58, 25/08/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –4 +/
     
  • 1.58, Аноним (58), 07:57, 25/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А почему все критекуют тут раст за безопасность причем тут безопасная работа с памятью и написанный код.
     
     
  • 2.112, Аноним (91), 11:05, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А почему все критекуют тут раст за безопасность причем тут безопасная работа с памятью и написанный код.

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

     

  • 1.62, Аноньимъ (ok), 08:53, 25/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то я не понял прикола. В чем соль бинарников вместо исходников?
    Если у меня отличная от бинарников архитектура?
     
     
  • 2.71, Аноним (71), 09:43, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, да. Это ж под все архитектуры надо свои бинарники.
     
     
  • 3.107, пох. (?), 10:44, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    _обе_. О каких "всех" идет речь у компилятора, который тестируют только на винде последней версии и еще...вот ?
     
     
  • 4.200, Прохожий (??), 22:25, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чуть больше, о великий эксперт. https://doc.rust-lang.org/nightly/rustc/platform-support.html
     
     
  • 5.249, Аноним (249), 13:42, 31/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Считать научись. По ссылке буквально подтверждение, что две платформы. Варианты с разными библиотеками - это не платформы, про tier 2 даже не заикайся - они не гарантируют работоспособности.
     
  • 2.73, 1 (??), 09:47, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Значит тебе не нужен serde_derive
     
     
  • 3.109, пох. (?), 10:45, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    так ему и не нужен - нужен другой библиотеке, у которой он в зависимостях пятнадцатого порядка. Причем сама библиотека может быть хорошо и грамотно написанной (хотя, конечно, куда там...)

     
  • 2.78, burjui (ok), 09:53, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Просто автор хотел сэкономить пользователям serde время на компиляцию процедурных макросов, которые, по сути, являются плагинами компилятора. Идея интересная, только:
    - У пользователя должен быть выбор, использовать прекомпилированные макросы или собирать их каждый раз с нуля (без учёта кеширования)
    - Уже давно существует sccache
     
     
  • 3.125, Аноним (125), 12:39, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    автор (dtolnay) сделал фантастическую фигню, сделав морду кирпичом и прикрываясь жалким блеянием про скорость процедурных макросов. учитывая компетентность товарища - его просто прогнули, 99% вероятности - гугл, где он работает. в гугле такая же жалкая аргументация для пропихивания мерзких дурно пахнущих "фич"

    хорошо то, что бредятину откатили, но это только пока

     
     
  • 4.131, НяшМяш (ok), 13:07, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > автор (dtolnay) сделал фантастическую фигню, сделав морду кирпичом и прикрываясь жалким
    > блеянием про скорость процедурных макросов. учитывая компетентность товарища - его просто
    > прогнули, 99% вероятности - гугл, где он работает. в гугле такая
    > же жалкая аргументация для пропихивания мерзких дурно пахнущих "фич"
    > хорошо то, что бредятину откатили, но это только пока

    На реддите и в других ветках на гитхабе ему нормально так по морде надавали. Ведь при наличии инкрементальной компиляции эта байда компилируется один раз и время потраченное на это в сравнении с компиляцией всего проекта вообще незаметно.

     
     
  • 5.170, Вы забыли заполнить поле Name (?), 23:55, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> автор (dtolnay) сделал фантастическую фигню, сделав морду кирпичом и прикрываясь жалким
    >> блеянием про скорость процедурных макросов. учитывая компетентность товарища - его просто
    >> прогнули, 99% вероятности - гугл, где он работает. в гугле такая
    >> же жалкая аргументация для пропихивания мерзких дурно пахнущих "фич"
    >> хорошо то, что бредятину откатили, но это только пока
    > На реддите и в других ветках на гитхабе ему нормально так по
    > морде надавали. Ведь при наличии инкрементальной компиляции эта байда компилируется один
    > раз и время потраченное на это в сравнении с компиляцией всего
    > проекта вообще незаметно.

    Санта-Барбара какая-то... Не лень вам участвовать в большой стирке?


     
     
  • 6.171, НяшМяш (ok), 00:48, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Санта-Барбара какая-то... Не лень вам участвовать в большой стирке?

    Хоть какое-то развлечение. Не кекспертов же местных обсуждать.

     

  • 1.63, Аноним (63), 08:53, 25/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Агент влияния NSA, для этого ставший мейнтейнером проекта Serde отказался идти на компромисс

    Ясно.

     
  • 1.64, Аноним (63), 09:01, 25/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >несогласным с новой политикой разработчикам предложено создать и поддерживать собственный форк пакета.

    Абсолютно правильно. Но есть немного другой вариант. Так как crates.io принадлежит Rust Software Foundation, то она может предложить мейнтейнеру serde создать свой содственный ЯП, пакетный менеджер, луна-парк и лунный модуль. А имя отжать и повесить по нему свой форк.

    >даже на бросающийся в глаза перевод serde_derive в бинарную форму обратили внимание только спустя 4 недели и 12 релизов. При таком отношении профессионально обфусцированная вредоносная вставка в исходных текстах вероятно может годами оставаться незамеченной.

    Я вам больое скажу, даже абсолютно не обфусцированная и абсолютно явная.

     
     
  • 2.65, Аноним (63), 09:08, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Проверил в реестре зарегистрированных торговых магок США, serde там нет.
     

  • 1.69, Аноним (69), 09:40, 25/08/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –3 +/
     
     
  • 2.75, Аноним (75), 09:50, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.82, Аноним (69), 09:59, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.83, Аноним (63), 09:59, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.79, Аноним (80), 09:55, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 3.85, Аноним (69), 10:03, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 4.89, eganru (?), 10:09, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 5.93, Аноним (69), 10:11, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 4.94, 12yoexpert (ok), 10:12, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 5.98, Аноним (69), 10:17, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.99, Аноним (80), 10:18, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 5.144, freecoder (ok), 14:01, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.92, 12yoexpert (ok), 10:11, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.96, Аноним (69), 10:16, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.115, Аноним (63), 11:10, 25/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

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

  • 1.81, Аноним (63), 09:58, 25/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это лишь косметическая мера для того, чтобы успокоить псевдопараноиков-конформис... большой текст свёрнут, показать
     
     
  • 2.139, freecoder (ok), 13:32, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В любом проекте генерируется Cargo.lock файл в котором указаны все зависимости проекта. Обычно этот файл не редактируется вручную, но ничто не мешает залезть туда и поменять версии и репозитории любых зависимостей.
     
     
  • 3.142, Аноним (142), 13:48, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я так и делаю, в значительном числе случаев после этого проект перестаёт компилироваться, потому что обратной совместимости в Rust просто не существует, и в языках с таким подходом к связыванию она не может и существовать. Поэтому приходится делать иначе: проходить по всей истории, править уже Cargo.toml, откатывать изменения и сливать конфликты. Это кропотливая ручная работа, которая в отсутствии системы контроля версий, работающей на уровне AST, а не строк, может целый день занять для одного проекта. А теперь представь, что это не 1 проект, а все проекты. Кто это всё будет делать? И, в гипотетических будущих условиях, когда весь софт скомпрометирован и безопасности тебе от вычистки пакетов прибавится пренебрежимо мало, зачем? Проще расслабить булки, что большинство и сделает.
     
  • 3.143, Аноним (143), 13:55, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Понимаешь, всё приятно и легко только у тех, кто сам таким не занимался, а слышал от кого-то, что так можно, и получил короткий рецепт как так делать, без перечисления всех проблем и подводных камней. Это эффектом Даннинга-Крюгера называется.
     
     
  • 4.148, freecoder (ok), 14:27, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Понимаешь, всё приятно и легко только у тех, кто сам таким не
    > занимался, а слышал от кого-то, что так можно, и получил короткий
    > рецепт как так делать, без перечисления всех проблем и подводных камней.
    > Это эффектом Даннинга-Крюгера называется.

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

     
  • 2.195, Вы забыли заполнить поле Name (?), 21:03, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Статическое связывание всех библиотек в случае их компрометации приведёт статическому внедрению бэкдора в весь софт, от них зависящий.

    В плане безопасности статическое связывание как раз лучше. Один раз собрал и точно знаешь, что обновление другого пакета не добавит уязвимости в конечную программу. Крупные конторы на С++ давно все статически собирают.

     
     
  • 3.196, Аноним (196), 21:30, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конторы живущие поддержкой одного большого программного обеспечения.

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

     
     
  • 4.239, Вы забыли заполнить поле Name (?), 00:06, 29/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Конторы живущие поддержкой одного большого программного обеспечения.
    > Если не будешь компилировать статически, кто же будет покупать поддержку с исправлением
    > всех дырок во всех библиотеках?

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

     

  • 1.90, Аноним (63), 10:10, 25/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Ещё в качестве дополнительной меры воздействия можно задействовать по алгоритм, изложенный в https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?az=post&om=131070&foru

    1. Заходим на https://github.com/dtolnay
    2. Выбираем Block or Report
    3. Block user

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

     
     
  • 2.124, User (??), 12:39, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Еще можно куданадо написать, что автор по ночам гимн России поет, портрет Путина в шкафу держит и меньшинствами не интересуется - тут-то "он поймет: вот пусть к  проекту serde со своими хотелками и обращается, может serde соизволит ему сделать персональный луна-парк и лунный модуль."
     
  • 2.126, Glenorman (?), 12:43, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то мне это напомнило, а пару месяцев назад, не стели принимать очет об ошибке в одну библиотеку на почве национальности. Мну , аккуратно скопировал из неё  все классы ,переименовав их на букву Z , чуток потер комментарии, и поставил пару костылей , чтобы баг исправлялся только в моем частном случае , но никак не в общем... Сижу жду горения.
     
     
  • 3.129, Аноним (129), 13:00, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Причём тут национальность? Мы тут о человеке по его поступкам судим. Человек злоупотребил своим положением и влиянием в проекте для продвижения вредоносных изменений. Я сам - ярый сторонник бинарных пакетов, но тот способ поставки бинарного пакета, который он продвигает - это простотзаведомо небезопасно. Впрочем как и вся экосистема Rust.

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

    Но у нас тоже есть кое-какое влияние для ответки. Не такое большое, как у него, но зато нас много.

     
     
  • 4.155, Аноним (91), 15:57, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Но у нас тоже есть кое-какое влияние для ответки. Не такое большое, как у него, но зато нас много.

    нет у вас ничего против корпораций кроме языка на их яичках

    https://www.opennet.ru/opennews/art.shtml?num=58969

     

  • 1.132, xsignal (ok), 13:08, 25/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Проприетарщина, что и требовалось доказать. И это только начало.
     
     
  • 2.157, Аноним (157), 16:21, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Плюсую. Далее, с бинарников они перейдут на частично несвободную лицензию.
     
     
  • 3.202, Прохожий (??), 22:36, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Два эксперта не удосужились проверить, что автор уже откатил все свои хотелки.
     
     
  • 4.205, Аноним (196), 22:53, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Два эксперта не удосужились проверить, что автор уже откатил все свои хотелки.

    Это спасает проблему с инфраструктурой раста?

    Когда большинство проектов при сборке вытаскивают последние версии зависимостей и собирают с ними?

     
     
  • 5.208, Ананимус (?), 00:41, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну так не используй все это и пиши как на сишке все сам руками, кто тебе мешает-то.
     
  • 4.218, Вы забыли заполнить поле Name (?), 16:39, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Два эксперта не удосужились проверить, что автор уже откатил все свои хотелки.

    Сегодня откатил, завтра не откатит, завтра он будет уже не один. Такие явления - это звонок.

     

  • 1.140, freecoder (ok), 13:38, 25/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Подобные эксцессы всегда будут происходить, и раньше уже было (помянем Actix). Хорошо, что сообщество реагирует и успешно борется за свои принципы, свободу и безопасность.
     
  • 1.162, Аноним (-), 21:11, 25/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Шаг с выбросом Вин7 это сильный шаг. То есть нет. Наоборот.

    Вот представим что юзеры Вин7 хотят некий тул. Например текст редактор. И что ? На Раст теперь его не напишешь. Хахаха ! А вот на Лазарус напишешь.

     
     
  • 2.166, Могилла (?), 22:38, 25/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот представим, есть неконсумерист/параноик с Windоws 7. Рекламу отключает или просто игнорит и ничего по ней не покупает, ибо денег нет. Нужно ли на такого ресурсы команды разработки браузера тратить иресурсы сервера с телеметрией? Просто дропнем Windows 7 в браузере. А потом и в Rust. Хочешь использовать современные программы - купи и современный зондокомп с Windows 11. Не готов? Ну а а зачем ты нам такой нужен, посмотрим как ты запоёшь, когда без современного смузи-софта останешься. Придётся тебе самому переписать его на C++, весь лунный модуль и весь луна-парк, вместе с посетителями.
     
     
  • 3.248, Аноним (249), 13:34, 31/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это наивный взгляд на вещи. Прецедент с прекращением поддержки старых ОС это 100% отказ от использования в системах ESR, критичных для бизнеса.
     
  • 2.174, Ан (??), 07:20, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Этот момент в Rust конечно пугает. Допустим твои клиенты пользуются Windows 7 (или Windows 10 в будущем), и тут из под тебя выдергивают стул. Или сидеть на последней работающей версии или спонсировать разработку компилятора/std. С C++ как-то все надежней, поддержка Windows XP есть в Visual Studio 2015.
     
     
  • 3.175, Аноним (175), 07:25, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А зачем на сайте юниксоидов ты пишешь про Виндовс? Страдай, твои проблемы! Лучше иди-ка ты на сайт вантузников.
     
     
  • 4.184, Аноним (80), 12:12, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Где на сайте написано что он для юниксоидов?
     
  • 3.182, Ананимус (?), 11:41, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Грустно быть опеннетчиком. Читаем оригинал:

    Currently Windows 7 and 8 are listed as Tier 1 supported platforms. However, this has not been true for a long long time. We simply do not have the testing infrastructure. And with so much software now abandoning Windows 7 and 8 (everything from Git to Go to every major browser), continuing to provide the little support that we do is only getting more difficult. There is also a lack of vendor support for these targets.

    […]

    Support for Windows 7 and 8 may continue beyond these dates through the creation of new "legacy" targets for older Windows versions. Individuals or organisation(s) who can commit to providing some level of legacy testing and support should go through the normal process for creating new targets.

     
     
  • 4.192, Ан (??), 19:12, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Грустно быть опеннетчиком. Читаем оригинал:

    И что там в оригинале? Ровно то что я и сказал, если захочешь поддержку Windows 7 (или Windows 10 в будущем), придется стать такой organization(s) or individual которые будут поддерживать target. Хватит ли нашей гипотетической компании бюджета на это большой вопрос.

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

     
     
  • 5.204, Ананимус (?), 22:45, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На чем ты предлагаешь им тестировать свой код, если win7 не продается с конца 17го года и не поддерживается с начала 23го, лол?
     
     
  • 6.206, Аноним (196), 22:56, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты можешь использовать виртуалку хоть с Windows NT.

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

     
     
  • 7.207, Ананимус (?), 00:18, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не можешь, для тестирования тебе нужна та же система, на которой будут гонять твой код. И если ты не можешь ее купить, а вендор говорит что больше не будет ее поддерживать, то ты ее дропнешь. Как уже сделали Git, Go и прочие.
     
  • 6.225, Ан (??), 06:09, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А куда делась инфраструктура? Раньше была и вдруг резко пропала, а новую не купить?
     
     
  • 7.229, Ананимус (?), 12:45, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > а новую не купить?
    > Окончание продаж Windows 7: 31.10.2016

    А ты догадливый!

     
     
  • 8.245, Ан (??), 19:06, 29/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так куда пропала инфраструктура ... текст свёрнут, показать
     
     
  • 9.250, Ананимус (?), 16:51, 31/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Её никогда и не было Windows 7 сдохла раньше, чем они начали регулярные сборки ... текст свёрнут, показать
     
  • 3.203, Прохожий (??), 22:39, 26/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кто мешает (запрещает) использовать старую версию Rust? Visual Studio 2015 сколько годков? Вот возьмёте такую же версию Rust и вперёд и с песней. Или это другое?
     
     
  • 4.226, Ан (??), 06:47, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можно, я и написал этот вариант. Но в целом теперь я думаю что C++ может выглядит если честно более жизнеспособным если проект рассчитан на работу на машинах клиентов.
     
     
  • 5.230, Ананимус (?), 12:46, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Можно, я и написал этот вариант. Но в целом теперь я думаю
    > что C++ может выглядит если честно более жизнеспособным если проект рассчитан
    > на работу на машинах клиентов.

    Нет, не выглядит, потому что VS свежих релизов тоже не поддерживает Windows 7. Так что разницы буквально никакой :D

     
     
  • 6.246, Ан (??), 19:16, 29/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Текущий проект собирается на VS2005, VS2015, clang, gcc (разные версии). Я вот думаю можно ли так было бы сделать на rust? Наверное в каких-то пределах можно, если не будет зависимостей с crates.io.  Вроде VS2022 с трудом но ставится на Windows 7
     
  • 4.241, Аноним (241), 12:32, 29/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Кратко: всё устройство языка Rust и его экосистемы.
     
  • 2.227, BeLord (ok), 09:46, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Весь софт для археологов уже есть, раз в семь-десять лет можно себе позволить менять все, а не тащить легаси веками.
     
  • 2.254, VladSh (?), 22:23, 02/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я вообще не понял, при чём тут версия ОС к языку программирования...
     

  • 1.194, gdg (??), 20:25, 26/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Zig выигрывает у сабжа примерно во всём относительно системного программирования.
     
     
  • 2.212, freecoder (ok), 13:35, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Zig выигрывает у сабжа примерно во всём относительно системного программирования.

    Сомневаюсь, но! Rust - это наследие и развитие C++, с иной философией. Поэтому его прямой конкурент - это плюсы и некоторое подмножество высокоуровневых языков (Java, Go, Pythion). Rust больше подходит для разработки прикладного софта с вкраплениями системщины или системного софта с приличной долей прикладного кода. Поэтому он сужает область выгодного использования C и Zig, но не претендует на их полную замену. В отличии от области плюсов.

     
     
  • 3.213, gdg (??), 14:00, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> Zig выигрывает у сабжа примерно во всём относительно системного программирования.
    > Сомневаюсь, но! Rust - это наследие и развитие C++, с иной философией.
    > Поэтому его прямой конкурент - это плюсы и некоторое подмножество высокоуровневых
    > языков (Java, Go, Pythion). Rust больше подходит для разработки прикладного софта
    > с вкраплениями системщины или системного софта с приличной долей прикладного кода.
    > Поэтому он сужает область выгодного использования C и Zig, но не
    > претендует на их полную замену. В отличии от области плюсов.

    Где системное программирование и где плюсы. Я специально подчеркнул область применения.


     
     
  • 4.214, gdg (??), 14:01, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Zig выигрывает у сабжа примерно во всём относительно системного программирования.
    >> Сомневаюсь, но! Rust - это наследие и развитие C++, с иной философией.
    >> Поэтому его прямой конкурент - это плюсы и некоторое подмножество высокоуровневых
    >> языков (Java, Go, Pythion). Rust больше подходит для разработки прикладного софта
    >> с вкраплениями системщины или системного софта с приличной долей прикладного кода.
    >> Поэтому он сужает область выгодного использования C и Zig, но не
    >> претендует на их полную замену. В отличии от области плюсов.
    > Где системное программирование и где плюсы. Я специально подчеркнул область применения.

    А прикладнику в 2к23 лучше писать на языке со сборкой мусора.

     
     
  • 5.223, freecoder (ok), 23:30, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А прикладнику в 2к23 лучше писать на языке со сборкой мусора.

    Прикладной софт, требовательный к производительности, в 2к23 лучше писать на безопасном языке с borrow checker.

     
     
  • 6.224, gdg (??), 23:50, 27/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> А прикладнику в 2к23 лучше писать на языке со сборкой мусора.
    > Прикладной софт, требовательный к производительности, в 2к23 лучше писать на безопасном
    > языке с borrow checker.

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

     
     
  • 7.228, freecoder (ok), 12:10, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Комментарии для того здесь и нужны, чтобы обмениваться мнениями. Или вы что, боитесь потерять веру в свою религию? )

    Ну, например - регулярные выражения. Производительность в Rust может в разы быть лучше других языков (и на порядок лучше Java и Go): https://github.com/mariomka/regex-benchmark

    Или, веб серверы. В топе 10 - пять написаны на Rust: https://www.techempower.com/benchmarks/#section=data-r21&test=composite

    На алгоритмических задачах - и снова производительность Rust на уровне C и C++: https://benchmarksgame-team.pages.debian.net/benchmarksgame/box-plot-summary-c

    Отсюда вопрос: так зачем мучиться, лепить франкенштейна - половину кода писать на Java/Go, половину на C (причём и прикладного тоже), когда можно просто взять Rust? И бонусом ещё получить типобезопасную многопоточность (Java тут вообще в сторонке курит).

     
     
  • 8.235, gdg (??), 16:25, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    gt оверквотинг удален Я тоже умею натягивать сову на глобус, но с возрастом эт... текст свёрнут, показать
     
     
  • 9.237, freecoder (ok), 21:16, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме вашего возраста, больше аргументы нет против ... текст свёрнут, показать
     
  • 8.247, Аноним (249), 13:30, 31/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А может и не быть Выборочно сформировать список бенчмарков, подтверждающих лиде... текст свёрнут, показать
     
     
  • 9.252, freecoder (ok), 15:16, 01/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Речь шла про прикладное программирование, а не системное Rust производительнее ... текст свёрнут, показать
     
  • 4.238, yet another anonymous (?), 22:38, 28/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Zig выигрывает у сабжа примерно во всём относительно системного программирования.
    >> Сомневаюсь, но! Rust - это наследие и развитие C++, с иной философией.
    >> Поэтому его прямой конкурент - это плюсы и некоторое подмножество высокоуровневых
    >> языков (Java, Go, Pythion). Rust больше подходит для разработки прикладного софта
    >> с вкраплениями системщины или системного софта с приличной долей прикладного кода.
    >> Поэтому он сужает область выгодного использования C и Zig, но не
    >> претендует на их полную замену. В отличии от области плюсов.
    > Где системное программирование и где плюсы. Я специально подчеркнул область применения.

    Есть некоторое количество операционок, написаннх почти полностью на плюсах. Не говоря уже про другие области, относящиеся к "системному программированию".

     

  • 1.253, Andrewpotam (?), 19:26, 01/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем громче вой анонимуса, тем более очевидно что язык действительно достойный внимания. Если бы был никому не нужен, никто бы не обращал внимания.
     

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



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

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