PHP или Node.js

Рейтинг: 0Ответов: 3Опубликовано: 25.11.2014

Собираюсь конкретно углубиться в один из данных серверных ЯП:
-PHP
-Node.js

Во всех тестах что я видел, Node.js опережает в 2 а то и в 5 раз PHP.
Все ли возможности PHP, поддерживает Node.js?
Интересно узнать ваше мнение,очень интересно, какой ЯП сложней, в будущем имеет приоритет и т.д.
Спасибо за ответы, если не сложно.

Ответы

▲ 3

Выбор языка стоять не должен никогда: любой язык изучается за минимальный промежуток времени, если имеешь адекватные знания о технологиях и опыт их практического применения. В остальном же, на сегодняшний день учиться проще на PHP - спрос больше конкуренции, можно учиться на реальных задачах и получать за это какие-то деньги. Про node.js такого пока сказать нельзя - даже на устаревший в рамках веба PERL рыночный спрос выше.

▲ 3

Во всех тестах что я видел, Node.js опережает в 2 а то и в 5 раз PHP.

Опережает в чем? В скорости? А если опережает в скорости выполнения, но проигрывает в скорости разработки? Можно ведь и на сишке веб-приложения писать.

Все ли возможности PHP, поддерживает Node.js?

Примерно тот же вопрос. Есть ли в ноде аналог пакетов symfony? Есть ли уже готовое решение для эмуляции виртуальной файловой системы? Широкие ли возможности у основного фреймворка тестирования?

Главное различие там в подходе программирования. Нода будет вся такая из себя асинхронная и на коллбэках, а пых весь такой.

Однопоточный и тоже на анонимных функциях, если ларавель какой-нибудь. Я вот не могу в коллбэки, и поэтому туда не суюсь. Что касательно скорости - к следующей версии PHP у него будет почти полностью переписанный движок, скорость скакнет, будете пересаживаться, если он на синтетике обгонит node.js? Ну и по сложности алгоритмов 2-5 раза - это околонулевая разница.

▲ 3

Попробуем по порядку.

Собираюсь конкретно углубиться в один из данных серверных ЯП: -PHP -Node.js

PHP - это язык программирования.

  • РНР ориентирован на работу в веб-приложениях (сайты)
  • РНР однопоточный, "рожден что-бы умирать". т.е. получил данные от браузера, обработал, выдал результат, завершился. Сколько у вас запросов, столько запустится приложений
  • синхронный (в большинстве случаев) - любое действие "останавливает" вашу программу, пока это дейтсвие не завершится
  • stateless - все переменные и контексты сохраняются в пределах одного запроса
  • установлен на всех хостингах

NodeJs - это среда выполнения, использующая язык JavaScript

  • Современный, развивающиеся среда и язык. 2015-09-08 вышла новая мажорная версия ноды
  • имеет широкую область применения: микрокомпьютеры, микроконтроллеры, веб приложения, игровые сервера и многое другое.
  • приложение ноды обычно запускается один раз и оно обслуживает все запросы. Все контексты и переменные постоянно доступны в приложении между запросами.
  • асинхронный (в больштнстве случаев) - многие тяжелые действия (как подключение к базе данных) не останавливают выполнение основной программы, а по окончании обработки, вызывают колбек-процедуру с передачей результатов
  • требует "отдельный" сервер (почти нет хостингов NodeJs)

Во всех тестах что я видел, Node.js опережает в 2 а то и в 5 раз PHP.

По скорости выполнения однотипного кода Node скорее всего выигрывает. В том числе за счет возможности выполнять код параллельно на нескольких процессорах.

Все ли возможности PHP, поддерживает Node.js?

Ответ скорее ДА и даже больше возможностей

Интересно узнать ваше мнение,очень интересно, какой ЯП сложней, в будущем имеет приоритет и т.д.

Возращаясь к началу, мы рассматриваем два языка: PHP & JavaScript

РНР используется в основном только для разработки сайтов.

JS имеет более широкую область применения. ЯС используется в том числе и в браузерах. ЯС входит в пятерку самых популярных языков программирования.

Изучение языка зависит от того, какую задачу Вы хотите решать.

Изучайте оба, синтаксически они очень похожи.

вот например маленький абстрактный код, который будет работать и на РНР и ноде

$i = 1;
for($j=0;$j<1000;$j++) {
    $i *= 2;
}