Мои интересы лежат в области языков программирования: их проектирования, формального описания и реализации. Сейчас я в основном интересуюсь языком функционального программирования Haskell и его компилятором GHC. До этого я работал над приёмами метапрограммирования на шаблонах C++ и над отношением подтипирования в Julia.
По итогам последнего проекта в конце 2018 г. опубликована статья в журнале Proceedings of the ACM on Programming Languages (том: OOPLSA) — в соавторстве с главным разработчиком Julia Джеффом Безансоном и ещё несколькими достойными людьми. Об этой работе я и собираюсь рассказать.
Язык программирования Julia обладает невероятным сочетанием особенностей. Например, в языке отсутствует выделенная стадия компиляции — но он ухитряется быть высокопроизводительным; отсутствует статическая проверка типов — но пользователи используют огромное количество стандартных типов и могут определять свои собственные.
В сердце языка лежит механизм множественной диспетчеризации (или мультиметодов) — также редкая находка как для программистов, так и для исследователей в этой области. А теоретическую (и практическую) основу мультиметодов составляет отношение подтипирования.
В нашем исследовании мы выяснили, что поведение подтипирования воспринимается подавляющим большинством пользователей как чёрный ящик (который к тому же не всегда работает правильно) и показали почему это так, используя формальный подход.
Кроме представления наших находок о подтипировании, я хотел бы поговорить о том как Julia проектировалась и как (и кем) она используется на практике. Каких новшеств стоит ждать и насколько язык готов к широкому распространению.
Автор учебников по системноинженерному мышлению, системному мышлению, курса «Системное мышление» на Coursera. Ведёт блог «Лабораторный журнал».
С Анатолием Левенчуком обсудим, что нужно делать, чтобы в экосистему Julia начали вкладываться широкие программистские массы.
Напоминаем, что для того чтобы восстановить билет организатору можно не писать.
Если вы хотите вернуть билеты, вы можете сделать это по ссылке из письма с билетами или оформить запрос организатору в вашем  личном кабинете.