¿Hay alguna razón para que un desarrollador prefiera PHP sobre las alternativas más nuevas (más sexys?) Como Node.js, Ruby on Rails, etc.

Es una pregunta interesante.

¿Por qué no se lanzan más desarrolladores de PHP, como hice yo por ejemplo?
Creo que se reduce a algunas cosas básicas;

1. Familiaridad vs simplicidad.

Lo que sea familiar también tiende a sentirse simple y directo.

A menudo cometemos el error de equiparar familiaridad y simplicidad,
descartar cosas nuevas por ser extrañas o simplemente innecesarias , a menos que tengan sentido de inmediato.

Nuestra falta de comprensión de los beneficios que se obtienen es muy probable (y lamentablemente) la razón principal por la que muchos de nosotros no cambiamos.

2. Tiempo.

Aprender un nuevo marco web requiere tiempo y esfuerzo.
Pero dominar un nuevo idioma y un nuevo marco web puede llevar la mayor parte de un año. Varios años para algunos.

Si ya tiene fluidez en PHP, puede comenzar a ejecutar su próximo proyecto, mientras que cambiar a una nueva plataforma invariablemente mermará su productividad a medida que vuelve a aprender sus A, B, Cs.

Personalmente fui de Perl (en 2000) -> PHP / Zend / Yii -> Java / Spring -> Ruby / Rails -> Node.js / Hapi -> Elixir / Phoenix e instaría a todos a explorar Elixir (y Erlang) promover.

Vale mucho la pena.

3. Rendimiento.

El rendimiento en el mundo real depende en gran medida del caso de uso .

Un vistazo rápido al TechEmpower Framework Benchmark (Multiple DB Queries) y vemos que PHP todavía lo hace sorprendentemente bien;
Comparación de rendimiento del marco web TechEmpower

Aquí está la descripción de la prueba:

En esta prueba, cada solicitud se procesa recuperando varias filas de una tabla de base de datos simple y serializando estas filas como una respuesta JSON.

Si esta prueba es válida ( tomada con un grano de sal ), se podría decir que Codeigniter (PHP) es casi tan rápido como Hapi (Node.js) bajo una carga de trabajo de base de datos significativa, que es común para su respaldo típico. final o API.

Llevar el mensaje a casa;
Si no necesita hacer la concurrencia adecuada , y ya está mezclando algunas de las mejores herramientas de otros idiomas, como Varnish / Redis (almacenamiento en caché) y React / Bower / Gulp / Browserify ( front-end ),
lo más probable es que te vaya bien con PHP.

Nota: ¡No use Codeigniter! Usa Laravel.

Además de los tres puntos de Anri Digholm:

4. Los proveedores de alojamiento web casi siempre hacen que PHP esté disponible, más que los otros idiomas / plataformas. Esa es una consideración importante si está creando una aplicación web desplegable y desea llegar al mercado más grande.

5. La plataforma a menudo es decidida por empleadores o clientes. No todos pueden simplemente decidir usar Node.js o RoR.

Creo que el segundo punto de Anri es el factor más importante para la mayoría de los desarrolladores de PHP (profesionales). Ciertamente es cierto para mí. Después de 15 años de experiencia con PHP, casi no me toma tiempo crear una aplicación bastante compleja y robusta basada en PHP. Sin embargo, no creo que sea una buena idea establecer las formas de uno: paso mucho tiempo con otros idiomas y plataformas; He estado codificando Node.js durante más de dos años, pero mi nivel de productividad aún no se acerca a lo que es en PHP. Entonces, para responder a su pregunta “¿no debería un buen desarrollador aprender siempre nuevas pilas?” , la respuesta es sí, pero eso no significa que un buen desarrollador tenga que abandonar sus puntos fuertes mientras tanto.

La pregunta “¿Por qué no usas un idioma diferente?” es, para mí, en este punto, como si le dijera a alguien que voy a escribir un libro y responda con “¿En inglés? Ugh … el japonés es mucho más coherente”. ¿Porqué inglés? Porque 1) ya sé cómo usarlo. 2) Se hace el trabajo. 3) La audiencia es grande. Los beneficios de otros idiomas, aunque reales, no superan a los que acabo de enumerar … todavía.

La razón básica por la que no he hecho el cambio completamente es porque hay grandes marcos que realmente resuelven muchos de los problemas. Cuando mencionas Ruby on Rails, hay un marco similar llamado Laravel para PHP. Nada para ganar realmente haciendo el cambio allí.

El nodo es rápido, pero también lo puede ser PHP. Con PHP fpm y HHVM, su aplicación se ejecuta muy rápido.

Cuando la mayoría de la gente está destrozando PHP en Internet, pocos mencionan que PHP también se está desarrollando. Ni siquiera es tan malo como lo fue hace 10 años. Claro que todavía hay cosas que no tienen sentido, pero ya no te topas con esas cosas con la frecuencia suficiente para estar realmente molesto por eso.

Estos son solo mis $ 0.02 altamente personales.

Además de las dos excelentes respuestas, cualquier desarrollador de PHP que valga la pena usa una mezcla. El nodo más probable es una habilidad que adquiriremos naturalmente.
Sin embargo, siempre depende de la situación. Elijo lo que se ajusta a mis necesidades actuales.

Y por cierto, nunca pensé que habría un día en que alguien llamara a Javascript un lenguaje sexy (No me malinterpreten, me encanta JS en pedazos. Simplemente recibió demasiadas críticas, pensé que sería una cosa de la mente de la colmena).

Creo que Node.js es mucho más poderoso, dado el motor V8 sobre el que se ha construido. Proporciona una escalabilidad mucho mayor y el manejo de llamadas asíncronas es excelente. Muchos incondicionales de IT Planet están cambiando a node.js en su back-end para mejorar sus tiempos de respuesta y hacer que el manejo de llamadas asíncronas sea eficiente.

More Interesting

¿Qué tan factibles son los trabajos de desarrollo que involucran la codificación de back-end después de graduarse de un campamento de codificación superior?

Estoy aprendiendo desarrollo web. Quiero ser un desarrollador de back-end. ¿Tengo que ser un desarrollador front-end primero para entrar en el campo?

Entre los desarrolladores front-end y back-end, ¿qué conjuntos de habilidades son más importantes para uno que para el otro?

Me uní a un equipo de PHP API en el que voy a trabajar como desarrollador web de back-end. Actualmente están trabajando en PHP YII y Mongo. Redis ¿Qué debo aprender junto con él? ¿Cuál es un consejo?

¿Puedo usar mBaaS como backend móvil en lugar de contratar un desarrollador de backend?

¿Qué es un backend?

Con frecuencia leo a los desarrolladores de back-end que dicen que el desarrollo de front-end es un desastre. ¿Qué quieren decir con eso exactamente?

¿Node.js se convertirá en la mejor alternativa para el desarrollo de backend en 2015?

Soy un desarrollador front-end y quiero aprender back-end. Cuál es la opción más interesante y estable para el desarrollo completo: Node.js con Express o Sails; o Python con frasco o pirámide?

¿Qué tan físico se vuelve un desarrollador de back-end?

Aprendo ambos, front y back end del desarrollo web. ¿Dónde puedo encontrar algunos proyectos para practicar?

¿Las sems finales en Manipal son más fáciles en comparación con las sesiones? ¿Es fácil anotar en semifinales?

¿Es el 8% y no hay salario justo para el único tipo de backend en una startup?

¿Qué parte se debe desarrollar primero mientras se desarrolla una aplicación web, front-end o back-end?

¿Qué tecnologías elegirás para implementar el backend para una aplicación web escalable hoy?