He estado usando PHP desde hace más de 4 años. Lo que me parece gracioso es cómo algunas personas se burlan de ello. Prefiero comenzar con lo que la gente dice que son las partes malas (según la opinión popular) y luego decir cómo PHP las superará (si aún no lo ha hecho)
- PHP es lento : Bueno, ¿vamos a escribir algoritmos científicos ? Si es así, PHP no es bueno. Pero usamos PHP para presentar páginas web . Dado ese uso, PHP hace un gran trabajo al ser muy fácil de mantener y dado que tiene la comprensión de cómo funciona la web y qué patrones de software son: PHP le servirá bien durante mucho tiempo. Por cierto, Facebook ocupa una gran cantidad de carga y fue escrito usando PHP. En este momento, lo ejecutan en HHVM, que es rápido y de ‘código abierto’. Entonces, en caso de que sienta que PHP es lento, puede comenzar a usar HHVM, que ejecuta el código PHP mucho más rápido. Por cierto, en este momento, PHP7 es el lenguaje de secuencias de comandos más rápido disponible en muchos puntos de referencia que puede encontrar en la web.
- El código PHP es feo : es bastante similar a decir que “C ++” es feo porque manejas punteros. Si no sabe lo que quiere hacer y no conoce las opciones que ofrece el idioma, ¡cualquier cosa puede ponerse fea!
- PHP tiene mal frameworks : nombra 10 frameworks web escritos en nodo, Ruby, Python, etc. y habría al menos 20 para contrarrestarlos en PHP. Confíe en nosotros cuando decimos: no hay escasez de buen código en PHP. Siempre para WordPress, Joomla y Drupal (marcos de trabajo CMS) o Symfony, Yii, QCubed (marcos de desarrollo).
- El código PHP no se puede mantener : ¿cuántas veces tenemos que mencionar Facebook? O Yahoo? Si sabe cómo mantener el código, PHP tiene todas las opciones allí mismo. Simplemente explore.
- PHP es para idiotas : ¡y también lo es Windows! Y en caso de que usted sea de la opinión ” Uno no debería usar Windows porque es demasiado convencional “, sugiero, comience con C ++. Es el mejor lenguaje de programación web que existe (y no, no estoy siendo sarcástico).
- PHP es solo para web : esto solía ser un problema. Incluso entonces, si eres un novato y no sabes y quieres aprender cualquier lenguaje de programación de aplicaciones (por mi parte, estoy de acuerdo con C / C ++), ve a aprender algo más porque PHP funciona en la web y es muy bueno en eso. Sin embargo, esto es 2017, PHP está a punto de lanzar la versión 7.1. La versión 7.0 ya está disponible y se está volviendo popular. Si desea usar PHP en la línea de comandos, busque Robo. Si cree que no puede manejar sockets TCP sin procesar, busque el servidor de sockets React. Puede leer y escribir archivos, conectarse a bases de datos de casi todo tipo, analizar todo tipo de datos y hay numerosas bibliotecas y extensiones disponibles para la mayoría de los otros tipos de trabajo en el sistema. PHP ya no es solo para la web . ¡Explorar!
- PHP es inmaduro : hay quienes dicen que PHP es inmaduro. Están equivocados. Hay dos problemas: i) PHP se hizo tremendamente popular en muy poco tiempo y ii) PHP no fue diseñado para ser un lenguaje desde cero, por lo que comenzó su viaje en una dirección incorrecta (PHP – Wikipedia). Las personas que se pusieron en contacto mientras era inmaduro y no se han actualizado sobre PHP tienden a pensar que PHP es inmaduro. PHP hoy tiene todo lo que desea en un lenguaje de programación web / scripting de alto nivel. Excepciones , clases , interfaces , cierres , espacios de nombres , rasgos (para incorporar características de múltiples conceptos de herencia), generadores (para facilitar las rutinas comunes) y ¡qué no! Hay muchos que dicen que PHP no tiene suficientes características en comparación con Python. Si bien no soy un enemigo de Python, tampoco hay nada que PHP no pueda hacer. Desde una perspectiva más amplia, la mayoría de los lenguajes con gran popularidad pueden hacer casi todo lo que un programador regular necesita. Casi todos los idiomas pueden hacer todo. Piense en esto: puede escribir código del lado del servidor, consultas de la base de datos, servicios y observadores utilizando Javascript, ¡ un lenguaje diseñado para ejecutarse dentro de un navegador ! No, PHP ya no es inmaduro. Si todavía tiene esa imagen ~ (versión 5.2) en su cabeza, deshágase de ella. PHP ha seguido adelante.
- PHP tiene nombres de funciones y órdenes de parámetros inconsistentes : ¿Qué pasa si la versión 7.2 lo aclara? ¿Te arrepentirías? Hay muchos marcos que arreglan eso y una vez que haya terminado con los conceptos básicos de PHP, póngase bajo un marco. Escribir código de spaghetti en PHP es fácil (eso es bueno (cuando realmente necesita una solución rápida) y malo (si pierde el rastro, está condenado)), por lo que debería ver cómo los marcos dividen la carga de trabajo y organizan el código en PHP. Comience con Symphony o Yii o QCubed (mi favorito). Además, hay una propuesta para corregir esa coherencia: rfc: consisten_nombres_funciones.
Veamos las razones por las que deberías considerar PHP :
- Es muy fácil comenzar con : si los burros tuvieran dedos, podrían escribir PHP. Y realmente, ¿por qué deberías intentar hacer lo mismo de una manera más difícil? Si quieres, aprende Java o C ++. Puedes hacer maravillas con ellos también. Pero para comenzar con la web, PHP es la elección.
- Soporte de la comunidad : Algunos opinan que PHP creció porque fue escrito por estúpido para estúpido. Ejem, está funcionando bien alrededor del 75% de la web. ¿Eso es estúpido? Desde pequeñas plataformas de blogs hasta excelentes sistemas CMS sofisticados: PHP lo hace todo. Y por esa razón, existe una gran posibilidad de que cuando busque preguntas de estilo “cómo hacer algo en PHP”, ya haya una gran publicación de blog escrita por alguien sobre eso.
- Excelente documentación : si cree que la documentación de PHP es mala, intente leer Java o Python. O a Ruby. Cada idioma es simple para un cierto tipo de mentalidad. Pero un lenguaje que es simple para la mayoría, en realidad es algo genial (opinión personal). PHP también es ideal para principiantes, porque es simple. [“La simplicidad es sofisticación” – Da Vinci]
- PHP NO carece de características modernas : ¿Qué características modernas? Ya enumeré algunos de ellos. Llegando al lado del cliente: la mayor parte del desarrollo de HTML5 fue del lado de JavaScript. Si cree que no puede escribir un servidor sin bloqueo (como NodeJS), consulte React’s Event Loop, o icicle, u otras bibliotecas similares. Dado que Closures ahora están disponibles, puede escribir servicios sin bloqueo en PHP con bastante facilidad. Sobre estos se encuentra la biblioteca phpws (y hay otras, solo estoy enumerando las que estoy usando) que le permite ejecutar websockets. ¿Qué características modernas nos estamos perdiendo aquí?
- PHP es seguro : ¿y qué idioma no lo es? La seguridad depende del programador, tanto como del lenguaje. Todos los idiomas tienen puntos débiles y puntos donde se pueden pasar por alto los controles y se pueden romper los muros. Si soy un idiota, voy a escribir código vulnerable de mierda en cualquier idioma. Todos los idiomas tienen su conjunto de puntos vulnerables. Al igual que PHP y, como todos los demás lenguajes, PHP le proporciona herramientas, consejos y API para defenderse. Debe concentrarse en aprender a usarlo y no culpar al idioma.
- PHP tiene tipos estrictos para parámetros y valores de retorno : PHP, hasta ahora no tenía tipos de datos estrictos para valores escalares en los parámetros de función y sus funciones no podían prometer que se devolvería un tipo de datos en particular. Bueno, ahora pueden. PHP7 tiene un gran soporte para todo eso.
He visto personas (incluso en Quora) que dicen cosas como ” un operador triple igual a (===) PHP? ¿Seriamente? “. Esto no suena más que un mal efecto de leer demasiados artículos de click-baity (si existe tal término) en la web. Si ha estado incluso en un nivel intermedio de desarrollo web y ha trabajado un poco en Javascript, sabrá que un operador de triple igual se usa ampliamente en Javascript. Y si aún no ha trabajado en él, todavía no sabe lo suficiente sobre la web.
- ¿Qué idioma es mejor para el desarrollo de aplicaciones? Python o Java?
- ¿Cuáles son los mejores cursos pagos en línea (o gratuitos, según la calidad) para aprender Node.JS, Angular.JS, MEAN Stack, Rest API?
- Cómo hacer que mi texto tenga el mismo tamaño independientemente del zoom (HTML y CSS)
- ¿Los bootcamps valen la pena para las personas que ya son desarrolladores front-end?
- Cómo crear una lista en la posición superior derecha de un elemento
PHP no es el mejor lenguaje para enseñarle cómo funcionan las cosas. De hecho, no enseña nada excepto las características de nivel de idioma. Si desea aprender programación web sin entrar en demasiados detalles, PHP es el mejor. Pero si aprender era cómo funciona el sistema (el sistema operativo, las aplicaciones y la memoria) es / fue su objetivo, asegúrese de aprender también algo que no sea PHP porque PHP es muy fácil, no le enseña casi nada. Mi sugerencia personal ha sido aprender C, C ++ y PHP. Con ese conjunto, tiene casi todo cubierto: PHP para la web de rápido movimiento, C y C ++ para cualquier tipo de aplicación imaginable; o si desea crear un sistema operativo o escribir controladores o cualquier otra cosa, ¡ese conjunto funciona bien!
Recuerde que no es C, C ++, Java, PHP, Python, Ruby, Haskell ni ninguna de esas cosas que necesita aprender. Lo que necesitas aprender es ‘programación’; para ordenar la máquina y hacer que haga lo que quieras. Cualquier cosa funciona (no, realmente, lo hace). Si su programa se puede escribir en Basic y Basic hace el trabajo, Basic es el idioma que necesita aprender. Afortunadamente, PHP es mucho más poderoso. PHP no fue construido por idiotas. Si lo hiciera, ya estaría muerto. Pero mira, es el más dominante. Además, déjame repetirlo por ti, solo porque algo sea fácil no significa que no sea poderoso.
Idealmente, un lenguaje debe ser coherente y estar bien diseñado. Pero si conoce un poco la historia de PHP, es probable que a veces perdone su locura (y hay algunas en cada idioma). Se suponía que PHP no era un lenguaje completo. PHP fue solo un pequeño truco en la programación dinámica de una página web. Fue diseñado para no programadores en un momento en que C y C ++ eran los lenguajes más populares. ¡Incluso Java no estaba realmente cerca! PHP Debutó con Java (aproximadamente un mes más joven que Java) Enlaces: PHP – Wikipedia y Java (lenguaje de programación) – Wikipedia. Se suponía que era una herramienta de secuencias de comandos ligera para las personas que no se tomaban en serio la programación de sus páginas web. Incluso su creador Rasmus Lerdoff dice que no tenía la intención de construir un lenguaje de programación. En cambio, solo quería escribir una herramienta para crear páginas web con scripts y continuó agregando funciones y se convirtió en un lenguaje. Como tal, la base misma de PHP como lenguaje es un poco inestable: es un lenguaje que no se suponía que fuera uno en primer lugar. Se convirtió en un lenguaje completo mucho más tarde (diría que cuando llegó a la versión 4). Maduró durante 10 años mientras estaba en su era 5.x y ahora está diseñado razonablemente bien para competir con otros idiomas en la versión 7. En el futuro, los cambios se vuelven mucho más difíciles porque hay mucho código que depende de características y comportamiento que proporciona el lenguaje. Incluso entonces, la forma en que PHP 7 pudo manejar todo lo escrito en PHP 5 sin causar caos entre nosotros los desarrolladores, es hermosa en sí misma. Pregúntele a una persona que migró de Python versión 2.xa 3.x y probablemente lo entenderá. Sí, hay partes malas en el diseño de PHP, pero entienda esto: cuanto más flexibilidad desee de un lenguaje (o cualquier cosa en el mundo real), menos estricto se vuelve. PHP, en mi opinión personal, ofrece lo mejor de ambos mundos: estricto y débil; especialmente con la versión 7. ¡Tú decides qué partes de tu aplicación pueden ser débiles y cuáles estrictas y simplemente se adapta! El resto depende del programador.
El código es poesía. Y los poemas están escritos en todos los idiomas. Necesitas el ritmo y la emoción más que la gramática y la previsión; Si tienes el ritmo y la emoción, puedes escribir poemas en todos los idiomas de este mundo y más allá.
EDITAR: Es 2015 ahora. ¡Pero lo que dije aún es verdad! Además, según los informes, PHP 7 tendrá un nuevo motor que lo hará un 70% más rápido. Las API también serán más consistentes. Un poco más de seguridad y obviamente se introducirán algunas características nuevas. Así que agárrate fuerte. Mientras tanto, PHP ha estado ejecutando casi el 80% de la web para usted (consulte Wikipedia, los números pueden subir y bajar un poco; y por cierto, Wikipedia también se ejecuta en PHP). Aclamaciones.
EDIT 2: es 2016 y PHP todavía está gobernando. PHP 7 es significativamente más rápido y mucha gente está moviendo su base de código a la nueva versión. Aún funciona.
EDIT 3 : es 2017. He actualizado la respuesta teniendo en cuenta PHP 7.