PHP
2008-04-11 12:48:10-05
Desarrollo
Últimamente he leido diferentes noticias sobre PHP, sobre todo porque varias personas muy respetadas han escrito posts en su blog diciendo (o reconociendo) que PHP no es tan malo y hasta señalan que Ruby, Java o Python podrían aprender algunas cosas de este lenguaje. Y yo también meto mi cuchara.
Empecé a programar en Perl y Java, y actualmente desarrollo una aplicación de buen tamaño en Ruby on Rails pero personalmente me considero phpero, en parte elegí este lenguaje porque nunca en mi vida he tomado una clase de computación o cosa parecida y PHP3 parecía sencillo, pero también porque hay muchos más trabajos de PHP en el mercado laboral que en cualquier otro lenguaje.
Desde el principio encontraba mucha gente que le desagradaba PHP y se burlaba de él, primero fueron los perleros, luego los pythoneros y últimamente los rubieros. Parece ser todo un deporte entre ellos y esta actividad crea una gran reputación en sus comunidades.
Como ya he escrito en otra parte, para conocer un lenguaje, para sentirte cómodo con él, debes haber trabajado al menos unos cuatro años dia a día con él (cuatro años se pasan rápido). Como yo ya tenía más de cuatro años con PHP decidí quedarme ahí y profundizar hasta donde fuese posible.
Por supuesto que estaba consciente que muchas de las críticas al lenguaje eran válidas. PHP es un lenguaje sin pedigree y muy parcheado, en eso se parece a MySQL y a Apache. Su creador, Rasmus Lerdorf, era muy jóven cuando lo creo y de ninguna manera se puede comparar su experticia contra los maduros creadores de Python (Von Rossum) y Ruby (Matsumoto). De hecho ni siquiera pensaba en desarrollar un lenguaje sino simplemente hacer un módulo de apache para generar html más cómodamente. De este nacimiento surgen muchas de sus ventajas y desventajas.
Pero hay tener en cuenta que PHP va en la versión 5.2 y ya hay una versión alpha de la 6 y muchas de las críticas que se le hacían eran para la versión 4 y anteriores. A lo largo de los años he visto como las quejas sobre PHP pasaban a ser cada vez más rebuscadas, por ejemplo mucha gente hace trampa y olvida mencionar el comparador de tipos ($b === $B) cuando habla de la tipificación en PHP. Además el soporte para objetos está maduro y permite hacer muchas cosas que antes sólo Java permitía.
Todo esto sin olvidar que muchas veces la escalabilidad y la implementación de Python y Ruby son un dolor de cabeza mientras PHP escala como ningún otro lenguaje pues todo es C dentro de un proceso único.
Para mi lo más importante en la carerra de desarrollador de software es dejar de ser un mero programador (el clásico picateclas) para convertirte en arquitecto de Clases y Componentes, en diseñar la aplicación en el papel antes de teclar algo. Este objetivo se puedo lograr usando Python , PHP o VisualBasic, porque no hay malos lenguajes, hay malos desarrolladores: he visto pésimo código en Java y excelente código en PHP. En general la gente que habla demasiado sobre su lenguaje de programación, es gente que no sabe programar.
Claro que hay cosas que me gustaria ver en PHP: que remuevan el semicolon (;) y los corchetes {}, que hubiese name spaces. Algo que lamento de PHP es que, ha diferencia de Python y Ruby, no recibío la benéfica influencia de SmallTalk. Me gustaría que los tipos fueran objetos y acceder a sus métodos: $nombre.length(parameter1, parameter2).
En conclusión: PHP te da las herramientas y conceptos para ser un buen desarrollador, es rápido, sencillo de configurar y potente, pero hay que reconocer que facilita que exista mal código por todo internet... pero eso no es culpa del lenguaje. Lo mismo pasó con Perl en los 90, cuando era el lenguaje de internet y todo mundo (incluyéndome) hacíamos terribles CGIs.
Empecé a programar en Perl y Java, y actualmente desarrollo una aplicación de buen tamaño en Ruby on Rails pero personalmente me considero phpero, en parte elegí este lenguaje porque nunca en mi vida he tomado una clase de computación o cosa parecida y PHP3 parecía sencillo, pero también porque hay muchos más trabajos de PHP en el mercado laboral que en cualquier otro lenguaje.
Desde el principio encontraba mucha gente que le desagradaba PHP y se burlaba de él, primero fueron los perleros, luego los pythoneros y últimamente los rubieros. Parece ser todo un deporte entre ellos y esta actividad crea una gran reputación en sus comunidades.
Como ya he escrito en otra parte, para conocer un lenguaje, para sentirte cómodo con él, debes haber trabajado al menos unos cuatro años dia a día con él (cuatro años se pasan rápido). Como yo ya tenía más de cuatro años con PHP decidí quedarme ahí y profundizar hasta donde fuese posible.
Por supuesto que estaba consciente que muchas de las críticas al lenguaje eran válidas. PHP es un lenguaje sin pedigree y muy parcheado, en eso se parece a MySQL y a Apache. Su creador, Rasmus Lerdorf, era muy jóven cuando lo creo y de ninguna manera se puede comparar su experticia contra los maduros creadores de Python (Von Rossum) y Ruby (Matsumoto). De hecho ni siquiera pensaba en desarrollar un lenguaje sino simplemente hacer un módulo de apache para generar html más cómodamente. De este nacimiento surgen muchas de sus ventajas y desventajas.
Pero hay tener en cuenta que PHP va en la versión 5.2 y ya hay una versión alpha de la 6 y muchas de las críticas que se le hacían eran para la versión 4 y anteriores. A lo largo de los años he visto como las quejas sobre PHP pasaban a ser cada vez más rebuscadas, por ejemplo mucha gente hace trampa y olvida mencionar el comparador de tipos ($b === $B) cuando habla de la tipificación en PHP. Además el soporte para objetos está maduro y permite hacer muchas cosas que antes sólo Java permitía.
Todo esto sin olvidar que muchas veces la escalabilidad y la implementación de Python y Ruby son un dolor de cabeza mientras PHP escala como ningún otro lenguaje pues todo es C dentro de un proceso único.
Para mi lo más importante en la carerra de desarrollador de software es dejar de ser un mero programador (el clásico picateclas) para convertirte en arquitecto de Clases y Componentes, en diseñar la aplicación en el papel antes de teclar algo. Este objetivo se puedo lograr usando Python , PHP o VisualBasic, porque no hay malos lenguajes, hay malos desarrolladores: he visto pésimo código en Java y excelente código en PHP. En general la gente que habla demasiado sobre su lenguaje de programación, es gente que no sabe programar.
Claro que hay cosas que me gustaria ver en PHP: que remuevan el semicolon (;) y los corchetes {}, que hubiese name spaces. Algo que lamento de PHP es que, ha diferencia de Python y Ruby, no recibío la benéfica influencia de SmallTalk. Me gustaría que los tipos fueran objetos y acceder a sus métodos: $nombre.length(parameter1, parameter2).
En conclusión: PHP te da las herramientas y conceptos para ser un buen desarrollador, es rápido, sencillo de configurar y potente, pero hay que reconocer que facilita que exista mal código por todo internet... pero eso no es culpa del lenguaje. Lo mismo pasó con Perl en los 90, cuando era el lenguaje de internet y todo mundo (incluyéndome) hacíamos terribles CGIs.
Permalink: http://www.mononeurona.org/users/entry/aarkerio/1253
Comentblogs:1.-
alucard_thot wrote:
SÃ, está chido PHP, pero personalmente prefiero Ruby. No llevo tanto tiempo desarrollando en esos lenguajes, pero pues bueno cada quién puede codificar en lo que quiera. Hay lenguajes para hacer de todo, de una forma fácil.
Pero no escribÃa para eso, sino simplemente para hacer notar algo que creo que espero no se tome a mal. Personalmente creo que usar "programador" para definir a "coder" se me hace un poco jodido (porque es muy común), y también de "desarrollador". La parte de desarrollador ya la explicaste y bien en tu post. Pero personalmente creo que lo que quieres decir con "mero programador" es "coder". El programador serÃa por ejemplo como Donald Knuth, o O'Rourke (este último en geometrÃa computacional), los cuales resuelven problemas algorÃtmicos bastante complejos sin necesidad de codificar, y pues estos problemas no son como diseñar bases de datos, y relaciones entre objetos y todo eso (que tiende a ser más sencillo a mi parecer), sino problemas mucho más "locos" e interesantes que un "coder" o un "developer" le serÃa muy complicado. (Con eso no quiero decir que son mutuamente excluyentes). Simple comentario, no es para ofender ni nada de eso.
2008-04-11 16:42:09-05
SÃ, está chido PHP, pero personalmente prefiero Ruby. No llevo tanto tiempo desarrollando en esos lenguajes, pero pues bueno cada quién puede codificar en lo que quiera. Hay lenguajes para hacer de todo, de una forma fácil.
Pero no escribÃa para eso, sino simplemente para hacer notar algo que creo que espero no se tome a mal. Personalmente creo que usar "programador" para definir a "coder" se me hace un poco jodido (porque es muy común), y también de "desarrollador". La parte de desarrollador ya la explicaste y bien en tu post. Pero personalmente creo que lo que quieres decir con "mero programador" es "coder". El programador serÃa por ejemplo como Donald Knuth, o O'Rourke (este último en geometrÃa computacional), los cuales resuelven problemas algorÃtmicos bastante complejos sin necesidad de codificar, y pues estos problemas no son como diseñar bases de datos, y relaciones entre objetos y todo eso (que tiende a ser más sencillo a mi parecer), sino problemas mucho más "locos" e interesantes que un "coder" o un "developer" le serÃa muy complicado. (Con eso no quiero decir que son mutuamente excluyentes). Simple comentario, no es para ofender ni nada de eso.
2008-04-11 16:42:09-05











