Re: OT: php te daña la cabeza

Carlos Barbiero carlosbarbiero en gmail.com
Mar Jul 25 16:31:07 CLT 2006


On 7/25/06, Alvaro Herrera <alvherre en alvh.no-ip.org> wrote:
> Juan Martínez escribió:
>
> > Cada herramienta para lo que sirve y punto.
>
> O sea PHP para el tacho de la basura y punto.
>
> > Nadie critica a un carpintero por que solo martilla y atornilla, ni a un
> > electrico por que solo pela cables... :-) Pero ambos se necesitan para
> > edificar casas o hasta edificios de ultima generacion.
>
> Si un carpintero solo martillea y atornilla, yo diria que es un muy mal
> carpintero.  Si un electrico solo pela cables, es muy mal electrico.
> Ambos *deben*, para hacer bien su trabajo, ser capaces de llevar a cabo
> labores mucho mas complicadas.  Las herramientas que ambos usan van
> mucho mas alla que las que has puesto de ejemplos, y el que uno solo
> conozca esas es un buen indicador de que no tiene idea de esos oficios.
>
>
> > PHP es bueno para la web, y al que le interesa solo hacer web-devel bien
> > por el.
>
> PHP no es bueno para la web.  Para lo unico que es bueno PHP es para que
> gente que no tiene idea de programar se ponga a hacer tonteritas que
> funcionan en la web.
>
> PHP es un lenguaje tremendamente inconsistente.  Para observar eso, nada
> mas fijate que los argumentos de algunas funciones no tienen un orden
> logico; incluso funciones dentro de las mismas familias tienen cierto
> tipo de argumentos primero, otros despues.  Para poder hacer cualquier
> cosa es necesario tener el manual abierto: "como era para las
> sustituciones con expresiones regulares?" "como era el orden de
> substr()"?  etc.
>
> Por otro lado, mira el exito que tuvo Perl en su tiempo como procesador
> de strings -- cual era su ventaja principal?  Debe ser obvio de
> inmediato que el hecho de tener expresiones regulares como constructo de
> primerisimo nivel es tremendamente importante.  Como se las arregla
> PHP?  De la peor manera posible, es decir igual que C: usando funciones
> para hacer cada operacion.  De esta manera es igual de verboso que C,
> igual de incomodo.  Cual es la ventaja que tiene sobre C entonces?
>
> Luego puedes observar las distinciones entre los distintos tipos de
> asignacion en PHP.  Que es =, que es =&?  En que casos debes usar cada
> uno?  Como se comportan?  Yo tuve que modificar un sistema usando eso;
> quise hacerlo usando OOP porque el problema se adaptaba naturalmente a
> eso.  Pero!  El gran problema era saber cuando usar = y cuando usar =&,
> y realmente el soporte que el lenguaje le da a esos constructos es tan
> incomodo que la unica manera de saber si realmente lo estabas haciendo
> bien era probar con uno y luego probar con otro y ver que partes del
> programa funcionaban y cuales no.
>
> Mira Ruby.  Cual es la _gran_ ventaja de Ruby?  Te lo puedo decir sin
> ser un programador Ruby: la enorme potencia que tiene al poder construir
> sentencias potentes pero simples.  Con PHP no puedes hacer nada de eso,
> porque el parser de PHP es tremendamente tonto.  Un ejemplo trivial:
> (http://www.loudthinking.com/arc/000205.html)
>
> doc = REXML::Document.new(File.new("articles.xml"))
>
> doc.elements.each('articles/item/title') { |title|
>   puts title.text
> }
>
>
> El manejo de OOP en PHP es espantoso.  Un metodo que retorna un objeto,
> en cualquier otro lenguaje lo puedes usar como objeto e invocar un
> metodo sobre el.  En PHP esto no es posible, nuevamente porque el parser
> es demasiado tonto.
>
>
> Por otro lado, cuando fue la ultima vez que simplemente por instalar una
> nueva version menor del paquete del lenguaje, la mitad de los scripts de
> tu sistema dejo de funcionar?  O porque cambiaste una configuracion?
> Con PHP esto es normal.  Y los desarrolladores dicen "ah, bueno, es que
> no lo estabas usando como estaba documentado asi que lo unico que tienes
> que hacer es rehacer tus programas enteros de nuevo".  Con eso lo unico
> que reafirman es que hace algunos años cuando hicieron el lenguaje no
> tenian realmente idea de lo que estaban haciendo.
>
>
> > Preferible PHP antes de Perl...para la web, o no?
>
> No!  Prefiero Perl a PHP.  Otros prefieren Python a Perl.  Otros, Ruby.
> Los que prefieren PHP es simplemente porque no conocen ninguna otra
> cosa (o porque no tienen alternativa, como sucede cuando recibes un
> sistema que ya estaba hecho).
>
>
> Si alguien quiere defender a PHP me gustaria oir sus *argumentos*.
> Ojala sea mas que solo llanterio eso si.

Como programador PHP te digo que es totalmente cierto lo que plantea
Alvaro. Agrego que es muy incómodo en cuanto a si hay que migrar a
otra base de datos, ya que tiene una api diferente para cada base de
datos! Personalmente hace mas de 2 años que programo en PHP... hasta
que por recomendación de un colega y amigo, comencé (hace unos meses)
a investigar y desarrollar en Ruby on Rails. Después de esto quedé
loco y miro de lejos PHP (aunque tengo un monton de cosas
desarrolladas que mas adelante me gustaria migrar a RoR :-) )

Eso si, PHP me ayudo mucho a comenzar con la programación Web, pero
creo que si uno intenta avanzar, no debe quedarse solamente con lo que
sabe, sinó ir en busca de más y mejor!.

Es una simple opinion.

saludos

>
> --
> Alvaro Herrera       Valdivia, Chile   ICBM: S 39º 49' 18.1", W 73º 13' 56.4"
> The easiest way to resolve [trivial code guidelines disputes] is to fire
> one or both of the people involved.                      (Damian Conway)
>


-- 
Carlos Barbiero
Corrientes - Argentina



Más información sobre la lista de distribución Linux