On Mon, May 28, 2012 at 2:36 AM, Alexandr Gomoliako <[email protected]> wrote: >> Все это обсуждение - сплошное словоблудие и никакого намека на >> конструктивность. > > Сложность - это конструктивно и вообще самое главное в > программировании. И все эти тонны парадигм и подходов нацелены только > на то, чтобы сделать программы менее сложными и более надежными. Ну > кроме корутин, они здесь не знаю на что нацелены, усложнить жизнь? :)
Тут под сложностью наверное понимается количество сущностей. То есть кроме корутин еще есть каналы, локи, семафоры. Больше сущностей - меньше надежность. С моей точки зрения программирование с событиями, в том виде как сейчас это реализовано, увеличает "комплексность" кода. Либо увеличивается количество функций, либо увеличивается вложеность кода функций. Continuation passing в perl менее привлекателен из-за отсутствия tailcall оптимизации. Отладка програм тоже страдает из-за большого количества анонимных функций и потери связи между кодом где установлено событие и кодом где оно обрабатывается. die, eval и return теряют функциональность. Мое мнение, что у обоих вариантов есть свои плюсы и минусы. Интересный аспект Coro заключается в том, что функцию quorum_request на Coro можно встроить в обычную блокирующую программу. Да, программа заблокируется на время исполнения самого длинного запроса, но все равно это будет быстрее чем последовательное исполнение всех запросов. С событийной машиной такого не сделаешь без значительного изменения кода. -- Best regards, Ruslan. -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
