LINUX.ORG.RU

node.js-like vs continuations


1

2

Погружаюсь в node.js, и внезапно понимаю, что все эти коллбеки и неестественный нелинейный стиль написания программы можно заменить на обычный простой код с поддержкой continuations. Грубо говоря - набрели на блокирующий вызов, свернули стек со всеми переменными, пошли выполнять следующее событие. Вернулся ответ на блокирующий вызов, вытащили из очереди соответствующее событие, раскрыли стек, пошли дальше выполнять. Стиль написания программы абсолютно линейный (понятно, что при желании можно и через коллбеки что-то делать, если надо); плюшки (не нужно плодить треды на каждый запрос) сохраняем.

Собственно, полагаю, что это всё в каком-нибудь racket-е уже есть, но как-то немодно. Про нод жс в каждом туалете говорят.

В чем причина? continuations непригодны для реального мира? Нет языка с джавоподобным синтаксисом с нормальной поддержкой продолжений?

Может через 5 лет в V8 запилят поддержку продолжений и весь прогрессивный мир будет в шоке от того, насколько проще можно писать всю эту асинхронную муть?

★★★★★
Ответ на: комментарий от Vit

Вы правы, больше не буду отнимать ваше время. В любом случае спасибо.

tff
()

Континуации пригодны. Есть в шкалике.

vsn
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.