Nix — не только пакетный менеджер

Описание к видео Nix — не только пакетный менеджер

Первый пакетный менеджер — SMIT — появился в операционной системе IBM AIX в 1989 году. Мы бы назвали его примитивным, но в своё время он оказался прорывом. Вместо загрузки и ручной сборки исходного кода программы, пользователь вводил команду установки — и всё.

Чуть позже пакетные менеджеры стали поддерживать зависимости между пакетами, и репозитории, где пакеты хранились.

Сейчас нам известны десятки менеджеров, которые работают как на уровне операционной системы (yum, pacman, dpkg, apt), так и на уровне отдельных языков/платформ (npm, pip, composer, nuget). Казалось бы: их и так много, зачем нужен ещё один?

Оказывается, Nix, https://en.wikipedia.org/wiki/Nix_%28... решает одну из важнейший проблем, появившихся у пакетных менеджеров вместе с поддержкой зависимостей, которая называется Ад Зависимостей (Dependency Hell), https://en.wikipedia.org/wiki/Depende.... Дело в том, что пакеты со временем меняются: программисты исправляют ошибки, добавляют новые возможности, а из-за этого растут и версии пакетов. Не всегда удаётся сохранить обратную совместимость, так что мы не можем просто хранить самую последнюю версию пакета. Нам приходиться хранить все, но разные версии пакета называются одинаково и зачастую размещаются в одном и том же каталоге.

Разработчики Nix предложили интересное решение этой проблемы, которое не просто позволяет забыть про Ад Зависимостей, но даже защищает систему от случайных коллизий. Описание пакетов в Nix делается на чистом функциональном языке программирования. Зачем?

Об этом и многом другом нам расскажет программист Винсент Амбо. Он проведёт воркшоп по Nix и покажет примеры использования языка. Пакетный менеджер Nix работает на любых дистрибутивах Linux и на MacOS, но также на его основе построен дистрибутив NixOS, https://nixos.org/. Мы поговорим и о нём, правда, совсем немного.

Винсент основал комьюнити https://tvl.fyi и компанию https://tvl.su/ru TVL и разрабатывает альтернативную реализацию Nix — она называется Tvix, https://tvl.fyi/blog/rewriting-nix. Tvix написан на языке Rust — интересном и перспективным. Мы поговорим, зачем нужен Tvix, если есть Nix и узнаем, почему Винсент выбрал Rust в качестве языка разработки.

Трансляция пройдёт в YouTube и в VK в четверг 9 марта с 19:00 до 20:30. Готовьте вопросы.

В организации нам помогает наш партнёр SBTG.RU, https://sbtg.ru/. Трансляции в любых конфигурациях под ключ.

Чтобы быть в курсе IT-событий, подпишитесь на телеграм-канал ITMeeting, https://itmeeting.ru/. Это наши друзья, которые анонсируют бесплатные мероприятия в Москве и Онлайне. Здесь вы найдёте и конференции, и митапы, и семинары — форматы на любой вкус. Канал анонсирует и наши встречи. Подписывайтесь.

| TG (чат) https://t.me/progmsk | TG (канал) https://t.me/progmsk_channel | VK https://vk.com/progmsk | YT    / @progmsk  

Комментарии

Информация по комментариям в разработке