Зачем системным программистам Rust? Сергей Фомин, Яндекс

Поділитися
Вставка
  • Опубліковано 4 бер 2022
  • В рамках доклада будут рассмотрены преимущества и недостатки современного системного программирования на различных языках: от С и С++ до их более высокоуровневых альтернатив и, конечно, Rust. Будут рассмотрены гарантии безопасности, которые предоставляет Rust, и почему даже при наличии unsafe кода Rust существенно более безопасен, чем C и C++. Будет приведён пример того, как можно взять код на C++, и сделать над ним "безопасную абстракцию" на Rust.

КОМЕНТАРІ • 11

  • @DmitryRomanov
    @DmitryRomanov 2 роки тому +6

    Отличный доклад, спасибо!

  • @4spor_t
    @4spor_t 4 місяці тому

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

  • @user-oc6rd4qt2z
    @user-oc6rd4qt2z Рік тому +1

    Спасибо!

  • @izzy-pizy
    @izzy-pizy Рік тому

    главное преймущество раста это его компилятор-логи ибо он очень помогает дэбажить код :]

  • @n0b0dynvkz
    @n0b0dynvkz Рік тому +1

    Пример кода с СИ getline не корректный, line - указатель, вы передаете туда массив. Массивы != указатели в си, хотя вы и можете использовать адресную арифметику при работе с массивами. Вы делаете sizeof(line) хотя в сигнатура функции у нас ssize_t getline(char **lineptr, size_t *n, FILE *stream). Передача указателя в функцию говорит что он будет изменен.
    Если попробовать скомпилировать ваш пример то gcc,clang выдаст варнинги о том что не нужно так делать. И так мы имеем, если программист не понимает что он делает и игнорирует предупреждения компилятор разрешает уму вставить патроны и отстрелить себе ногу.

    • @vas_._sfer6157
      @vas_._sfer6157 Місяць тому

      Массивы кастятся к типу указателя от каждого чиха. И это большая проблема на самом деле.
      Тут согласен. Вызов построен совершенно не правильно. Но неправильный free все равно будет вызван

  • @vaxotivadze
    @vaxotivadze 10 місяців тому

    en.wikipedia.org/wiki/Category:Systems_programming_languages