Pull to refresh
2
Владимир@v_0ver

Rust Evangelism Strike Force member

0,4
Rating
1
Subscribers
Send message

“Писать надёжное ПО на Rust можно, а зачем?”

“Защищать свой ДЦ от БПЛА можно, а зачем?”

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

К слову, кажется в СПб я видел леса и сетки вокруг Ростелекомовского ДЦ ещё неделю назад.

Проверил на своих, внутренних тестах:

  • векторизовать код с использованием std::simd и core::arch - успех 0 из 6.

  • сделай C-подобный rust код более rust-идиоматичным - успех 3 из 10.

:/

Если под массивами в Rust подразумевать [i32, 1000], то они тоже Copy. В Rust массивы это дженерик тип [T; N] у которого есть “условная” реализация Copy:

impl<T, const N: usize> Copy for [T; N]
where
    T: Copy,
{}

Которая говорит, что если тип T - Copy то и весь массив Copy

Из всего сказанного легко сделать слишком сильный вывод: будто Rust превращает прошивку в формально проверенную систему. Нет.
Компилятор не обнаружит:

  • неверную частоту ШИМ;

  • ошибку в коэффициентах регулятора;

  • неправильную последовательность включения силовой части;

  • ошибку протокола;

  • выход физической величины за допустимый диапазон.

Вопрос дилетанта: а если вендор предоставит типизированное API это же решит эти проблемы? Если да, то по чему он этого не делает?

По умолчанию да. Но если тип переменных a и b реализует трейт Copy (а он реализован для базовых, небольших типов), то будет применена не семантика перемещения, а копирования, и переменные не будут “съедены”.

А зачем что-то там читать? Как говорится “работает? - не лезь!”, тем более если читатель/ревьюер тупой.

Так я не понял, зачем мне брать Go, когда я могу взят Rust?

untitled.png
untitled.png

Вакансий действительно мало. И они обычно закрываются внутренними ресурсами - теми кто хочет свичнутся из Python/Java/Go/С++ итд. Либо через рекомендации.

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

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

Ну таки да, лоббирует правительство США (CISA, NSA, NIST) как минимум. А с учётом недавних успехов в области автоматизированного баг-майнинга при помощи LLM, мы вполне можем увидеть переход от рекомендации к требованию. А за США потянется и весь западный технологический стек.

Все крупные компании (google, microsoft, cloudflare, итд), претендующие на инфраструктурные проекты перестраховываются, развивают компетенции в Rust (пока единственным производительным и безопасным по памяти языке одновременно).

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

Ну так надо ввести алгебру над типами, благо с LLM-кой это не потребует много времени.

Что-то мне кажется, что saas который можно написать при помощи LLM уже не продашь.

А гонору то сколько было в твитере, когда Волож и Ко(бывшие яндексоиды) покидали Россию - все прям высокоморальные белопальтошники. А пришли к тому, что будут продавать мощности для военщины США, что бы бить по родине. nuff said

Эх, был бы такой гайд когда я изучал макросы…

А я даже скажу точнее, это были Bundeskriminalamt.

Спасибо за статью, у меня тоже Mi Band 10 Pro и я давно хотел сделать пару игр на акселерометре. Но никак не мог подступиться.

Ну так и цена= 1200 rub тоже не валидна, если читающая сторона не сможет распознать/обработать тип данных. А если читающая сторона знает про этот тип данных то она знает и про Rub(1200).

RON понимает суфиксы u32 и другие rust-суфиксы начиная с версии 0.9 “Fix issue #241 and allow parsing numbers with explicit type suffixes, e.g. 1u8 or -1f32 (#481)”.

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

А вот так это выглядит на ron(Rusty Object Notation), и как по мне выглядит понятнее:

(
  книга: (
    rating: 4.9,
    артикул: "LOTR-SILM-01",
    название: "Сильмариллион",
    авторы: [
      "Дж. Р. Р. Толкин",
      "Кристофер Толкин",
    ],
    основной_жанр: "Эпическое фэнтези",

    аннотация: r#"История Первой Эпохи Средиземья, создания Сильмарилей и падения Моргота.
Древняя хроника, определившая лицо современной мифологии."#,

    коммерция: (
      цена: Rub(1200),
      тираж: 50000u32,
      вес: Grams(650),
    ),
  ),
)

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

Information

Rating
2,346-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Аналитик по данным, Инженер по данным
Машинное обучение
Python
Rust
PostgreSQL
Linux