CoLaboratory: Rust — поговорим о Rust в «Лаборатории Касперского» 17 мая

в 8:45, , рубрики: kaspersky lab, meetup, Rust, Программирование

image

Регистрация.

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 одновременно и обсудим прочие cвязанные с этим вопросы.

Регистрация

Событие требует регистрации. Зарегистрироваться можно здесь.

У нас также есть группа на Facebook.

Ждём вас! И обязательно расскажите о событии друзьям.

Автор: mkpankov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js