• JavaScript Node.js обзавелись чем-то, похожим на async в C# github.com

    Вообще, если честно, хоть gevent и является набором хаков и манкипатчей — мне его подход куда больше нравится с точки зрения чистоты кода. Пропатчил себе исключительно I/O (сокеты, файловое чтение/запись, треды) и спи спокойно.

Replies (9)

  • @kb, Метод "наложил всего — покрыл газеткой и вроде как всё чисто" — древнейший способ решения проблем, выполнения задач. То же и в программировании. Ещё лет 5 назад я наблюдал его везде: в различных гнушных либах, коде студентов, писанине различных работников.
    Такой подход удобен, никто не спорит. Однако если придётся вернуться и сделать из того, что "под газеткой", что-то новое, иное, переработать старое для новых идей. Это всё вносит путаницу, много проблем. Но это удобно, просто.
    В таких вещах ты ждёшь дня П, когда гибкости системы не хватит или её принцип не будет подходить под нужную идеологию, пока её принцип не устареет или не сможет конкурировать с другими.
    Поэтому Node.js это не плохо, но страшно.
  • @iorlas, и тебе привет. о какой газетке ты говоришь и как это к топику относится?)
  • @kb, Ну манкипатчинг, скрытие сложной логики, хаки etc — грязные методы. Это как наложить мусор на землю, а затем накрыть газеткой — вроде как мусор и не видно, вроде как ощущается что всё чисто. Это удобно. Однако, это не так. То же самое с JS и Node.js.
    Ты высказался что тебе нравится такая идея, с манки патчингом. Однако, это только кажется удобным; оно удобно только в данный момент, а данном проекте, в данном наборе задач. Когда задача выйдет за пределы условностей, которые ставит данный проект, начнутся проблемы.
    Tl;dr: это удобно, но в реальности очень и очень вредно. JS сейчас заражён такой слабостью.
  • @iorlas, ну, во-первых как раз манкипатчинг происходит в питоне (и его gevent.patch_all). а во-вторых в том-то и парадокс, что при "в большинстве случаев грязном хаке" манкипатчинга, он является достаточно чистым сокрытием, а синтаксис C# (ну, и предложенный для JavaScript) наоборот, за чистым кодом с его async скрывает континуэйшны, создание коллбэков и прочего. короче инверсия происходит.
  • @kb, А я говорил что питон это хорошо? Бтв, я за это время перешёл в сторонники си и плюсов. Питон не на много лучше рубей или js.
    Да, он является чистым сокрытием, но сокрытием и остаётся. В этом и проблема.
  • @iorlas, блин, ну так си — тоже сокрытие. что теперь? сокрытие — это хорошо, это абстракция! это суть программирования.
  • @kb, Манки патчинг и "сокрытие" методом создания функции, которая выполняет ряд задач — разные вещи. Просто манки патчинг это именно то сокрытие, которое является вредом, которое опасно, которое не так уж и редко оказывается вредом всему проекту.
  • @iorlas, блин, так о том и топик же, что в данном случае получается, что этот вечный вред оказывается лучше "чистого" синтаксического сахара.
  • @kb, Я только говорю о том, что это относительно.