¿Por qué todos están en contra de PHP?

Es un mito PHP es genial y con frameworks como Laravel es aún más dulce.

Sí, PHP puede convertirse en una pesadilla si no codifica correctamente, pero de todos modos ese es el caso con todos los lenguajes de programación.

Pocos mitos comunes:

  1. PHP no puede escalar : PHP puede escalar, necesita una arquitectura diferente y un sentido del diseño para que funcione.
  2. PHP es lenguaje para principiantes : De acuerdo, también lo es PHP para programadores avanzados.
  3. PHP no es seguro : si no sabe usarlo, entonces probablemente SI.
  4. La depuración en PHP es desordenada : Sí, si no codifica bien. Además, mire a Laravel y otros marcos.
  5. PHP no es para aplicaciones “serias”: adelante, vea en qué se basan Wikipedia, Facebook, Joomla, Drupal, etc.

Además, PHP es el lenguaje más favorable del mundo en el lado del servidor. Así que adelante, aprende y úsalo. Las críticas están en todas partes, así que no hay daño 🙂

Me encanta PHP y Python y los he estado usando durante casi 10 años.

En realidad, la pregunta correcta debería ser “¿Quién está en contra de PHP?”

No. Todos no están en contra de PHP. Sin embargo, el prejuicio contra PHP ha existido desde los años 90. De hecho, los llamados “puristas” del lenguaje estaban en contra del lenguaje desde su invención por Rasmus Lerdorf en 1994 y por buenas razones:

Desde el principio, el lenguaje nunca tuvo la intención de convertirse en un lenguaje de programación serio: fue diseñado para ser una herramienta de secuencias de comandos para unir rápidamente piezas dispares de información relacionada con HTML, etiquetas HTML y otros tipos de contenido centrado en la web.

De hecho, el mismo Rasmus ha sido bastante abierto sobre el hecho de que el lenguaje inicialmente solo fue diseñado para “hacer el trabajo”. Eso es exactamente lo que es PHP. No es hermoso. No está bien diseñado, etc., pero hace el trabajo de manera rápida y efectiva en la mayoría de los casos.

Nadie esperaba que PHP se convirtiera en uno de los lenguajes más exitosos para programar la web.

Un aspecto de la vida que la mayoría de la gente no entiende es que la belleza no siempre equivale al éxito. Hay muchos lenguajes de programación que están mucho mejor y mejor diseñados que PHP, pero mira el panorama de Internet hoy:

1) PHP era el lenguaje de programación del lado del servidor más popular desde enero de 2016, controlando el 81.76% de los servidores web según W3Techs.com

2) PHP es el lenguaje de programación del lado del servidor de más rápido crecimiento desde diciembre de 2015 que se ejecuta en 232 millones de sitios web (fuente: W3Techs.com).

3) El popular CMS, WordPress (escrito en PHP) es utilizado por el 27.7% de todos los sitios web, es decir, una cuota de mercado del sistema de gestión de contenido del 58.8% (fuente: W3Techs.com)

Bueno, parece que la mayoría de los programadores prefieren usar herramientas de programación más recientes como Ruby on Rails, Python, Node.js, etc., pero los números no mienten. Según estas estadísticas, el éxito de PHP como lenguaje de programación no parece ralentizarse en el corto plazo.

Una cosa importante que debe saber es que los lenguajes de programación son herramientas impulsadas por la demanda del mercado.

Una de las mayores ventajas de PHP es su simplicidad. Si viene de C u otro lenguaje de programación de estilo C, puede comenzar a usar PHP en un día. Esta simplicidad es también la mayor desventaja de PHP. PHP facilita la creación de “código de espagueti” que se vuelve muy difícil de depurar.

PHP no impone patrones de mecanografía, estructura o diseño. Esto no es un problema si todo lo que está trabajando es un simple sitio web de la compañía. El problema surge cuando el proyecto comienza a volverse realmente complejo con varios programadores trabajando en él.

Esta es una de las razones por las que muchos programadores huyen de PHP prefiriendo lenguajes más estructurados. Sin embargo, el lenguaje ha estado experimentando importantes innovaciones últimamente. PHP7 que se lanzó recientemente incorpora algunas de las características de lenguaje más avanzadas de la historia, como la programación orientada a objetos, la escritura y el espacio de nombres. Además, las herramientas de desarrollo modernas como Laravel permiten a los desarrolladores de PHP construir proyectos complejos a gran escala de forma rápida y sencilla.

El problema con PHP no es el lenguaje en sí. El problema es la falta de disponibilidad de programadores PHP de calidad que puedan desarrollar programas PHP de buena calidad.

Supongamos que la empresa A quiere que se complete un proyecto de aplicación web en cuestión de días y que todo lo que tiene para llegar a un prototipo funcional es una semana: ¿qué herramienta cree que elegirá para hacer el trabajo? ¿Elegirás C # / ASP.NET, Java o Python porque te encantan los lenguajes o elegirás PHP porque puedes crear rápidamente un prototipo que funcione usando Laravel?

¡La decisión es tuya!

No todos están ‘en contra’ de php. Cada lenguaje de programación tiene sus fortalezas y debilidades, tiene su contexto y tiene un lugar en una especie de ‘jerarquía de lenguaje’. No estoy en contra de php, pero ya nunca sería mi idioma de elección (!), Ni para mí, ni para recomendar a nadie, ni preferiría tenerlo como idioma en mi empresa.

Puedes escribir cosas geniales en cualquier idioma. Los genios pueden escribir aplicaciones muy complejas en brainfuck. Pero hay una jerarquía: surgen nuevos idiomas por una razón. Existe una jerarquía en el lenguaje, desde niveles muy bajos hasta niveles superiores. Está bien ilustrado por Paul Graham: Batiendo los promedios. Dicho esto, todos son libres de elegir su idioma, pero los idiomas superiores tienden (!) A mejorar la codificación y el diseño. Pero, de nuevo, cualquier lenguaje es bueno para cualquier trabajo, siempre que el diseñador y desarrollador del sistema sea lo suficientemente inteligente como para hacerlo. Sin embargo, algunos idiomas son mejores para ciertos trabajos. Y algunos idiomas son más altos en la jerarquía, php intenta mantenerse al día.

php sufre de lo que sufre cada lenguaje popular:

En primer lugar, demasiadas personas, no digo desarrolladores, codifican muy mal y estas personas tienden a usar lenguajes populares por razones obvias y correctas. php es fácil de aprender, fácil no siempre es algo bueno. PHP es difícil de dominar para sistemas grandes. ‘popular’ no dice nada sobre la calidad, pero en muchos casos, popular significa que también hay mucha basura, porque ‘todos’ 🙂 la usan.

En segundo lugar, los llamados desarrolladores creen que pueden programar o aprenden 1 idioma rápidamente. Aprenden un lenguaje popular y quieren construir una carrera en él. Esto fue cierto hace medio siglo, o unas pocas décadas. Mi opinión personal es que esto ya no es cierto: aprender nuevos idiomas y paradigmas enriquece su conocimiento sobre cómo diseñar y codificar, incluso si se queda con un idioma principal. Significado: los idiomas populares tienden a tener muchas personas que lo usan y que solo conocen una forma muy específica de hacer las cosas según el idioma. No son los mejores desarrolladores.

Lo mismo es cierto en gran medida para, por ejemplo, JavaScript. Hay una razón por la cual hay cosas como mecanografiado, ES6, clojurescript, … Es la misma razón por la que php se renueva: trata de mantenerse al día con nuevas ideas y prácticas de programación, lo cual es una tarea difícil.

También veo el mismo problema con Java: una gran cantidad de código escrito es que Java es bastante pobre, sigue prácticas comunes, pero no prácticas ‘buenas’ (que es algo muy diferente). Solo porque hay mucho código Java bastante pobre, algunas personas, no todos :), piensan que la tecnología Java es mala, la JVM no está funcionando bien … La tecnología JVM es mucho más que aplicaciones Java (mal escritas), o peor, aplicaciones Java EE mal escritas.

Dicho esto: sé por mí mismo que no puedo diseñar sistemas de software grandes correctamente en php. Carece de demasiadas cosas, está demasiado acoplado por defecto (!), O más bien, mi cerebro está demasiado limitado para hacerlo en php. Pero no me importaría en absoluto hacer un pequeño componente en php, o preferiblemente, dejar que alguien más lo haga, siempre que cumpla con el rendimiento, la escalabilidad, la capacidad de prueba (generativa), las buenas prácticas de codificación, etc.

Para concluir: ciertamente no ‘todos están en contra de php’. Hay personas, como yo, que están en contra de cómo se escribe mucho código en php (o Java, o javascript, o ruby, o python, o …). En el caso de php, pensé que era un lenguaje bastante impresionante hace una década (o dos), pero los tiempos cambian, las expectativas (tanto para los desarrolladores como para los usuarios de aplicaciones) cambian y la ciencia de TI progresa. Para mí, php no puede mantenerse al día con los idiomas más nuevos, pero eso no lo convierte en un mal idioma; lo convierte en un idioma inferior en 2017.

Una especie de descargo de responsabilidad: ya no codifico php, pero lo hice hace más de una década y lo disfruté mucho. Ya no codifico Java tampoco, aunque sigo pensando que la tecnología JVM es bastante impresionante, así que uso la tecnología JVM (no, no Scala, Kotlin o Ceylon, estuve allí, no me gustaron). Y más recientemente, comencé a alejarme de la JVM para algunos módulos en sistemas más grandes.

SIETE RAZONES CAMBIÉ A PHP DESPUÉS DE 2 AÑOS EN LOS FERROCARRILES:

1 – “¿HAY ALGUNO RIEL / RUBIO QUE PUEDE HACER PHP? … (pensando) … NO”.

Durante 2 años, pensé que Rails es genial, PHP es una mierda. Rails es poderoso, PHP es una mierda.

Casi estaba matando a una empresa de desarrollo de aplicaciones php en nombre de insistir ciegamente en que Rails era la respuesta a todas las preguntas, maldita sea el plazo.

Pero cuando lo miré sin emociones y sin prejuicios, me di cuenta de que el lenguaje no importaba demasiado.

Ruby es más bonita. Rails tiene buenos atajos. Pero no hay grandes atajos que no pueda codificar en un día si es necesario.

Visto desde un punto de vista práctico real, podía hacer cualquier cosa en PHP, y había muchas razones comerciales para hacerlo.

2 – NUESTRA MATERIA COMPLETA DE LA COMPAÑÍA ESTABA EN PHP: NO SUBESTIME LA INTEGRACIÓN

Según el antiguo plan (deshacerse de todo PHP y hacerlo todo en Rails), iba a haber este One Big Day, donde toda nuestra Intranet, Storefront, Área de inicio de sesión de miembros y docenas de scripts de shell cron TODOS tendrían que cambio. 85 empleados reentrenados. Todos los clientes y clientes llamando furioso ese Gran Día, con preguntas sobre el nuevo sistema.

En cambio, pude destripar lentamente el feo PHP y reemplazarlo con un hermoso PHP. Lanzamiento en etapas. No hay gran reentrenamiento.

3 – NO QUIERO LO QUE NO NECESITO

Admiro muchísimo a la pandilla central de Rails que realmente comprende cada línea dentro del desarrollo web de Ruby and Rails . Pero yo no. Y estoy seguro de que nunca usaré el 90%.

Con mi pequeño sistema hecho a sí mismo, cada línea es solo lo que es absolutamente necesario. Eso me hace extremadamente feliz y cómodo.

4 – ES PEQUEÑO Y RÁPIDO

Un pequeño servidor 2U LAMP está sirviendo una tonelada de tráfico de Vender y transmitir su música en todo el mundo muy rápido sin apenas carga.

5 – SE CONSTRUYE A MIS GUSTOS

No necesito adaptar mis formas a Rails. Le digo a PHP exactamente lo que quiero hacer, la forma en que quiero hacerlo, y no se queja.

Estaba teniendo que hackear Rails con todo tipo de complementos y modificaciones para que sea la integración multilingüe a nuestra base de datos de 95 tablas existente.

Mi nuevo código fue hecho solo para mí. El código más eficiente posible para trabajar con nuestras necesidades exactas.

6 – AMO SQL

Hablando de gustos: algo pequeño pero importante: me encanta SQL. Sueño en consultas. Pienso en tablas.

Siempre estaba luchando contra Rails y sus migraciones me ocultaban mi querido SQL.

7 – LOS IDIOMAS DE PROGRAMACIÓN SON COMO AMIGAS: EL NUEVO ES MEJOR PORQUE * USTED * ES MEJOR

Rails fue una maestra increíble. Me encantó su marco de “hacer exactamente lo que digo” pintar por números que me enseñó algunas pautas excelentes.

Amo a Ruby por hacerme entender realmente la POO. Dios, Ruby es tan hermosa. Te amo ruby

¡Pero la razón principal por la que cualquier programador que aprende un nuevo idioma piensa que el nuevo lenguaje es MUCHO mejor que el anterior es porque ahora es un mejor programador! Miras hacia atrás a tu viejo y desagradable código PHP, en comparación con tu nuevo y hermoso código Ruby, y piensas: “¡Dios, que PHP es feo!” Pero no olvides que escribiste ese PHP hace años y ahora lo discriminas injustamente.

No es el lenguaje (enteramente). Eres tú, amigo. Estás mejor ahora. Date un poco de crédito.

La curva de aprendizaje de PHP es mucho más baja que cualquier otro lenguaje y plataforma. La razón principal es que PHP está desarrollado para el desarrollo web en mente . Es una biblioteca web dinámica + idioma al mismo tiempo, mientras que la mayoría de los otros idiomas están destinados a ser genéricos, y la aplicación web es una biblioteca externa.

Como sucedió con BASIC y Visual Basic, cualquier cosa que tenga una curva de aprendizaje más baja tiende a ser más popular porque más personas la usaron. Una vez que hay más personas que lo usan, la cantidad de personas que no son buenos codificadores y que usan PHP tiende a ser mayor que los otros lenguajes más complejos.

He enseñado programación a clases grandes, y desde mi experiencia, no es el lenguaje, es la persona. El mismo grupo de estudiantes aprende PHP, Java y C #: los buenos programadores son buenos en los tres; los malos programadores son malos en los tres.

La negatividad no está exenta de razones, pero la mayoría de las razones son meras trampas. La verdadera amenaza que enfrenta PHP son las tendencias actuales en el mundo tecnológico. No funciona bien en big data, donde la velocidad computacional es importante, ni lo hace bien con aplicaciones colaborativas en tiempo real, que se está convirtiendo cada vez más en la norma. Sus aspectos de plantilla han desaparecido a medida que las aplicaciones web dependen cada vez más de React y VueJS para proporcionar interactividad.

En cierto nivel, estoy convencido de que muchos PHP-Haters tienen envidia de los $$ que ganan las personas en el campamento de PHP. Mire a las personas empleadas haciendo WordPress, o Drupal, o Joomla, etc. a tiempo completo. Las personas, muchas sin títulos de CompSci, obtienen 5 dígitos altos y, a menudo, salarios de 6 dígitos, ya sea en el trabajo o como trabajadores independientes. Eso no quiere decir que las personas que usan derivados de C, Ruby, Java, etc. no lo estén haciendo tan bien o mejor. Es solo que muchos usuarios de PHP tienen éxito sin conocer los conceptos básicos de diseño de software, cohesión, ingeniería de software, etc. [¡inserte palabras de moda geniales aquí!]
Una vez [y solo UNA VEZ] asistí a una reunión de GoLang e hice que el organizador rechazara mi tarjeta de presentación porque trabajo con Drupal, que está basado en PHP. Estaba completamente disgustado con mi plataforma elegida y francamente conmigo. Por supuesto, él está sin duda en el otro extremo del espectro de PHP-Hater, pero este tipo tenía una buena reputación con sus títulos, certificados, etc. Y aquí estoy … Lil ol ‘me. Usando la plataforma más popular en la web y no tendría nada de eso.
Sostengo que hay una gran cantidad de celos por ahí. A medida que PHP crece y madura como lenguaje, las objeciones técnicas cambian y disminuyen de alguna manera, pero el hecho de que las personas se aprovechen de él solo aumenta.
Imagínese si fue a la escuela durante más de 8 años y es un cirujano con un nicho caro pero alguien más visita un par de sitios web, sigue algunos tutoriales y en poco tiempo el cirujano ve a personas haciendo cola en la puerta de la oficina de alguien que ni siquiera un Dr. “real”
Tal vez sea una mala analogía, pero creo que tenemos muchos molestos y molestos PHP-Haters por ahí que se sienten irrespetados por los ecosistemas financieros que han evolucionado en torno a PHP.
– DV

Parece que la respuesta a su pregunta es que no debe hacer la pregunta basándose en todas las respuestas que he visto aquí.

Permítame ofrecerle un contrapunto, o una respuesta real a su pregunta, las razones por las cuales las personas están en contra de PHP.

La respuesta de Aaron Mefford a Todos me dice que deje de usar PHP. ¿De qué otra forma puedo construir un sistema de inicio de sesión, área de miembros, etc.? ¿Qué alternativas tienen una fuerte documentación y comunidad?

TL: DR;

  • La razón original para crear el lenguaje fue crear sitios web con contenido dinámico. Funciona bien para eso, por lo que las personas pueden citar la gran cantidad de lugares donde se usa. Lo que no muestra es que no es eficaz en la creación de aplicaciones a gran escala. No fue diseñado para eso y se nota, una y otra vez.
  • El lenguaje fomenta el uso frecuente de globals.
  • El núcleo del lenguaje es una colección plana masiva de funciones globales, mal nombradas
  • El lenguaje alienta a escribir bloques de código monolíticos, casados ​​con la vista.
    Modelo-vista-controlador – Wikipedia
  • El lenguaje no proporciona encapsulación por defecto. Todas las variables y funciones incluidas desde otro archivo se convierten en nuevos globales en el alcance actual.
    Programación orientada a objetos – Encapsulación – Wikipedia
  • El lenguaje no fomenta la abstracción.
  • Los lenguajes tienden hacia un acoplamiento estrecho.
    Acoplamiento suelto – Wikipedia
  • El lenguaje fomenta la copia de Cody, no la reutilización de código.
    Model – view – controller – Reutilización de código – Wikipedia
  • El lenguaje no fomenta la cohesión en sus módulos. Es tan feliz conmigo escribir un montón de funciones aleatorias no relacionadas como construir un objeto adecuado.
    Cohesión (informática) – Wikipedia
  • Debido a los problemas anteriores, el uso de PHP en un entorno de desarrolladores múltiples es un desafío.

Ahora, aquellos que están dedicados a PHP dirán que todos estos problemas están resueltos, y de hecho lo están. Laravel proporciona un gran marco MVC que fomenta el diseño adecuado. PHP ha soportado la programación OO desde hace algún tiempo, lo que hace posible el uso de encapsulación, abstracción, acoplamiento flojo y alta cohesión. Sin embargo, esa es la comunidad, no el idioma. Eso es lo que ha hecho la comunidad a pesar del idioma. Y niega el problema subyacente de que el lenguaje en sí mismo no fomenta nada de esto y, a menudo, el resultado es que montañas de código se escriben ignorando estos sólidos principios de diseño.

Sin embargo, incluso con este PHP tiene su fea cabeza. De una de las aplicaciones PHP mejor escritas que he visto, basada en el marco laravel, obtengo esto:

string(10) "production"

int(500)

string(88) "/var/www/******/vendor/laravel/framework/src/Illuminate/Console/Command.php"

int(330)

string(51) "Call to a member function writeln() on a non-object"

Sin abrir y editar la biblioteca laravel, nunca podré determinar en qué parte del código se está causando ese error. El módulo Laravel no pudo validar su entrada de modo que tomó una entrada no válida e intentó trabajar con ella. La joya de la corona del desarrollo de PHP, sin embargo, todavía se siente como PHP. En lugar de un seguimiento de la pila, el marco solo me da el último fotograma de la pila.

Hay muchos otros lenguajes y marcos que son superiores en todas las formas prácticas a PHP. Te perjudicas al no aprender al menos uno de ellos.

¿Quién está en contra de PHP? Dime dónde vive … Los expertos usan las redes sociales y las publicaciones de blog para matar PHP porque han fallado en esto en cualquier otro lugar.

Es posible que desee comprar el bombo de Ruby on Rails, pero espere hasta que comience a implementar su aplicación y se dé cuenta de que ningún servidor compartido realmente admite aplicaciones Rails .

Y lo más ridículo es que aquellas personas que escriben artículos y publicaciones de blog que demonizan PHP tienen sus blogs con WordPress , sus tiendas en línea con WooCommerce y Magento , y pasan toda la tarde en Facebook con PHP.

Claramente, estás seguro de que no saben de qué están hablando.

Pero para decir la verdad, llegó a un punto en el que también consideré deshacerme de PHP por un lenguaje mejor como Ruby hace unos 2 años debido a algunas limitaciones que experimenté especialmente con la exportación de métodos de clase como funciones individuales .

Sin embargo, todo esto se solucionó en PHP 7, por lo que PHP sigue siendo el lenguaje a superar en 2017.

Solo para ampliar esto, PHP comenzó como un lenguaje de plantillas para html, se convirtió en un lenguaje funcional y luego introdujo OO.

En comparación con Ruby o Python; ambos han existido al menos el doble de tiempo que los lenguajes completos, provienen de la dirección opuesta donde se les presentaron bibliotecas basadas en web (rieles, django, etc.).

Además de la miseria de PHP fue el desarrollo de WordPress, drupal, joomla, silver stripe, etc., cuando solo estaba aprendiendo sobre objetos, y alrededor de esto fue el lenguaje más fácil de usar / abierto.

Lo que esto significó fue que PHP le dio al mundo algunas de las aplicaciones web gratuitas más fáciles de implementar y administrar, trabajando en principios de codificación que fueron increíblemente arcaicos, durante una época de auge y caída de punto com donde la demanda de software fácil y gratuito era alta. Esto también significaba que un Joe promedio con un poco de lectura y retoques podría poner en marcha un sitio con un mínimo de alboroto.

Así que ahora una gran parte de nuestra web está ejecutando un código PHP muy antiguo, que es difícil de manejar; más en el sentido de que no sigue patrones establecidos establecidos por lenguajes más completos que muchos no quieren clasificar frente a cualquier dificultad técnica.

El movimiento de la Web 2.0 realmente despegó hace aproximadamente 5 años, los graduados de CS descubrieron que las aplicaciones web podían funcionar con los idiomas y principios que conocen y ahora estamos en un lugar donde las personas educadas inteligentes pueden usar métodos familiares, probados y probados para crear aplicaciones en la web , después de tener que lidiar con PHP heredado durante los diez años anteriores.

Entonces, sí, hay un poco de reputación con php que se está sacudiendo lentamente. Todavía es increíblemente popular, haciendo grandes avances (laravel, Symfony) y el infierno, Facebook lo usó durante sus primeros años (y aún lo hace, más o menos).

Algunas de las respuestas en este hilo son bastante ilustrativas del problema con PHP.

No es el idioma El lenguaje es bastante malo, claro, pero ha mejorado con el tiempo y sin duda continuará haciéndolo.

Más bien, son las personas que usan el lenguaje. El nivel de fanboyismo desenfrenado y respuestas instintivas en este hilo es bastante ridículo.

Parece que los desarrolladores de PHP a menudo no aprecian tener problemas muy reales con su lenguaje discutido de manera crítica. ¿De alguna manera esto parece ser un ataque a su identidad o algo así?

Tal vez sea porque para muchas de estas personas PHP es el único lenguaje que realmente conocen y no quieren admitir que no es una bala de plata adecuada para todos los problemas.

Para mí, esto es una tontería. He trabajado en varios lenguajes (incluido PHP) y ninguno de ellos es perfecto. Puede que me encante Python y Scala particularmente en este momento, pero no a ciegas. Tienen sus verrugas, al igual que PHP.

Cuando trabajé en PHP descubrí lo siguiente:

  • Es posible escribir código PHP limpio y bien estructurado …
  • … pero casi siempre requiere más esfuerzo del necesario en la mayoría de los otros idiomas …
  • … como resultado, la gran mayoría de los proyectos PHP tienden hacia el estilo de proyecto Big Ball of Mud, mucho más que en otros lenguajes que imponen una mayor estructura al desarrollador.

Este último punto es particularmente importante. Ciertas frases del artículo en cuestión serán instantáneamente familiares para cualquiera que haya trabajado en PHP. En particular:

“La información se comparte de manera promiscua entre elementos distantes del sistema, a menudo hasta el punto en que casi toda la información importante se vuelve global o duplicada”

Esta oración sonará verdadera para cualquiera que haya pasado tiempo con PHP. El espacio de nombres global para la biblioteca estándar junto con el sistema include / include_once / require / require_once esencialmente impone un alcance global en su. Sí, las versiones más nuevas de PHP admiten un sistema de espacio de nombres, pero a este respecto, el éxito de PHP también es su peor enemigo. La gran mayoría del código PHP existente no utiliza el sistema de espacio de nombres proporcionado en PHP 5.3 y, por lo tanto, la filtración de alcance es frecuente.

La moraleja de la historia es que PHP tiene su reputación por una razón. No es el resultado de una conspiración mágica de los Illuminati para mantener bajos a los programadores de PHP. Sí, es cierto que PHP 7 moderno es una gran mejora con respecto a las versiones anteriores, pero aquí, nuevamente, PHP es víctima de su propio éxito. El código escrito en la versión anterior del lenguaje es tan frecuente que PHP 7 se enfrenta esencialmente a una batalla cuesta arriba en términos de adopción que probablemente hará que el cambio de Python 2/3 parezca positivo.

Wow, hay tantas respuestas de fan-boy en este hilo. Esta discusión ha surgido muchas veces en mis viejos lugares de trabajo, con mucha variación en las respuestas.

PHP se ha utilizado en aplicaciones como Facebook, wikipedia, wordpress, etc. Seguirás escuchando cómo PHP potencia el 70% de la web o los desarrolladores pueden comenzar a codificar en PHP y producir resultados rápidamente.

Sin embargo, esta no es una imagen precisa del estado actual de las cosas. La encapsulación del lenguaje está lejos de ser ideal (es decir, cambiar las versiones del idioma es horrible), las inconsistencias del lenguaje son abundantes, el manejo de errores es horrible y una pesadilla absoluta con el trato.

Si bien los marcos como Laravel pueden ser geniales, los marcos alternativos como Rails, Django y Grails son un sueño para trabajar, y se basan en lenguajes maduros y estables con una gran cantidad de características y soporte comunitario.

Por supuesto, comparar el rendimiento de C y Java no es excelente. Java y C se compilan, mientras que PHP se interpreta. Java y C tienen casos de uso muy diferentes.

La clave aquí es mirar todos los idiomas que usa críticamente y con una mente abierta. La gente no odia en PHP porque no tienen nada mejor que hacer, hay alternativas mucho mejores y ningún lenguaje es una bala de plata.

¿Quién está en contra de PHP? PHP tiene las mejores plataformas y programas de software del mundo y una gran parte del pastel es PHP en ecoomerce, sistemas de gestión de contenido y mucho más.
Facebook tiene una parte importante construida en p de PHP. PHP NO es un no ir.
PHP es la plataforma principal para autónomos y pequeños empresarios. PHP volverá a ser más popular debido a plataformas en la nube rentables como Google Cloud.
Empresas como http://www.towncraft.in tomaron la plataforma Google Cloud y AWS por brindar los mejores servicios a sectores industriales muy pequeños y pequeños. Un portal de noticias puede ser rentable en Google Cloud, por ejemplo, si es compatible con una plataforma de correo electrónico de Amazon SES. Las plataformas de código abierto como WordPress, Magento, Open Cart, phpbb, Drupal, phplist, sugar CRM, etc. están facilitando la vida de las personas de pequeñas empresas.
Así que nunca digas que la gente está en contra de PHP.
Los sitios web de Ecommrce como Bangalore Agrico, Buy Live Plants Online India (Plants Live), etc. están utilizando plataformas de código abierto.
Para una buena plataforma, debemos usar una combinación de sistemas. Por ejemplo, si su aplicación necesita mucho más procesamiento interno de lo habitual, debe usar python o perl para esas partes de secuencias de comandos. Si necesita más scripting y automatización de shell, puede usar las bibliotecas CLI.
PHP puede ser una buena plataforma, si administra su aplicación para manejar problemas de memoria, almacenamiento en caché adecuado, optimizaciones de bases de datos, etc. Además, garantice una buena plataforma de alojamiento. Las plataformas de alojamiento compartido tienen limitaciones para ejecutar scripts enormes.

He estado usando PHP por más de 7 años. Entonces no tendré prejuicios sobre esta respuesta,

Hace algún tiempo, PHP era una buena opción, pero ahora ya no. Déjame elaborar.

PHP no está compilado, por lo que, a menos que esté haciendo un poco de linting y pruebas, ¡puede terminar con un error de sintaxis en la producción! Esto no sucederá en ningún lenguaje de programación compilado.

Loose Typing, para principiantes, Loose typing es excelente, no se quejará si asigna un entero a una cadena, lo cual es un problema en mi humilde opinión, digamos en JavaScript, 1+'1'=11 que puede provocar errores.

Con un tipeo fuerte, nuestros editores de texto o IDE saben exactamente lo que devuelve una función / método, y pueden proporcionar autocompletados para que no llamemos accidentalmente a algún método que no exista en un determinado objeto que obviamente no se almacenará en caché desde No está compilado.

Hay mucho más que puede buscar en línea.

Lamentablemente, todavía estoy trabajando con PHP.

Trabajé en una empresa donde la actitud de todos hacia PHP era totalmente negativa. Estaba codificando en ColdFusion en esta empresa.

Me senté una tarde y pensé por qué todos estaban tan en contra.

Creo que el problema es con las aplicaciones que PHP ha usado para crear. Es decir, “WordPress es basura, por lo tanto, PHP es basura”.

PHP no es perfecto, no hay lenguaje de programación, pero hace el trabajo, es utilizado por más del 70% de los servidores web, por lo que debe estar haciendo algo bien.

ColdFusion, por otro lado, debe ser desaprobado como una herramienta de programación viable. De todas las cosas, solo había 1 característica útil; eso fue todo. PHP, por otro lado, podría nombrar innumerables cosas que son útiles y útiles.

Me parece que hay más estigma asociado al ser un desarrollador (Ex) -ColdFusion que al ser un desarrollador PHP. Ahora soy un desarrollador PHP que trabaja con Yii, y cuando hablamos de desarrollo web, algunos programadores bromean con el hecho de que solía codificar en CF, pero otras actitudes han sido bastante negativas.

La vida útil de todas y cada una de las aplicaciones se divide en fases. PHP es un lenguaje para el desarrollo rápido y efectivo de aplicaciones, mientras que su estructura flexible hace que estas aplicaciones sean difíciles de mantener a menos que se aplique un régimen especial sobre un lenguaje en sí.

Definitivamente Java, .Net, C # o Erlang están mucho más estructurados y organizados, pero el precio para esto es el tiempo necesario para cumplir con sus restricciones.

A menudo es difícil o incluso imposible escribir un código de “estilo de procedimiento” en algunos de estos lenguajes, mientras que uno puede escribir libremente código de procedimiento efectivo en PHP y mezclarlo con andamios OOP. Definitivamente, esto debería llamarse mala práctica, pero la filosofía detrás de PHP es simple:

MIENTRAS SE ACERCA EL PLAZO, ¡EL CÓDIGO FEO ES MEJOR QUE NINGÚN CÓDIGO!

Entonces, claro, puede escribir clases agradables y altamente granuladas siguiendo los patrones de diseño SÓLIDOS y mejores, pero si se apresura debido a la fecha límite al día siguiente, simplemente descarga “fragmentos” de código que están lejos de los principios SÓLIDOS y casi no se parecen a ninguno patrón de diseño pero – hurra – ¡SU APLICACIÓN FUNCIONA Y USTED RECIBE SU CUOTA!

Entonces, claro, puedes hacer que tus pelos grises refactoricen este código, pero esta es una historia completamente diferente 🙂

Bueno, consideremos …

Se ha estimado que más del 80% de los sitios conocidos se ejecutan en PHP. Claramente, las personas que están “en contra” de PHP son una gran minoría.

Entonces consideremos …

Mi propia experiencia personal es de más de 10 años con Python y PHP. Nunca he trabajado con otro desarrollador de Python que tuviera algún tipo de rencor contra PHP. Demonios, la mayoría de ellos nunca tuvo necesidad de PHP ya que Python también es más que capaz de desarrollar sitios, por lo que esas personas tuvieron el buen sentido de no tener una opinión sobre algo con lo que no tenían experiencia.

Debería ser muy revelador que la mayoría de los desarrolladores de PHP estén contentos en general con el lenguaje. Después de todo, ¿no es eso de lo que hablan constantemente los desarrolladores de Python y Ruby? ¿Cómo les satisface su lenguaje?

Quiero decir honestamente, miro artículos como Fractal of Bad Design de hace años, y me hace vomitar que los desarrolladores son tan estrechos y fáciles de manipular que no solo compran en la narrativa, sino que luego difunden el artículo como un evangelio. El hecho es que proviene de un tipo al que se le ha pagado un gran dinero en la última década para desarrollar proyectos basados ​​en PHP: la mitad de ese artículo es simplemente porque no comprende cómo funciona un lenguaje mecanografiado. La otra mitad del artículo es engañosa, completamente errónea, y ocasionalmente se agrega un buen punto. Es especialmente irónico, considerando cuánto de la multitud anti-PHP tiene una actitud elitista, y he visto a muchos de ellos hablar mal de Desarrolladores de PHP por no usar su lenguaje “superior” y “mejor diseñado”

Con el lanzamiento de PHP 7, la multitud anti-PHP se ha quedado sin lógica, si no vapor. Afortunadamente, esa multitud es muy pequeña, por muy vocal que sea.

Caveat Emptor: No soy un desarrollador, sino un administrador de redes / sistemas, estaba “allí” cuando nació PHP, y felizmente lo usé para satisfacer mis necesidades.

Dicho esto: NO, no escala bien.

Incluso con el almacenamiento en caché de código y tal, su rendimiento / escalabilidad desde el punto de vista de los sistemas es inversamente proporcional a su cuota de mercado cuando se enfrenta a marcos más modernos como node.js o similares.

La cuota de mercado significa nada para mí. TI se trata de innovación, sin embargo, las personas son criaturas de hábitos, dispuestos a seguir el mismo camino una y otra vez … esa es la única explicación para seguir presionando a AMP, sin darse cuenta de que todos (Apache, MySQL y PHP) han sido superados dramáticamente por drásticamente mejores tecnologías en todos los frentes.

Al final, eso es de esperarse ya que no son viejos, son todos jurásicos, por decir lo menos.

No es una cuestión de odio, es una cuestión de pensar fuera de la caja, y estar abierto a adoptar nuevas y mejores tecnologías.

Para decirlo de una manera diferente: imagina que quieres construir una bicicleta de montaña a partir de piezas.

¿En qué invertirías? ¿Un marco de acero de 20 años o una fibra de carbono (o titanio) que pesa diez veces (por decir algo) menos?

¿Qué pasa con las ruedas, frenos, suspensión, amortiguadores? ¿Compraría piezas de “tecnología antigua” o de New Old Stock, o piezas más modernas?

Es cierto que tendrá dos ruedas, dos pedales, y “lo llevará allí”; Más aún, si eres un ciclista profesional, vencerás a las personas con bicicletas “aeroespaciales” sin problema, pero … ¿vale la pena? ¿Invertirías en eso?

Estoy bastante seguro de que esto cubre todos los ángulos. PHP: un fractal de mal diseño

La escritura débil (es decir, la conversión automática silenciosa entre cadenas / números / et al) es tan compleja que cualquier esfuerzo menor del programador que se guarde no vale la pena.

Seguido de un artículo escrito por alguien que soy fanático de The PHP Singularity

PHP no es tanto un lenguaje como una colección aleatoria de cosas arbitrarias, una explosión virtual en la fábrica de palabras clave y funciones

He leído el argumento contrario que ha recorrido un largo camino en 4 años desde entonces. Sin embargo, preferiría escribir React.js, Node.js express o Suave.io

Entre mis razones favoritas, formado casi sin experiencia real, solo experiencia amando los lenguajes menos detallados y tipeados más fuertes como los encuentro.

Otros enlaces de apoyo

¿PHP es un lenguaje de programación mal diseñado?

YourLanguageSucks – Wiki de Theory.org

Enlaces de contador

Tomando PHP en serio

No creo que todos estén en contra de PHP.

Eso no tendría sentido.

He codificado en Assembly, C, C ++, BASIC, Visual Basic, C #, Python, PHP, incluso en COBOL en el pasado. Siendo la opción “intermedia” entre los idiomas que he tratado, PHP ha sido mi fuente de ingresos a través de los años. Hice mucho dinero con PHP.

Fui un adoptador bastante temprano. Cuando los programadores, las empresas y los aspirantes a programadores no ven otra alternativa que la plataforma .NET, me sumerjo en la pila LAMP. Casi me muero de hambre durante unos años, pero luego, .NET desapareció.

Aquellos que tomaron la decisión equivocada (en términos comerciales) ahora culpan a PHP. Insisten en sus defectos, déficit, decisiones equivocadas, etc.

Pues nada es perfecto. Cuando se trata de computadoras, todo es posible. ¿Encuentro algún gran problema con PHP? Apenas. Si necesita velocidad ultra, continúe y escriba un módulo Apache. O externalice tareas super pesadas a C / C ++.

El negocio de las aplicaciones web es grande, y la mayoría de las plataformas usan la pila LAMP. Acostumbrarse a él.

Si necesita un automóvil realmente rápido y capaz, no conducirá una clase Mercedes S, optará por un Subaru Impreza, Mitsubishi Evo o un Koenigsegg. Entonces no te quejes de la comodidad del asiento o la suspensión.

PHP es una plataforma establecida con pila LAMP. Es casi de facto estándar. Tiene problemas, déficits, deficiencias o molestias, como cualquier otra plataforma / lenguaje. Pero si quiere seguir siendo relevante como desarrollador web, PHP es el lenguaje más viable hoy en día, con un servidor Linux que ejecuta Apache o Nginx como servidor web y MySQL como RDBMS. Te guste o no.

A veces, y la mayoría de las veces, la conveniencia gobierna sobre la superioridad técnica. Si no, usaremos módulos RAMBUS en lugar de DDR, procesadores ARM sobre x86 o AMOLED TV en lugar de televisores LCD hoy.

PHP hoy en día está equipado con:
Marcos muy sofisticados, extendidos y maduros como Symfony,
Administrador de paquetes como compositor,
ORM como Doctrine,
Motores de plantillas como Twig,
Los administradores de Back-end-CRUD como EasyAdmin y Sonata,
Herramientas de prueba como PHP-Unit y Behat,
Iniciando sesión con Monolog,
y por último y no menos importante, la máquina virtual HHVM de Facebook
y las características de PHP7.

Esto no puede ser fácil de vencer, con más de 20 años de existencia y más de la mitad de la web desarrollada con PHP.