Rethinking Low-code
Low-code
Low-code
BPMN
Low-code
BPMN
Визуальные нотации
Хорошо продает
Хорошо продает
Как бы не хотелось...
Как бы не хотелось...
if (msg.payload === 1)
Как бы не хотелось...
Но писать буквами
быстрее и проще
Нельзя сравнить версии
Нельзя сравнить версии
git diff, PR, code review
Нельзя сравнить версии
Нет! XML или JSON файлы
Оно точно работает?
Оно точно работает?
Нет юниттестов
Оно точно работает?
Нет линтеров
Оно точно работает?
Есть средства отладки
Переиспользование?
Переиспользование?
Нет модульности
Переиспользование?
Нет средств абстракции
Архитектура?
Архитектура?
Нет слоев
Архитектура?
Нет границы подсистем
Архитектура?
Нет IoC и DI
Архитектура?
Clean Architecture, DDD?
Архитектура?
Нет, не слышали...
Архитектура?
Портянка
Кто угодно сможет
Кто угодно сможет
Нет
Простота
Простота
Оно визуальное
Оно визуальное
Да
Встроенный язык
Встроенный язык
Обычно JavaScript
Встроенный язык
Но код выглядит так:
msg.c = msg.a + msg.b;
delete msg.a;
delete msg.b;
return msg;
(a, b) => a + b;
const { a, b } = msg;
const c = a + b;
return { c };
msg.c = msg.a + msg.b;
delete msg.a;
delete msg.b;
return msg;
Что же продает?
Что же продает?
Люди любят шару
Что же продает?
Дешевая рабочая сила
Что же продает?
Отличный TTM
Что же продает?
Волшебство, в общем...
Что же получаем?
Что же получаем?
Жесткий вендор-лок
Что же получаем?
И тупик в разработке
Так что, идея бесплодна?
Так что, идея бесплодна?
Мы пойдем другим путем...
Вспомним, что мы решали
Вспомним, что мы решали
Нехватка кадров
Вспомним, что мы решали
Риски, сроки, бюджеты
Вспомним, что мы решали
Сложность
Программирование
должно измениться
Это две разных профессии
Это две разных профессии
Системное
Это две разных профессии
Системное
Прикладное
Системное
ОС, языки, СУБД, браузеры,
протоколы, платформы...
Системное
Алгоритмы,
Системное
Алгоритмы, структуры,
Системное
Алгоритмы, структуры,
ООП,
Системное
Алгоритмы, структуры,
ООП, ФП,
Системное
Алгоритмы, структуры,
ООП, ФП, РП,
Системное
Алгоритмы, структуры,
ООП, ФП, РП, Автоматы,
Системное
Алгоритмы, структуры, ООП, ФП, РП,
Автоматы,
Параллельное программирование
Системное
Алгоритмы, структуры, ООП, ФП, РП,
Автоматы,
Параллельное программирование,
Асинхронное программирование,
Системное
Алгоритмы, структуры, ООП, ФП, РП,
Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы,
Системное
Алгоритмы, структуры, ООП, ФП, РП,
Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов
по Хиндли — Милнеру,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов
по Хиндли — Милнеру, ивентлуп,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов
по Хиндли — Милнеру, ивентлуп, горутины,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по
Хиндли — Милнеру, ивентлуп, горутины,
Метапрограммирование,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по
Хиндли — Милнеру, ивентлуп, горутины,
Метапрограммирование, мультипарадигменное
программирование,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по
Хиндли — Милнеру, ивентлуп, горутины,
Метапрограммирование, мультипарадигменное
программирование, back pressure,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы,
Параллельное программирование,
Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по
Хиндли — Милнеру, ивентлуп, горутины,
Метапрограммирование, мультипарадигменное
программирование, back pressure, сборщик мусора,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы, Параллельное
программирование, Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по Хиндли —
Милнеру, ивентлуп, горутины, Метапрограммирование,
мультипарадигменное программирование, back pressure, сборщик мусора,
нормальные формы,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы, Параллельное
программирование, Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по Хиндли —
Милнеру, ивентлуп, горутины, Метапрограммирование,
мультипарадигменное программирование, back pressure, сборщик мусора,
нормальные формы, численные методы,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы, Параллельное
программирование, Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по Хиндли —
Милнеру, ивентлуп, горутины, Метапрограммирование,
мультипарадигменное программирование, back pressure, сборщик мусора,
нормальные формы, численные методы, триангуляция,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы, Параллельное
программирование, Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по Хиндли —
Милнеру, ивентлуп, горутины, Метапрограммирование,
мультипарадигменное программирование, back pressure, сборщик мусора,
нормальные формы, численные методы, триангуляция, CAS-операции,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы, Параллельное
программирование, Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по Хиндли —
Милнеру, ивентлуп, горутины, Метапрограммирование,
мультипарадигменное программирование, back pressure, сборщик мусора,
нормальные формы, численные методы, триангуляция, CAS-операции,
SIMD-инструкции,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы, Параллельное
программирование, Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по Хиндли —
Милнеру, ивентлуп, горутины, Метапрограммирование,
мультипарадигменное программирование, back pressure, сборщик мусора,
нормальные формы, численные методы, триангуляция, CAS-операции,
SIMD-инструкции, быстрое преобразование фурье,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы, Параллельное
программирование, Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по Хиндли —
Милнеру, ивентлуп, горутины, Метапрограммирование,
мультипарадигменное программирование, back pressure, сборщик мусора,
нормальные формы, численные методы, триангуляция, CAS-операции,
SIMD-инструкции, быстрое преобразование фурье, теория информации и
кодирования,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы, Параллельное
программирование, Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по Хиндли —
Милнеру, ивентлуп, горутины, Метапрограммирование,
мультипарадигменное программирование, back pressure, сборщик мусора,
нормальные формы, численные методы, триангуляция, CAS-операции,
SIMD-инструкции, быстрое преобразование фурье, теория информации и
кодирования, AST,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы, Параллельное
программирование, Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по Хиндли —
Милнеру, ивентлуп, горутины, Метапрограммирование,
мультипарадигменное программирование, back pressure, сборщик мусора,
нормальные формы, численные методы, триангуляция, CAS-операции,
SIMD-инструкции, быстрое преобразование фурье, теория информации и
кодирования, AST, формальные граматики,
Системное
Алгоритмы, структуры, ООП, ФП, РП, Автоматы, Параллельное
программирование, Асинхронное программирование,
Распределенные системы, cap-теорема, Архитектура,
Слои, DDD, GRASP, SOLID, GoF, IoC, DI, LoD, вывод типов по Хиндли —
Милнеру, ивентлуп, горутины, Метапрограммирование,
мультипарадигменное программирование, back pressure, сборщик мусора,
нормальные формы, численные методы, триангуляция, CAS-операции,
SIMD-инструкции, быстрое преобразование фурье, теория информации и
кодирования, AST, формальные граматики, нормальная форма Хомского...
Прикладное
Прикладное
Самый простой ЯП,
Прикладное
Самый простой ЯП,
моделирование БП,
Прикладное
Самый простой ЯП,
моделирование БП,
моделирование данных,
Прикладное
Не нужно делать форм,
Прикладное
Не нужно делать форм,
Не нужно делать API,
Прикладное
Не нужно делать форм,
Не нужно делать API,
Не нужно верстать,
Прикладное
И даже архитектура
не нужна...
Прикладное
Но нужно вникать в
предметную область!
В качестве языка
В качестве языка
Подмножество JavaScript
В качестве языка
Функция, константа, цикл,
условие, выражение, вызов
В качестве языка
Не нужно никаких
асинхронных генераторов...
В качестве языка
Не нужно промисов и
прокси, не нужно классов...
В качестве языка
Нужен язык, на котором не
написать ничего сложного
В качестве языка
Но и чтоб он
всем понятен!
В качестве языка
И чтобы его можно было
освоить за месяц
В качестве языка
И чтобы его можно было
освоить за месяц
А визуальность?
А визуальность?
Не сложно, AST -> PlantUML
Все так просто?
Все так просто?
Нет ничего сложнее, чем
начать думать просто
Все так просто?
Решающее значение - это
не реализация платформы
Решающее значение
Решающее значение
Это система образования
Спасибо!

Rethinking low-code