Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Станислав Капулкин, Владислав Цендровский «Теор...

DotNetRu
February 28, 2019

Станислав Капулкин, Владислав Цендровский «Теория категорий для описания архитектуры программ: проектирование и документирование»

В программировании существует практика описания шаблонов проектирования для решений типичных задач. В то же время опытные разработчики предостерегают начинающих разработчиков от чрезмерного использования шаблонов, замечая, что «шаблоны» — это ещё не всё, и нужно уметь придумывать самостоятельные решения. Теория категорий — как раз то все. Разработчики во многом мыслят интуитивно им и многие схемы, которые они рисуют на доске, являются категорными, то есть строгими конструкциями, а не просто рисунками. В докладе будет показано, насколько естественно описывать архитектуру проекта в теоркат схемах, как раскрывается выразительность языка теории, и какие дополнительные преимущества даёт использование теории.

DotNetRu

February 28, 2019
Tweet

More Decks by DotNetRu

Other Decks in Programming

Transcript

  1. Введение Теория категорий - удобный математически строгий язык схем, и

    мы увидим, как эти схемы удобно применять в программировании. 2
  2. Теоркат и ООП var list = new List<int>(new int []

    {1, 2, 3, 4, 5}); // new LinkedList<int>(new int [] {1, 2, 3, 4, 5}); foreach (var value in list) { Console.WriteLine(value); } 32
  3. Выделение классов по цепочке шагов стрелка - функция или метод

    void Transform(ref int arg); void Transform() { this.field = Math.Sin(field); } int Transform(int arg); 37
  4. Спасибо за внимание! Вопросы? t.me/catdotnet dev.viete.io Литература 1. "Розеттский камень",

    Баез Дж. К., Стэй М. 2. "Теория категорий для работающего математика", C. Маклейн 42