¿Por qué, a pesar de la popularidad de Facebook y Wikipedia, la gente dice que PHP es malo?

El argumento del carro de “popularidad significa que es bueno” ya ha sido desmentido. Déjenme abordar la segunda mitad de su pregunta. ¿Por qué la gente dice que es malo (o más bien lo bueno, lo malo y lo feo):

El bueno:

  • Lenguaje popular con gran apoyo de la comunidad.
  • Lengua madura con muchas bibliotecas.
  • Multiplataforma se ejecuta en Windows, Linux y Mac
  • Curva de aprendizaje muy pequeña

El malo:

  • Tipo débil (PHP 7 tiene “tipo estricto” ahora)
  • Lenguaje interpretado (no compilado), lo que significa que puede no ejecutarse tan rápido como otros idiomas
  • Lenguaje peculiar que a veces no sigue las convenciones

El feo:

  • Debido a la naturaleza indulgente de PHP, puede escribir código PHP realmente malo muy rápido
  • Debido a la corta curva de aprendizaje, muchos desarrolladores “inexpertos” han escrito código que no sigue las mejores prácticas.

Resumen:

PHP tiene un lugar como lenguaje que, en manos de desarrolladores expertos, es un lenguaje muy poderoso. En manos de los inexpertos puede ser un lenguaje poderosamente malo.

El uso no valida un diseño.

¿Cuántas personas beben Coca-Cola? ¿Hace que Coca Cola sea buena? ¿Cambia su diseño? ¿Lo hace saludable? No. Es fácil de beber y se siente refrescante, pero sigue siendo malo.

No creo que debamos traer el tráfico de 100mi de Wikipedia a esta ecuación. Wikipedia es principalmente unidireccional y no requiere mucho de su arquitectura además de servir datos, muchos de ellos.

Facebook sí. Debido a la popularidad de Facebook, sigo recibiendo preguntas como la suya. Sin embargo, no cambia el hecho de que PHP NO está preparado para la empresa. Facebook cambió tanto su “PHP” y lo compiló de manera tan diferente que uno debe ser muy cuidadoso y muy analítico al decir: “Facebook funciona con PHP” o que su aplicación en PHP logrará el mismo rendimiento. No lo hará.

He escrito soluciones PHP de alto tráfico y me he arrepentido. Seguí agregando estrategias de colas de mensajería, elementos C para acercarme al metal, servidores y servidores y no ayudó mucho. Ahora estamos llegando a 50 millones de transacciones ricas por día y el sistema está luchando.

Me gusta el idioma Tiene sus “ventajas” y usos. Sin embargo, la empresa no es una de ellas. Y el lenguaje definitivamente no es bueno, no es saludable y no es a prueba de futuro. Esperando su madurez a medida que se lanzan las nuevas versiones. Grandes avances a la versión 7, por cierto.

Espero haberte ayudado. Sigue investigando.

Todos los idiomas tienen sus ventajas y desventajas.

PHP es popular y ampliamente respaldado por una amplia gama de empresas de alojamiento / proveedor de servicios. Se actualiza con frecuencia y el desarrollo es continuo.

Muchos idiomas caen en lo que acabo de elaborar. En lugar de decir cuál es bueno o malo, es más apropiado decir qué idioma cumple lo que está buscando.

Un pequeño equipo web puede preferir el lenguaje A porque es más fácil de codificar y es ampliamente compatible con códigos de ejemplo en toda la web.

Una empresa grande puede preferir el lenguaje B porque es más personalizable, fácil / difícil de codificar no será una preocupación principal ya que pueden atraer a los mejores talentos.

Estás mirando Facebook y Wiki, son empresas con grandes recursos. Algunos evitan PHP debido a problemas de seguridad, con suficientes recursos y las personas adecuadas, estas preocupaciones pueden abordarse fácilmente en la capa de aplicación / transporte / red.

Los programadores son como ovejas corriendo tras el rebaño de tendencia. Hoy es Node.JS mañana será otra cosa. PHP siempre se presenta como el lado oscuro, pero está muy lejos de la verdad. PHP es un gran lenguaje y la mayoría de los programadores que lo usan lo eligieron porque los hace más productivos y, como saben, el tiempo es dinero. Ignora la masa porque te llevará al fracaso. Elige lo que te gusta y esa sería tu mejor opción.

Y recuerda seguir RAZÓN y no tendencias. Esta regla se aplica a todo en la vida.

Estoy totalmente de acuerdo con la respuesta de Garry Taylor

Si solo usa números para hacer una comparación, podríamos decir

  • China es más poderosa que Estados Unidos ya que tiene más soldados militares.
  • Irak no debería ser derrotado por Estados Unidos por la misma razón anterior
  • El carbono debería ser más valioso que el diamante por la misma razón
  • y muchos muchos mas

Y de hecho, la popularidad es algo muy complejo. Simplemente no refleja el valor subyacente a veces.

Las personas que etiquetan PHP como “malo” son generalmente las que están más mal informadas. PHP es un gran lenguaje, ha estado impulsando sitios web durante mucho tiempo. Trabajo en una compañía de software donde el lenguaje de back-end de elección es PHP y hacen un trabajo fenomenal. La única vez que han considerado mudarse a otro idioma es cuando piensan en construir su propia API. Hay algunas cosas muy profundas y técnicas que solo los ingenieros de software entenderían o incluso los desarrolladores veteranos de PHP, que muestran sus verdaderas caídas.

PHP en sí no es malo, el problema es que el lenguaje es fácil de aprender y no hace cumplir los estándares, lo que significa que los desarrolladores inexpertos y malos pueden crear y publicar código fácilmente. Gran parte de ese código es mal código.

Pero dicho esto, PHP está evolucionando rápidamente y está implementando muchas de las características de otros lenguajes que hacen que ese tipo de acceso fácil sea más difícil.

El mérito y la popularidad no están relacionados.

¿Es Windows mejor que Mac OS X? Si la popularidad fuera un indicador de mérito, podríamos suponer que Windows es al menos 10 veces mejor que la Mac. También podríamos asumir que Windows ME es mejor que el Plan 9, y Justin Bieber es un mejor músico que Mozart.

El mérito y la popularidad no están relacionados, nunca lo han estado.

No estoy pasando ningún comentario sobre PHP, solo que no mejora ni empeora dependiendo de cuántos usuarios tenga Facebook.

Esta es la vida en la industria de la tecnología, cada dos años más o menos se les ocurre una gran tecnología nueva, por ejemplo node.js, y comienzan a decir

Woww, sí, este es el futuro y empezar a decir mierda sobre php

Hasta que aparezca otro y repitan el mismo proceso en el próximo cambio de tecnología, una vez leí de un gran tipo … Un codificador (famoso pero puedo recordar su nombre) que siempre debes estar al tanto de la nueva tecnología emerge pero no dejes que te hagan perder la concentración.

Entonces, si tiene algo bueno y funcionando, no corra y diga que puedo escribir con esta cosa nueva y será mucho mejor, más fresco, etc.

Facebook no hizo eso, Google no hizo eso.

Hay una gran publicación, aunque un poco anticuada, de Jeff Atwood titulada “PHP apesta, pero no importa” (blog.codinghorror.com/php-sucks-but-it-doesnt-matter/).