Зачем системным программистам Rust? Сергей Фомин, Яндекс
Вставка
- Опубліковано 4 бер 2022
- В рамках доклада будут рассмотрены преимущества и недостатки современного системного программирования на различных языках: от С и С++ до их более высокоуровневых альтернатив и, конечно, Rust. Будут рассмотрены гарантии безопасности, которые предоставляет Rust, и почему даже при наличии unsafe кода Rust существенно более безопасен, чем C и C++. Будет приведён пример того, как можно взять код на C++, и сделать над ним "безопасную абстракцию" на Rust.
Отличный доклад, спасибо!
Спасибо за видео, долго думал, надо ли учить Rust. Теперь убедился, что стоит.
Спасибо!
главное преймущество раста это его компилятор-логи ибо он очень помогает дэбажить код :]
Пример кода с СИ getline не корректный, line - указатель, вы передаете туда массив. Массивы != указатели в си, хотя вы и можете использовать адресную арифметику при работе с массивами. Вы делаете sizeof(line) хотя в сигнатура функции у нас ssize_t getline(char **lineptr, size_t *n, FILE *stream). Передача указателя в функцию говорит что он будет изменен.
Если попробовать скомпилировать ваш пример то gcc,clang выдаст варнинги о том что не нужно так делать. И так мы имеем, если программист не понимает что он делает и игнорирует предупреждения компилятор разрешает уму вставить патроны и отстрелить себе ногу.
Массивы кастятся к типу указателя от каждого чиха. И это большая проблема на самом деле.
Тут согласен. Вызов построен совершенно не правильно. Но неправильный free все равно будет вызван
en.wikipedia.org/wiki/Category:Systems_programming_languages
Sanus?