RustCon Russia 2021: как прошла конференция, и о чем там говорили

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Аудитория конференции была смешанная: кто-то уже пишет на Rust и использует его в работе, а кто-то попробовал его для своих pet’s projects. А кто-то просто интересуется новым развивающимся языком и хотел послушать опытных докладчиков, поболтать с участниками и спикерами в кулуарах.

Было очень много полезной информации и общения. Сообщество Rust пока еще хоть и не большое, но в нем очень крутые и талантливые ребята. И мы уверены, в ближайшее время спрос на Rust-разработчиков будет расти, а это значит, что и сообщество увеличится. Недавно как раз разговаривали с Григорием Петровым о применении Rust в компании Evrone. Из его интервью можно сделать такие же выводы.

В программе прошедшей конференции было 9 докладов и мастер-класс. Если у вас не получилось посетить RustCon Russia 2021, вот небольшая выжимка по темам.

Открыл конференцию Сергей Фомин из Яндекса с докладом - "Зачем системным программистам Rust".

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

"Под капотом у процедурных макросов" - так звучала тема второго доклада RustCon Russia 2021 от Владислава Бескровного из JetBrains.

Спикер рассказал:

1. Какое API компилятор предоставляет процедурным макросам. Что процедурный макрос может, а что - нет.

2. Как процедурный макрос компилируется в динамическую библиотеку.

3. Как взаимодействуют rust и dll процедурного макроса.

4. Коротко о более высокоуровневых библиотеках - proc_macro2, syn, quote.

5. Пару слов о поддержке процедурных макросов в rust-analyzer и в intellij-rust.

Третий доклад  - "Экскурс в Rust для питонистов, рубистов и всех причастных" от Михаила Грачева из Evrone.

Михаил рассказал, как Rust выглядит для разработчиков, которые уже хорошо умеют Ruby, Python или JS. Это было не «введение в Rust для новичков», а обзор от опытного разработчика для других опытных разработчиков: ключевые отличия, на что стоит обращать внимание и где будет болеть.

"Неочевидные прелести Rust" - четвертый доклад RustCon Russia 2021 от Вафеля. Этот доклад все очень ждали, тк многие знают Вафеля по его блогу "Мне не нравится реальность" и активности в Rust-сообществе. 

Спикер заранее спросил у людей, что их приятно удивило при изучении раста, и собрал все ответы в один список. В Rust много неочевидных, но очень приятных фич, особенностей, функций.

Вафель рассказал об этих прелестях, чтобы как можно больше разработчиков о них знали и могли ими пользоваться :)

Несколько примеров пунктов из списка:

Result: FromIterator (.collect:<Result<_, _>>())

Возможность использования паттернов везде (например в аргументах функций, let)

Создание массивов через [CONST; N] для T: !Copy"

Пятым докладом был "Rust? В моём фронтенде?!" от Константина Егупова из Modeldrive. Он специально прилетел на RustCon из Лондона (там он живет и работает последние несколько лет).

Константин рассказал:

 * о том, что такое WebAssembly, как оно живёт в вебе и смарт-контрактах, на каких языках можно писать;

* каково нынешнее состояние WASM-мира;

* о проблемах сопряжения моделей данных WASM и Javascript;

* почему переводить фронтенд на Rust/WASM - это хорошая идея;

* почему переводить фронтенд на Rust/WASM - это плохая идея;

* о передаче структуры в JS/TS: wasm_bindgen и JSON;

* как отлаживать проблемы;

* почему Rust вместо React: yew и его товарищи.

"Гетерогенные списки в Rust и их суперсилы" от Антона Михайлова - следующий, шестой доклад на RustCon Russia 2021. 

Доклад демонстрирует, как, использовав в качестве промежуточной абстракции гетерогенные списки - вещь, обычно применяемую в функциональном программировании, - можно покрыть возможности, которые могли бы предоставить отсутствующие в Rust фичи: структурная типизация и вариадические дженерики.

Седьмой доклад - "Rust и Python - как в небольшой команде просто, прозрачно и с минимальными трудозатратами переписать узкие места на Rust (и почему не C++)" от Максима Акинина из assi.ai. 

В этом докладе рассмотрели реальную задачу разработки различных методов расчета кадастровой стоимости, спрототипированной на Python, с тестами, написанными на Python/unittest, и постепенного ее переписывания на Rust с использованием:

взаимодействия с RabbitMQ (amiquip);

работы с Mongo;

треды;

интеграция кода в инфраструктуру тестов, разрабатываемых на Python.

Важной частью доклада была мотивация выбора Rust (особенно в сравнении с C++) в реальный проект, который используется в проде, для команды, которая заточена, в основном, под Python и JS.

"Rewrite It In Rust: Переписываем с C++ на Rust" - восьмой доклад на RustCon Russia 2021 от Александра Шишенко из Librevault. Александр ведет свой блог на youtube “Русский айтишник”. 

В своем докладе он рассмотрел порядок переписывания реального проекта с C++ на Rust по этапам:

- Добавили в CMake сборку статических библиотек через Cargo;

- Заменили C++-зависимости аналогами на Rust;

- Научились использовать corrosion, cbindgen, cxx.

И всё это без unsafe.

Завершил конференцию девятый доклад - "RustCrypto: экосистема криптографических крейтов написанных на чистом Rust" от Артема Павлова из  Квантома.

Выступление Артема затронуло следующие темы.

* Краткий экскурс в историю разработки RustCrypto.

* Влияние подхода "малых крейтов" на использование и разработку по сравнению с монолитными библиотеками. Достоинства и недостатки обоих подходов.

* Реализация алгоритмов на чистом Rust против биндингов к C/C++/asm библиотекам.

* Решения, применяемые в дизайне API крейтов, их мотивация и возможности которые они открывают. Каким образом классы криптографических примитивов могут быть отображены в рамках типажей.

* Проблемы композиции алгоритмов и эффективного написания SIMD кода в присутствии runtime детектирования возможностей процессора.

* Будущее RustCrypto в контексте развития Rust.

Параллельно с докладами Антон Патрушев провел мастер-класс "Начинаем Embedded на Rust". Он был построен вокруг отладочной платы STM32F3DISCOVERY.

Антон рассказал, как всё устроено в мире Embedded Rust, какие есть инструменты, под какие семейства микроконтроллеров и архитектуры можно разрабатывать на Rust уже прямо сейчас, как механизмы Rust помогают бороться с классическими проблемами в разработке под микроконтроллеры. Затем участники мастер-класса написали небольшой проект - usb устройство, которое при подключении к компьютеру определяется как мышь, не требуя драйверов, и умеет "дрожать" курсором мыши.

Все доклады собрали полный зал слушателей. На конференции было очень оживленно: спикеры получали много вопросов из зала от участников, в перерывах было очень много обсуждений в кулуарах.

Поскольку RustCon Russia 2021 так всем понравилась, мы уже планируем следующую конференцию. Проведем ее 2 декабря 2022. У нас есть много идей, как улучшить формат и сделать RustCon Russia 2022 еще более интересной и полезной.

Если у вас не получилось в этом году присутствовать офлайн, вы можете приобрести записи докладов на нашем сайте (с 1 апреля 2022 записи появятся в открытом доступе для всех). Выступления будут интересны и тем, кто уже пишет на rust, и тем, кто пока к нему присматривается (некоторые участники после конференции окончательно решили изучать rust).

________________________________

Вступайте в чат RustCon Russia, чтобы читать новости про конференцию и общаться.

Источник: https://habr.com/ru/company/it_people/blog/599423/


Интересные статьи

Интересные статьи

В течение 2021 года мы наблюдаем рост активности вымогательского ПО. Этому способствует как появление новых предложений из серии «вымогатель как услуга», так и расширение инструментария для подобных а...
Продолжаем знакомить вас с интересными компаниями на Хабр Карьере. Сегодня в выпуске — компания SiFOX, которая разрабатывает и запускает ИТ-продукты для операторов связи ...
Пленарные заседания последнего дня были посвящены работе нашего замечательного сообщества пользователей. Самые лучшие промышленные изделия в мире создаются в SOLIDWORKS, ...
В Точках кипения проходит до 800 мероприятий в неделю. Одни находят свою аудиторию и вызывают резонанс, другие теряются в информационном шуме. Под катом немного статистики, которая поможет как...
Один из самых острых вопросов при разработке на Битрикс - это миграции базы данных. Какие же способы облегчить эту задачу есть на данный момент?