Доклады

Я люблю выступать с докладами на конференциях и митапах с темами, касающимися функционального программирования и разработки ПО. В особых случаях, таких как конференция C++ Russia, я делаю showcase проекты специально для докладов. Моя цель — показывать яркие идеи из мира ФП, популяризировать язык Haskell, и рассказывать о чем-то необычном.


Общности и разности архитектуры приложений в ООП и ФП

Archdays 2021

Рассказываю о систематическом подходе к проектированию ПО, и представляю свою методологию Functional Declarative Design, как альтернативу Object Oriented Design

Слайды

Designing complex applications with Free monads (Eng)

Functional Conf Global Edition 2020

Доклад о том, как применять Free monads для написания асинхронных приложений. Показываю, как можно реализовать async/await синтаксис и рассуждаю о Software Design.

Слайды

Concurrent applications with Free monads and STM (Eng)

Haskell Love 2020 online

Рассказываю о приложениях, основанных на STM и Free monads, показываю различные паттерны проектирования, обсуждаю подходы и решения.

Слайды

Automatic White-box Testing with Free Monads (Eng)

f(by) 2020, Minsk, Belarus

Доклад о моем подходе к тестированию по методу белого ящика, когда тесты писать не нужно совсем. Доклад основан на одноименной статье.

Слайды
Статья Automatic White-box Testing with Free Monads
(там же — и showcase проект с работающим кодом)

Hierarchical Free Monads and Software Design in Functional Programming (Eng)

Functional Conf 2019, Bangalore, India

Доклад о моем подходе «Hierarchical Free Monads» для построения сложных приложений на Haskell, и о дисциплине Software Design в ФП.

Слайды

Final Tagless vs Free Monads

FPure 2019, Казань

Доклад для ФП-конференции FPure в Казани. Рассказываю про разницу между подходами Final Tagless и Free Monad.

Слайды

Like in Haskell: Final Tagless and eDSLs on concepts

C++ Russia 2020 online

Доклад о том, как с помощью новой фичи С++20 — концептов — создавать предметно-ориентированные языки в стиле хаскельного Final Tagless/mtl.

Слайды

Монадические парсеры

C++ Russia 2019, Moscow

Доклад из цикла «ФП в С++». Рассказываю про монадические парсеры, сделанные на Free monads.

Слайды

Keynote: Настоящее и будущее функционального программирования в C++

C++ Siberia 2019, Новосибирск

Большой доклад о том, почему функциональное программирование в С++ важно, в чем его философия и куда движется язык. Рассказываю про подъязыки чистого ФП: template и constexpr, показываю, как появляется необходимость в монадах, рассказываю о том, какие бывают. Рассказываю о грядущих фичах в C++: ranges, Pattern Matching, expected<> и других.

Слайды
Материалы для подготовки доклада

Функциональный подход к Software Transactional Memory

C++ Russia 2018, Санкт-Петербург

Библиотека cpp_stm_free, которую я сделал для доклада, является самым сложным достижением в моей жизни. Она основана на продвинутых концепциях из ФП — Free-монадах, и имеет особенную имплементацию. Рассказываю, что такое STM, и как устроена библиотека.

Слайды
Библиотека cpp_stm_free
Туториал
Проект-пример cpp_philosophers_stm
Материалы для подготовки доклада

Функциональный микроскоп: линзы в С++

C++ Siberia 2015, Новосибирск

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

Слайды
Библиотека cpp_lenses
Материалы для подготовки доклада

Функциональная жизнь: параллельные клеточные автоматы и комонады на С++

C++ Russia 2016, Санкт-Петербург

Хардкорный доклад про то, как в функциональном стиле сделать параллельные клеточные автоматы, положив в их основу концепцию из ФП — комонады.

Слайды
Проект-пример CMLife
Материалы для подготовки доклада

Функциональное программирование в С++ и конкурентные вычисления

LambdaNsk, Новосибирск, 2018

Доклад для митапа LambdaNsk, дополняющий тему, которую я рассказывал на C++ Russia 2018.

Слайды

Декларативный и функциональный дизайн на С++11

C++ User Group, Новосибирск, 2014

Доклад для митапа C++ User Group о том, как дизайнить приложения в функциональном и декларативном стиле на примере игры «Амбер».

Слайды

Отказываемся от Ruby on Rails в пользу Haskell

LambdaNsk, Highload Siberia++, 2018

В компании Restaumatic мы переводили кодобазу с Ruby on Rails на Haskell. Я рассказываю о том, как это у нас получалось и какие подходы мы использовали.

Слайды

Product :: RubyOnRails -> Haskell

HasGeek / JSFoo, Bangalore, India, November 2019

В компании Restaumatic мы переводили кодобазу с Ruby on Rails на Haskell. Я рассказываю о том, как это у нас получалось и какие подходы мы использовали.

Слайды

Дизайн больших приложений в ФП

FPConf 2015, Москва

Рассказываю о возможных подходах и существующих проблемах дизайна больших приложений в ФП.

Слайды
Материалы для подготовки доклада

Линзы — комбинаторная манипуляция данными

Dev2Dev 2015, Красноярск

Доклад о линзах в Haskell.

Слайды
Материалы для подготовки доклада

Лучшая FRP библиотека — это STM (live coding)

FProg Spb июнь 2020

Доклад-исследование о том, как сделать библиотеку для реактивного программирования с использованием Software Transactional Memory.

Пишем игру Labyrinth на фреймворке Hydra (live coding)

FProg Spb май 2020

Рассказываю про Free монады, про фреймворк Hydra, объясняю базовые концепции создания Free монадических языков, и показываю, как можно писать приложения с помощью этого фреймворка.

Haskell для мейнстримных программистов

FProg Spb октябрь 2019, Санкт-Петербург

Доклад о состоянии дисциплины Software Design в Haskell и о том, что можно сделать, чтобы Haskell мог претендовать на менйстрим.

Слайды

eDSL для графа переходов на Free монадах и экзистенциальных типах

FProg Spb апрель 2018, Санкт-Петербург

Доклад о том, как можно сделать граф переходов (стейт-машину) на фри-монадах и экзистенциальных типах в Haskell.

Слайды
Материалы для подготовки доклада

Вы не понимаете ФП

DevDay@2GIS Декабрь 2017, Новосибирск

Мифы и заблуждения о ФП

Слайды
Материалы для подготовки доклада

Haskell

DevDay@2GIS Май 2013, Новосибирск

Язык программирования Haskell.

Слайды
Материалы для подготовки доклада

Back to the Future: Функциональное программирование вчера и сегодня

TechTalks@NSU, 2015

Рассказываю о том, какое значение приобрело функциональное программирование.

Слайды
Материалы для подготовки доклада


Подкасты и интервью

Подксат АйТиБорода: Александр Гранин, все о Haskell

Самый главный русскоязычный канал об IT.

В этом выпуске я рассказываю про Haskell и всё вокруг.

{ между скобок }: как и зачем писать технические книги (Rus)

Мы говорим о том, как и зачем писать технические книги. Стоит ли их писать, и какой смысл для разработчика

Architecture Weekly: ChatGPT сделает нас ненужными? (Eng)

Сделает ли ChatGPT разработчиков устаревшими? Сколько ИТ-специалистов могут потерять работу?

Inference Podcast #2: Haskell and FP in the industry (and the community) (Eng)

With Michele Riva, we’re discussing the state of the FP and its place in the modern world.

Chapters:
00:00​ Introduction
02:43​ Alexander’s everyday tech stack
05:46​ What makes Haskell special?
08:35​ What was the hardest part of learning Haskell?
10:33​ Community support for learning Haskell
12:51​ Why is it so «hard» to enter the Haskell community?
15:37​ Can we encounter the same problems in other FP communities?
20:56​ Why did FP took such a long time to become so popular?
27:34​ Will FP overcome the OOP world?
33:24​ Can multi-paradigm languages make life harder for new developers?
37:25​ Alexander’s thoughts about the future of FP

PodlodkaPodcast #297: Функциональная архитектура

Говорю на свою любимую тему — функциональная архитектура и дизайн. Большой обзорный выпуск про инженерию ПО в функциональных языках таких как Haskell, Scala, F# и других.

PodlodkaPodcast #136: Современный С++

Рассказываю о языке С++: его история, развитие, боль, коммьюнити, конференции, и все что вокруг.

Подкаст «Мы обречены» с Александром Граниным

Кому нужны эти книжки по программированию

Общаемся про всякое: книги и читатели, смысл жизни, ширпотреб, хейт в сообществах

Remote Talk Podcast. Haskell на проде, чем хорош Rust, проблемы разработки ПО и ФП-тренд

Рассказываю обо всяком. Мой путь в ИТ, ФП, Rust, моя книга Functional Design and Architecture, проблемы ИТ в России, ИТ-жизнь в Новосибирске и прочее.

Pure Virtual Cast

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

C++ Russia 2019 Piter — интервью

Интервью, в котором мы с Сергеем Платоновым и Евгением Трифоновым обсуждаем, в чем состоит работа Программного Комитета и как попасть на конференцию в качестве докладчика.

Интервью Александра Гранина каналу Vishwas Narayan: Software Architecture (Eng)

Рассказываю свой взгляд на Software Architecture и на сопутствующие вопросы в подкасте Vishwas Narayan.

Scalalaz Podcast (FPure)

Интервью для подкаста scalalaz, случившееся на конференции FPure в Казани.

BitCask #5 Рекурсивный эскалатор

Разговор про Scala и Haskell с Оли Махасоевой

HEXLET MEETUPS

Онлайн-дискуссия: Место фреймворков в ФП [Хекслет] Алексей Пирогов, Александр Гранин

LambdaNsk

Идиоматичный функциональный код (слайды)
Линзы — комбинаторная манипуляция данными (слайды)
Дизайн крупных приложений на функциональных языках (слайды)

Лекции в 2ГИС

Лекция 1. Принципы и практики разработки ПО (слайды)
Лекция 2. Принцип подстановки Лисков (слайды)
Лекция 3. Закон Деметры (слайды)

Hinteractive Cast

Скринкаст работы над движком квестовых игр hinteractive в двух частях.

Hinteractive Cast 1
Hinteractive Cast 2

🠺 Проект hinterative

Innopolis HR Meetup

GitHub — зеркало разработчика (слайды)

ЧитГУ / ЗабГУ выступления, доклады, презентации

Профессиональная разработка в суровом enterprise (слайды)
О разработке десктопных приложений (слайды)

%d такие блоггеры, как: