Нет ФП
забудьте это словосочетание
Дмитрий Грошев (@lambdadmitry)
- ненужные обобщения не нужны
- забудьте про ФП
- …
- PROFIT
- раньше было проще
- ФП не существует
- будущее сложно и прекрасно
C
for (int i = 0; i < 10; i++) {
foo(i);
}
ФП уже не существует
это миф
Лямбда
- название из lambda calculus
- простая идея
- есть уже везде
Erlang
- let it fail
- изоляция ошибок
- супервизирование
Clojure
- разделение обязанностей
- decomplection
Immutability
- естественное свойство мира с текущим временем
- mutability — абстракция или оптимизация
- ФП разваливается на концепции
- зачем они?
Будущее
Сложное, но прекрасное
Accidental
- big ball of mud
- CRUD'ы и индусы
- рельсы, хипстеры, твиттер
Essential
- потолок 4GHz
- распределённый софт (web-app'ы тоже!)
- отзывчивые интерфейсы
- AI
Запрос к удалённому серверу
Цепочка запросов к удалённым серверам
Цепочка запросов к удалённым серверам с таймаутами
Цепочка запросов к удалённым серверам с таймаутами и альтернативами
Идеи/концепции
- в голове
- не могут протекать
- ортогональны
Идеи/концепции
- разделение обязанностей
- изоляция ошибок
- контроль корректности
- иммутабельность
- монады и алгебра
- коммутативность
- идемпотентность
- логический вывод
- поток событий
- реактивность и правила
- ненужные обобщения не нужны
- забудьте про ФП
- …
- PROFIT
- раньше было проще
- сейчас ФП не существует
- будущее сложно
- ФП это ширма для невежества
- исследуйте новое без шор