¿Por qué PHP es tan odiado? [cerrado]

17

Últimamente me he encontrado con varios chistes y cómics sobre lo aparentemente horrible que es PHP.

Como un completo ignorante del lenguaje, ¿por qué es esto? ¿Es mi propia percepción o este es el sentimiento general en general en la comunidad de programación?

Gabriel
fuente
2
Escribo el software en C # y escucho todas las críticas de Microsoft, es casi solo el otro idioma
Scott Selby
44
@Andy no se debe olvidar las publicaciones de blogs de Jeff: La singularidad de PHP y PHP apestan, pero no importa
55
¿No hay dos tipos de idiomas ... los que todos odian y los que nadie usa?
GrandmasterB
2
@HerrK, la única forma en que se puede responder (incluida la mía) es mediante las opiniones de por qué crees que el php apesta. También conduciría a discusiones no productivas (¡apesta! ¡No, no lo hace! ¡Java apesta tanto!). La pregunta no se optimiza para las buenas respuestas como está escrita actualmente (esto no significa que no se pueda escribir una buena respuesta ). Por otro lado, un buen lugar para hacer preguntas de discusión y opinión es el de Software Engineering Chat . Sería especialmente útil conversar con nuestros propios Yannis sobre php y sus percepciones en la industria.

Respuestas:

29

Nota: Esto está escrito desde una postura muy obstinada.

Ver también: PHP: un fractal de mal diseño

Hace mucho tiempo, cuando la web era joven, escribiste una aplicación web en perl. Eso fue realmente todo. Esa fue su única opción (a menos que realmente le gustara trabajar con cadenas en C). (Y sí, estoy pasando por alto grandes extensiones de ASP y similares ... Prefiero olvidar esos días). Hubo grandes y grandes aplicaciones de la web escritas en perl. Y había muchas, muchas piezas de ... bueno, basura escrita en perl. Todavía puede encontrarlos si mira: scripts CGI con errores que alguien golpeó juntos que ni siquiera se acercan a desinfectar sus entradas.

A medida que la web se volvió más empresarial, las grandes y grandes aplicaciones se trasladaron a otros marcos que estaban mejor diseñados para manejar miles de conexiones (Perl en ese momento no lo era). Aquellos que podían aprender un nuevo lenguaje pasaron a Java (esa fue la mejor opción para muchos marcos). Aquellos que no podían, bueno, había este lenguaje que se parecía mucho a Perl e hizo algunas cosas mejor (no era necesario bifurcar un proceso para cada solicitud). Fue php.

Php creció, orgánicamente ... si puedes llamar a un monstruo de Frankenstein orgánico. Muchos hacks (¿sabías que la función hash original para los nombres de funciones fue eliminada ?). Cosas parciales añadidas al lenguaje central (en lugar de bibliotecas) que aún permanecen allí hoy. No es tan bonito. (Empuje al de reddit / r / lolphp el que se burla de muchas de estas veleidades ... ¿sabía que -1 monthes siempre de 30 días ?)

Y si bien se han construido cosas grandes y enormes en php (mire WordPress como ejemplo), sigue siendo un monstruo oculto con esoterica sobre cómo funcionan las cosas (o no funcionan, o qué partes de las cosas funcionan la mayor parte del tiempo). hora).

Es el lenguaje rápido y fácil de aprender, por lo que muchas personas que no quieren pasar tiempo aprendiendo un idioma lo usan. ¿Y luego cuando se rompe y tienes que mantenerlo ahora? Bueno, un lenguaje que permite tal falta de disciplina de los codificadores que no siempre entienden lo que están haciendo genera algunos errores muy "interesantes".

Es el lenguaje de sitios web que se lanzan rápidamente y complementos de WordPress a medio hornear. Donde unos 16 años escribieron el código de su vecino por $ 20 o un estudiante universitario por dinero de cerveza ... sabiendo que nunca lo volverán a ver. Vaya a buscar la etiqueta php de Stack Overflow por un momento y considere que puede mantener ese código algún día.

Recuerde que el código de todos los demás siempre apesta. Y si tienes que lidiar con el código de otra persona en PHP, es una mierda.

Comunidad
fuente
66
no es de extrañar que las personas odien el php si toman WordPress como ejemplo ... marcos como Symfony o clases como Pimple son mejores scripts de php limpios que me encantaría tener que mantener. symfony.com/components pimple.sensiolabs.org
Félix Gagnon-Grenier
Cada idioma tiene errores. PHP tenía un montón de estos errores. Algunos están ordenados, otros son como están, pero se crean alternativas. PHP evolucionó con el tiempo. PERO el problema es la comunidad. Tiene una comunidad llena de novatos y aficionados. Mi superior dijo una vez "nadie sabe php, incluso si tienen 5 años de experiencia". Eso es cierto, más de la mitad de los desarrolladores de php no conocen el concepto OOP. simplemente realizan el trabajo utilizando funciones de matriz y cadena copiadas de stackoverflow.
tejas.jaiswal