PHP: ¿Anatomía de un mal diseño?

Wytzklaw Seguir

Préstamo
Eta
Desde
3 Oct 2012
Mensajes
1.287
Seguramente varios acá conocen el trabajo de Alex Munroe, PHP: A fractal of bad design, en el que se va directo y a la yugular de PHP con sus señalamientos de las debilidades y errores de programación (desde su punto de vista se entiende) y de la que básicamente se desprende una conclusión: PHP no sirve. Si alguien no conoce el trabajo de Munroe pueden encontrar una copia acá:

PHP: a fractal of bad design - fuzzy notepad

Les recomiendo la traducción de Jorge Soria Rmz. disponible en el mismo sitio.

Bueno, puesto que PHP era mi siguiente lenguaje en aprender, traigo esto a cuento para conocer sus opiniones al respecto y ver que tanto de cierto tienen las opiniones de Munroe. ¿Son en verdad tantos los errores lógicos en PHP como afirma Munroe? ¿Tendrá que ver con estos fallos el éxito cada vez mayor de Phyton?

Gracias de antemano a los que participen
 

Galbatorix

Dseda
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 May 2013
Mensajes
1.231
PHP a mi parece mal. Por enredado.

Yo llevo muchos años trabajando con Python y no creo que sea exitoso. Lleva 23 años circulando por ahí. Dos versiones mayores, difícilmente compatibles, funcionando al mismo tiempo. En toda su vida, Python vio el auge de PHP y ahora ve su debacle. También vio el surgimiento de Ruby, y su explosivo crecimiento. Y Python, al contrario de Ruby, no se subió a las vías hasta hace unos 4 años.

O sea. PHP es malo, no porque otros sean buenos, sino porque PHP es malo conceptualmente desde el origen.

Pero Python no es mejor que PHP, porque lo que hace PHP no lo hace mejor Python, lo hace diferente.


Solo que a mi me gusta esa diferencia.
 

Beck

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
22 Abr 2009
Mensajes
826
python ya tiene mucho tiempo en esto al igual que php creo son hasta contemporáneos, yo de ti me preguntaría algo logico, vale la pena priorizar aprender python a php hoy por hoy?, si te gusta programar metele mano a todo y vez que te gusta mas, a fines profesionales y economicos debes priorizar php, saludos
 

CopperDeveloper

Épsilon
Programador
Desde
9 Sep 2012
Mensajes
762
A mi entender Phyton es muy propenso al error, muy volátil por así decirlo, y esa es la marca que no lo deja crecer. PHP ha ido evolucionando cada vez más en el tiempo, y es mucho más manejable para los que estamos acostumbrados a manejar objetos
 

juanec27

Gamma
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
19 Mar 2011
Mensajes
207
no importa el lenguaje si no el programador al momento de hacer un buen codigo...
si hablamos de rendimientos y cosas tecnicas obvio php tiene sus problemas
lo importante es elegir uno y especializarse amarlo x lo ke da y lo ke permite hacer...
php me dio de comer mucho tiempo y le respeto... kiza no tengo tanta queja xke no iso algo tan complejo como para ver a detalle su rendimiento y ese tipo de cosas. Ahora que uso python... incluso en apps tan sencillas si me meto con rendimiento y cuantos workers asigno si uso apache o si uso nginx

Pero a mi me enamoro el stack MEAN asi que es cuestion de enfoques... finalmente a nivel tecnico ... si PHP esta enredado... pero igual funciona!
 

leonbloy

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Abr 2014
Mensajes
5
Llevo unos 15 años programando aplicaciones web, en varios lenguajes (Java PHP y Perl principalmente, y un poquito de Python, C# y Vb).
Estoy de acuerdo con el artículo, PHP es un lenguage que no se hace querer... Más que el lenguage en sí, diría que el problema es la cultura.
Hay un menosprecio general por las "buenas prácticas" de programación, y eso se nota.
Por ejemplo, PHP debe ser el único lenguaje importante que es su documentación oficial ha usado (repetidamente y obstinadamente) malas prácticas
de programación.
> no importa el lenguaje si no el programador al momento de hacer un buen codigo...
Es relativo. Todo importa, el lenguaje también. uno puede hacer un buen código en PHP, pero PHP te lo hace mucho más difícil.
Y no se trata solo de "un programador" haciendo "un código"; esto es fundamental, y sólo se aprecia con la experiencia de haber trabajado
en proyectos que tienen años de vida, y varios programadores; el lenguaje, con sus librerías y sus frameworks, debe facilitar no solo que
el código "ande", sino que sea legible, precedible, entendible (por otros... y por uno mismo, pasados un par de meses) y mantenible, que sea capaz de crecer.
PHP es uno de los peores en este (fundamental) aspecto (quizás después de Vb+ASP, pero afortunadamente este está muriendo).
Dile a cualquier programador con cierta experiencia que tendrá que "heredar" una aplicación web de mediano tamaño y antigüedad,
y dale a elegir enrte una escrita en Java y una en PHP... creo que de 100, 0 elegirían PHP.
En fin, los defectos y las frustraciones están señaladas -bastante bien para mi gusto- en aquel artículo.
¿Significa esto que conviene aprender otros lenguajes antes que PHP? Depende qué lenguajes ya conozcas, y depende cuál sea tu escenario de trabajo.

Si se trata de programar páginas web, saber PHP es casi necesario. Es enormemente popular, y con motivos: es muy fácil para empezar a programar algo simple, y está disponible en prácticamente cualquier hosting (shared o no, Windows o Linux). Además, dependiendo de qué lenguaje vengas, como PHP es un lenguaje relativamente "gris", (es decir, con poca personalidad) probablemente te hará familiar con muchas cosas aplicables a otros lenguajes (en el fondo, la mayoría de los lenguajes "mainstream" no se diferencian tanto).

Python es un lenguaje mucho más prolijo (lástima el lío que hicieron con Unicode), pero no es tan accesible.
Java es igualmente prolijo, con la añadidura de que el tipado estático hace mucho más fácil el trabajo en una IDE (y con Unicode no hay problemas); para aprender programación OOP es recomendable. Pero sólo se usa para aplicaciones "corporativas", consume mucha memoria y los hosting compartido no lo soportan.
Javascript es un lenguaje interesante, bastante distinto al resto (a pesar de que "se ve" como Java o C), pero por eso mismo entenderlo bien es difícil; los meros mortales sólo lo usamos (muy en la superficie) como un lenguaje auxiliar para la programación cliente de páginas.
Perl me gusta pero no te lo recomiendo para programación web en general. C# es lindo, parecido a Java, pero ... es Microsoft. C es un poco el padre de todos, y es elegante, pero muy bajo nivel y no se usa para web. C++ tampoco se usa, es muy poderoso y muy complicado de entender (bien). En Ruby no hice nada, pero básicamente se aplica lo dicho a Python.

En resumen: está bien odiar a PHP, pero también está bien aprenderlo. ;-)
 

Wytzklaw

Préstamo
Eta
Desde
3 Oct 2012
Mensajes
1.287
Excelente opinión, gracias por compartirla.

En lo personal había llegado a la misma conclusión: Aún con sus errores no estorba aprender PHP, aunque ya en la práctica tus gustos se inclinen por otro lenguaje.

Respecto a lo que opinas sobre el menosprecio de las buenas prácticas, gran parte de la responsabilidad la tienen por supuesto las instituciones de enseñanza que las pasan de largo y no se preocupan por inculcarlas en sus estudiantes, y si así pasa con quienes van a las aulas, imagina lo que pasará con aquellos que han decidido aprender por su cuenta pensando que es sólo cuestión de conocer la sintáxis y ya. Por eso estamos así. :fatigue:
 
Arriba