Russian Fedora

cообщество русскоязычных участников
международного проекта Fedora

CoLaboratory: Rust - первая конференция о Rust в Москве

17 мая в столице состоится первая конференция разработчиков на языке Rust.

Rust — современный системный язык программирования с мощной системой типов. Он защищает от многих типичных ошибок программирования, таких как использование освобождённой памяти и гонки данных. Эти проблемы в Rust обнаруживаются сразу во время компиляции! При этом язык не использует сборку мусора — а значит, обладает предсказуемой производительностью, легко встраивается в другие языки и отлично подходит для встраиваемого программирования. На Rust можно писать надёжные, высокопроизводительные многопоточные программы.

Год назад произошёл выпуск первой стабильной версии языка — Rust 1.0. С тех пор язык активно развивался. Ещё вчера про Rust никто не знал, а сегодня Dropbox переписал на нём ядро своей дисковой инфраструктуры.

Вечером 17 мая мы соберёмся, чтобы поговорить о теоретических и практических моментах использования Rust, его экосистеме и инструментах, поделиться опытом написания программ на нём, а также рассмотреть частые проблемы и способы их решения.

Не пропустите! CoLaboratory: Rust — это шанс узнать о многообещающем языке программирования, который может вскоре заменить привычные инструменты, чьи позиции сейчас кажутся незыблемыми.

Программа мероприятия: 18:00 — 18:30 Регистрация участников.

18:30 — 18:40 Начало встречи. Приветственные слова.

18:40 — 19:40 Rust — лучше, чем C++. Степан Кольцов.

Rust — современный практический удобный быстрый и безопасный язык программирования с хорошей системой типов.

Rust должен стать заменой C++, т. к. решает проблемы C++ в работе с памятью (use after free, double free, buffer overrun и т. п.) и с многопоточностью при этом предоставляя такие же возможности для написания быстрого кода.

Синтаксис Rust приятный, стандартная библиотека спроектирована хорошо, а система типов Rust ушла далеко вперёд по сравнению с C++, где виртуальные методы отдельно, шаблоны отдельно, и где для каждого типа параметра шаблон инстанциируется заново. Но мой рассказ не про это.

В своём рассказе я подробно (настолько, насколько это возможно за один час) опишу ту часть системы типов, которая гарантирует безопасную работу с памятью — lifetimes, borrowed pointers, Sync/Send и прочее. На мой взгляд, это самое важное, самое сложное и самое интересное, что есть в Rust.

19:40 — 20:30 Многопоточность и параллелизм в Rust. Никита Баксаляр.

Зачем нужны многопоточность и параллелизм, и почему это важно. Какие подходы применялись в Rust, и к чему в итоге пришли.

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

Альтернативные подходы к многопоточности: MPSC и обмен сообщениями, легковесные процессы, акторы и корутины.

20:30 — 20:50 Кофе-брейк 20:50 — 21:40 Практика разработки веб-серверов на Rust. Михаил Панков.

Rust позволяет писать быстрые и надёжные программы. Особенно когда они многопоточные. Это делает его хорошим выбором для написания серверной части разнообразных веб-приложений.

Но что для этого нужно? Зачем терпеть все эти длиннющие ошибки от borrow checker'а? Что с продуктивностью разработки? Где взять библиотеки? А что если библиотеки нет? Какой веб-фреймворк выбрать? Как отлаживать и профилировать код? В своём докладе я отвечу на эти и другие вопросы. Ещё я расскажу, что нужно делать, чтобы решить обойти проблемные места, которые у Rust, конечно, тоже есть.

Всё это — на примере кода инфраструктурного сервера, обеспечивающего «всегда зелёный master» (commit gatekeeper, аналог homu и zuul).

21:40 — 22:10 Rust FFI на примере расширения структуры данных из Haskell. Александр Вершилов.

Rust - быстрый и надежный язык без сборщика мусора, что позволяет использовать его в проектах, написанных на других языках, в местах особенно требовательных к эффективности решения. В данном докладе будет рассмотрена возможность использования Rust в Haskell проекте.

Обычно в таких случаях используется связка с C, но поскольку Rust предоставляет больше гарантий, то он может занять данную нишу.

В докладе мы рассмотрим основы FFI в Rust, и покажем как писать проекты, использующие Rust и Haskell одновременно и обсудим прочие связанные с этим вопросы.

Мероприятие состоится в штаб-квартире "Лаборатории Касперского".

Внимание, **Требуется регистрация!**

Из других новостей про этот язык - участник Fedora, инженер Red Hat и разработчик GCC, GDB и binutils, Tom Tromey, представил патчсет с поддержкой Rust в GDB. Патчи сразу заинтересовали других разработчиков GDB, и Tom представил уже вторую версию патчсета, исправленную и дополненную. Скоро можно будет отлаживать программы на Rust в GDB!

Вот, правда, для их отладки нужно их сначала собрать, а с этим у нас не все гладко. Включение Rust в Fedora что-то застряло на ровном месте. Уже три года, как на месте топчемся.

Комментарии