Выпуск №26 — Rust

Расширяем кругозор и обсуждаем язык программирования Rust.

Rust logo

Rust компилируемый язык со статической типизацией, который стал широко известен благодаря Mozilla и проекту Servo — движку рендринга веб-сайтов нового поколения.

В гостях у подкаста Михаил Панков — организатор русскоязычного сообщества Rust rustycrate.ru.

Обсуждаем следующие темы:

  • Кратко о языке Rust и его истории
  • Для какого типа проектов Rust подходит наилучшим образом?
  • Сборщик мусора и зелёные потоки — были, но пропали
  • Асинхронный ввод-вывод
  • Что входит в стандартную библиотеку
  • Популярные Open Source проекты на Rust https://github.com/trending/rust
  • Rust в Gnome
  • Наиболее громкие истории успеха в коммерческих проектах за пределами Open Source https://www.rust-lang.org/en-US/friends.html
  • Личный опыт гостя, самые яркие проблемы (сообщения об ошибках, скорость компиляции)
  • На сколько Rust подходит для командной разработки
  • Rust для веб-разработки http://www.arewewebyet.org
  • Рецепт написания сложной бизнес-логики
  • Rust как язык для написания расширений к PHP, Node.js, Ruby http://jakegoulding.com/rust-ffi-omnibus
  • Cargo — официальный пакетный менеджер или менеджер зависимостей
  • Проблема ромба зависимостей — решена
  • Семантическое версионирование
  • Популярные пакеты на crates.io
  • Обратная совместимость с 1.0
  • Скорость работы компилятора
  • Платформы и архитектуры
  • Поддержка в IDE и Rust Language Server https://areweideyet.com
  • Отладка, тестирование, CI
  • Детали языка
    • Система типов и вывод типов компилятором
    • Нет ООП, но есть Трейты — как они работают?
    • Статическая и динамическая диспетчеризация
    • Обобщённые типы (дженерики)
    • Нет Exception, есть Result и panic, как обрабатывать ошибки?
    • Какие гарантии безопасной работы с памятью даёт нам компилятор
    • Владение и заимствование на пальцах
    • unsafe
  • Rust vs. C++
  • Rust vs. Swift https://news.ycombinator.com/item?id=13533701
  • Rust vs. Go
  • Будущее Rust https://github.com/rust-lang/rust-roadmap
  • Русскоязычное комьюнити, про митапы в Касперском, сайты и чаты

Дополнительные ссылки:

P.S.
Одновременно с этим выпуском «Пятиминутки» вышел также эпизод подкаста DevZen о Rust с Михаилом Панковым в гостях, послушайте: http://devzen.ru/episode-0131/

P.P.S.
Рекомендую также подкаст New Rustacean«A podcast about learning the Rust programming language—from scratch!». Очень внятный и приятный на слух английский с простым и последовательным изложением основных концепций Rust с нуля.

  • Удивлен, что на сайте с названием http://5minphp.ru/ мы обсуждаем Rust 😉 Может, лучше перенести эти вещи на другой ресурс?

    Тем не менее, спасибо за подборку.

    • Выпуск о Rust был первым не о PHP, и, возможно его стоило бы опубликовать в рамках какого-то другого проекта… но у меня нет планов по записи серии подкастов о Rust или подкаста «о программировании в целом», так что опубликовал в уже известный и готовый канал распространения.

      В целом планирую продолжать записывать выпуски именно о PHP, так что оставайтесь на связи!

      • Анатолий Притульский

        было бы здорово, чтобы они выходили чаще.

  • Анатолий Притульский

    Прослушал где-то около 40 минут, выпуск конечно не о чем. Лучше бы 20 выпусков о PHP было.

  • Alma Z

    Предлагаю сделать выпуск про spl PHP. Мне кажется многие плохо знают о нем или не используют его. Так как в этой библиотеке много классов, то можно сделать несколько выпусков. Будет чем заполнить эфир. Поддержите друзья лайками!

  • Doc999tor

    Прекрасная инициатива, полностью поддерживаю.
    Меня, как и всех нормальных разработчиков, очень интересуют новинки в мире программирования. Такие как Rust, Golang, интересные инструменты и так далее.
    Подкасты для Rust community сложны для новичка в этой области, т.к. предполагают определенный уровень знаний.
    Я с огромным интересом слушал этот выпуск, ведущие проводили параллели с миром РНР и подавали материал для людей, только пробующих себя в новых областях.
    Продолжайте в том же духе! И не важно, что именно это будет, rust, go или новые базы данных.