Me he encontrado este interesante artÃculo de Jaybill MacCarthy, en el que desmiente los 10 mitos más populares que suelen oÃrse sobre el lenguaje PHP.
Mito #1: PHP no es realmente un lenguaje orientado a objetos
Suelo oÃr esta afirmación de multitud de programadores java. Es completamente falso. PHP tiene unas excelentes facilidades para la programación orientada a objetos. Herencia, objetos abstractos, interfaces, propiedades y métodos. Es cierto que no existe polimorfismo.
(Personalmente creo que el polimorfismo es una malÃsima idea, pero simplemente es mi opinión). También debo decir que PHP 5 ha supuesto una notable mejora para los mecanismos de OO, pero he escrito montones de aplicaciones con PHP4 que estaban totalmente orientadas a objetos. El simple hecho de que PHP te permita escribir código con estructura de procedimientos, no significa que no sea un lenguaje OO. Es más el hecho de permitir mezclar los dos tipos de programación hace que cosas como los scripts de inicio sean muy fáciles y simples.Mito #2: PHP fomenta el código lioso
También falso. ¿Hay mucho código PHP lioso por ah� No. Es muy fácil empezar a programar con PHP y eso significa que mucha gente con pocos conocimientos de programación pueden realizar aplicaciones usando este lenguaje. El código lioso/indocumentado que resulta no es culpa de PHP sino de la falta de experiencia de esos programadores.
Jaybill analiza también temas tÃpicos como:
- PHP es lento porque es un lenguaje interpretado
- PHP no es realmente un lenguaje «serio» para programadores
Puedes leer el artÃculo completo en 10 PHP Myths Dispelled.
Estoy en desacuerdo en algunos puntos:
1) «no existe polimorfismo», sà existe (¿estaremos hablando de herencia múltiple?).
2) «polimorfismo es una malÃsima idea» – lo resumo con una frase dicha en muchos libros «el polimorfismo es el patrón estratégico más importante de la programación orientada a objetos» (la defensa descansa ;-)).
3) «PHP no es realmente un lenguaje POO», y estoy de acuerdo, es un hÃbrido. Es un lenguaje estructurado (20%) y una buena base de funciones (80%), y tiene soporte POO que mejoró mucho con la versión 5.
4) «PHP fomenta el código lioso», estoy de acuerdo, me hace acordar a clipper… cualquier podÃa programar y hacer disparates… pero bueno, es culpa del programador ;-)
Doy clases de PHP5 y POO, me gusta el lenguaje, pero prefiero ser claro y directo con sus limitaciones para poder comprender sus fortalezas y ver de trabajar para solucionar sus debilidades.
Saludos ;-)