-
посоны, смотрите, что я нарыл
-
@Arepo, дело не в том, что модно. дело в том, что ты агришься.
о ноде: teddziuba.com
о пхп: me.veekun.com
это так, для затравки. ну, серьезно, пхп хорош для своих задач. но делать из него этого ебанного мутанта — рак в высшем его проявлении. -
@vessi, те две статьи я читал, первая вообще высосана из пальца, единственная серьёзная проблема из тех, которые там описаны — кривая обработка ошибок, которая на самом деле не много проблем доставляет, если о ней помнить, но таки проблема — да. А во второй нет ничего нового для человека, который мало-мальски писал на пхп. Проблем у пыха бесусловно хватает, но 90% людей, кричащих что пхп — говно, на нём даже не писали, хорошо если хотя бы саму эту статью прочитали. Вот именно это меня агрит.
-
@Arepo, ну, я на пхп писал, если что. он реально хорош для сайтов с не очень богатым функционалом. но как только сайт начинает расти по посещаемости или стремиться в сторону веб-приложения — тут-то и вылазит его плохой дизайн.
по поводу ноды: то есть, создание своего технологического стека по принципу NIH(not invented here) для тебя не проблема? ну и плюс коллбек-лапша, куда ж без нее. -
@vessi, все говорят про плохой дизайн, про невозможность писать большие прогрммы (почему?). Но есть очень много проектов в интернете, которые опровергают и то и то. Можно возразить, что на другом языке можно было бы написать ффективнее и/или проще, но тем не менее они написаны именно на пхп и работают сейчас на нём
-
@Arepo, а теперь посмотри пристальнее.
1. перенос event-based технологии в язык, который даже потоки поддерживает через костыли.
2. впихивание своего сервера в стек, в котором уже куча серверов есть.
3. non-blocking io model в интерпретируемом языке. oh wow. GIL отменили, правда?
я не отменяю того, что большинство возбудилось именно на ключевики. но меня лично рассмешил этот гибрид бульдога с носорогом. в языках я придерживаюсь принципа целесообразности и вряд ли буду писать на ruby высокопроизводительное многопоточное приложение — в силу того же GIL. -
@Arepo, ну смотри.
badoo написан на пхп почти полностью. но вместо того, чтобы пытаться анализировать узкие места — они просто добавляют железа.
facebook написан на пхп почти полностью. но вместо того, чтобы увеличивать производительность и контрибьютить в язык — они компилируют его в машинный код (hiphop)
vkontakte во многом написан на php. вот только event-based вещи у них написаны на erlang — и в этом они правы на 200%.
не надо писать продукты на тех языках, на которых это трудноосуществимо.
я не говорю, что php плох. но попытки запихнуть его в каждую дырку в силу низкой стоимости разработчиков на нем — это плохо. -
@vessi, ну потоков нет и в самой ноде, там это более-менее нормально решается через процессы-воркеры + встроенный ipc. Намного серьёзнее то, что в пыхе вся стандартная библиотека синхронная, то есть для успешной работы с этим придётся ещё и её перепиливать. По поводу (2): если бы там был не хттп-сервер, а, например fcgi, то стало бы лучше? А в чём проблема с неблокирующим io в интерпретируемом языке?
-
@vessi, раз они не пытаются анализировать, а просто добавляют серверов, то начит считают что это дешевле чем переписывать всё. То есть выгода от переписывания будет либо незначительной, либо проявится нескоро. Да и пхпшников найти куда как проще чем ерлангистов или питонистов. А вконтакте, например, мессенжер написан на ноде, про ерланг там я вообще ничего не слышал
-
@Arepo, по поводу неблокирующего IO в интерпретируемом языке — тут я с GIL немного облажался. в php попросту нет нормальных тредов — только запуск еще одного интерпретатора.
кстати, буду рад узнать, что неправ.
по поводу fcgi — уверен, учитывая предыдущее, fcgi был бы более выгодным решением по ресурсам, чем собственный сервер. -
@vessi, да я в общем-то не говорю что это особо хорошо, просто не вижу тут никакого особого криминала. Этот проект уж никак не заслуживает того чтобы его обливали стольким количеством необоснованного дерьма. Ну делает человек в своё удовольствие, ему нравится, в чём проблема. just for fun никто не отменял
-
@Arepo,
переписать с нуля всю стандартную библиотеку и модули на async IO
вот именно, слишком большая работа. а без этого node.php не имеет смысла — будет слишком затратен по ресурсам, не выдержит высоких нагрузок. вижу в нем только один бонус — в силу отсутствия необходимости держать в памяти сервер будет невероятно быстро плеваться мелкими порциями данных. узкоспецифичная задача, но ок. -
@vessi, ну более затратным чем он сечас есть не станет, собстно хуже чем переинициализировать интерпретатор для каждого запроса ничего не придумаешь. А насчёт невероятно быстро это ещё бабушка надвое сказала, быстрее чем "классический" вариант использования пыха — да, но та же нода обгонит его во много раз по всем параметрам.