Size: a a a

Конференция C++ Russia

2020 February 26

AZ

Alexander Zaitsev in Конференция C++ Russia
> ФП для реал-тайм игрушек не очень использовать

как это так?
источник

АГ

Александр Гранин in Конференция C++ Russia
Pavel Zhigulin
Но зачем? Есть где-нибудь статья/учебник, где вот берут императивный пример, переписывают монадически и получают ништяки
Скорее всего есть. У меня есть статья, как делать монадический Software Transactional Memory, но STM-монада, конечно, посложнее будет
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Александр Гранин
ФП для реал-тайм игрушек не очень использовать. Если бы ты про пошаговые спросил, там в принципе можно придумать хорошие примеры. Скажем, в шахматах можно цепочки ходов завернуть в монаду Maybe или Either. Сделал ход, оценил ситуацию. Норм? Делай следующий ход. Не норм? Возвращай ошибку.
И почему, кстати?
источник

АГ

Александр Гранин in Конференция C++ Russia
Alexey Veselovsky
Даже на плюсах?
Зависит. Джон Кармак топит (топил) за ФП в играх, где это применимо.
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Александр Гранин
Скорее всего есть. У меня есть статья, как делать монадический Software Transactional Memory, но STM-монада, конечно, посложнее будет
Давай) Я потом просто буду вопросы конкретнее задавать)
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Александр Гранин
Зависит. Джон Кармак топит (топил) за ФП в играх, где это применимо.
Дык а почему плохо? Если из за GC, то давай сравнивать не с крестами, а с Го или джавой.
источник

АГ

Александр Гранин in Конференция C++ Russia
Pavel Zhigulin
Давай) Я потом просто буду вопросы конкретнее задавать)
источник

PZ

Pavel Zhigulin in Конференция C++ Russia
Спасибо)
источник

АГ

Александр Гранин in Конференция C++ Russia
Alexey Veselovsky
Дык а почему плохо? Если из за GC, то давай сравнивать не с крестами, а с Го или джавой.
Если у тебя прямые руки, то ничем не плохо. Но чтобы на С++ писать в функциональном стиле, производительно, и не умереть при этом, - руки должны быть очень прямые
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Александр Гранин
Если у тебя прямые руки, то ничем не плохо. Но чтобы на С++ писать в функциональном стиле, производительно, и не умереть при этом, - руки должны быть очень прямые
Да пофигу на плюсы. Я ж говорю - просто примеры бы хоть на каком языке. А потом сравним с императивщиной
источник

AV

Alexey Veselovsky in Конференция C++ Russia
С последующим рефакторингом конечно же
источник

m

magras in Конференция C++ Russia
Кажется, парсеры строящиеся из комбинаторов (это так называется?) могут неплохо выглядеть с монадами.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
magras
Кажется, парсеры строящиеся из комбинаторов (это так называется?) могут неплохо выглядеть с монадами.
Парсер-комбинаторы
источник

АГ

Александр Гранин in Конференция C++ Russia
magras
Кажется, парсеры строящиеся из комбинаторов (это так называется?) могут неплохо выглядеть с монадами.
Монадические парсеры, да. Я их также сделал на С++ и презентовал доклад на одной из C++ Russia
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Но нет. Это не интересный кейс
источник

m

magras in Конференция C++ Russia
Alexey Veselovsky
Но нет. Это не интересный кейс
А какой кейс интересен? Именно условная бизнес логика?
источник

AV

Alexey Veselovsky in Конференция C++ Russia
magras
А какой кейс интересен? Именно условная бизнес логика?
Да. Мне близки задачи симуляции например. То есть игры - норм вариант
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Парсеры - это сильно отдельная песня.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Ну или реализация протоколов например сетевых.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
Но лучше - игры :-)
источник