почему библиотеки rust могут никогда не существовать.

YOUTUBE · 29.11.2025 05:34

Ключевые темы и таймкоды

Введение в Rust

0:00
  • Rust требует загрузки множества библиотек и длительной компиляции.
  • Автор считает Rust одним из своих любимых языков программирования.
  • Функции Rust, такие как проверка заимствования и доступа во время выполнения, могут открыть новую эру безопасного ПО.

Проблемы с безопасностью в C

0:21
  • Основные системы, такие как ядро Linux, написаны на C.
  • Несмотря на множество функций безопасности, 70% уязвимостей в системе безопасности происходят из-за проблем с памятью в C.

Сложности изучения Rust

0:48
  • Rust имеет сложный синтаксис и длительное время компиляции.
  • Двоичные файлы Rust огромны из-за необходимости компиляции всех необходимых пакетов.

Роль Cargo и ABI

1:34
  • Cargo управляет библиотеками, но они не аналогичны библиотекам C.
  • ABI ELF обеспечивает совместимость функций и данных в библиотеках C.

Отсутствие стабильного ABI в Rust

3:11
  • У Rust нет стабильного ABI для обмена информацией между двоичными файлами.
  • Компиляция всех пакетов Rust приводит к созданию больших двоичных файлов.

Проблемы с ABI в Rust

3:48
  • Организация ABI для Rust сложнее из-за особенностей языка, таких как дженерики и статические анализаторы.
  • Проверка заимствования невозможна в скомпилированных двоичных файлах.

Ограничения repper C

5:15
  • repper C не позволяет компонентам Rust выходить за пределы приложения.
  • Вызовы функций через repper C небезопасны и отключают проверку заимствования.

Будущее ABI в Rust

6:12
  • Сообщество Rust работает над созданием нового ABI, например, Crabby API.
  • Межъязыковые вызовы часто используют небезопасные представления C, что ограничивает совместимость.

Заключение

7:02
  • Автор интересуется миром API и совместимостью систем.
  • Призыв к зрителям поделиться мнением в комментариях.