Programar en Linux

Alvaro Herrera alvherre en alvh.no-ip.org
Vie Oct 20 16:46:01 CLST 2006


Ricardo Mun~oz A. escribió:
> Rodrigo Fuentealba wrote:
> 
> [...]
> 
> >Puedes dejar la crema en cualquier lenguaje, incluyendo Java... Ni
> >siquiera las bases de datos Oracle, que son comerciales y carísimas se
> >escapan de esto, entonces, ¿cuál es el objeto de criticar a un lenguaje?
> 
> se que Alvaro tiene un sentimiento especial de "odio" con PHP porque le
> ha tocado relacionarse con PHP (su interprete) de cerca:
> 
> http://projects.commandprompt.com/public/plphp
> 
> por eso, aprovecha cada oportunidad que tiene para desahogarse... ;)

Es cierto.

Pero mis primeros acercamientos con PHP fueron como programador de una
aplicacion web, antes, en el tiempo en que la idea era que "PHP es bueno
porque te permite meter el HTML dentro del codigo" (lo de usar templates
todavia no era muy conocido), y desarrolle un sistema entero de esa
forma.  <Burro>Jue horrible!!!</burro>  La mantencion posterior jue aun
peor.   (Creo que ese sistema todavia funciona, por lo menos en parte).

Despues, me toco modificar codigo de otra gente, que si habia usado
templates afortunadamente (este sistema fue hecho como 3 o mas años
despues).  Pero el codigo no era muy bueno y como habia tenido
acercamientos con Perl orientado a objetos, pense que usar PHP orientado
a objetos "era la papa" ... lo malo fue que el soporte para orientacion
a objetos en PHP 4 era realmente horripilante, estaba lleno pero LLENO!
de pifias, habia que usar trucos todo el tiempo para que el lenguaje
funcionara decentemente (como los que mencionaba Franco).

No se como sera PHP5 pero no quiero saber nada mas de PHP.  Supongo que
corrigieron algunas de las pifias, pero otras permanecen.

Despues, cuando empece en Command Prompt lo primero que me pidieron fue
que me hiciera cargo de PL/php.  Uff, trabajar con el interprete de PHP
internamente es muchisimo peor.  El supuesto "zend engine" esta lleno de
diseños totalmente imbeciles, hechos a la rapida, sin documentar, cero
consistencia en el estilo de codigo, lleno de macros para "portabilidad"
que a gritos piden moler a palos a quien los invento (la tontera de
TRLMS_CC, etc).  Despues de haber trabajado con el codigo de Postgres,
que es muy ordenado, bien documentado, consistente, se explica muy bien
por que se hacen trucos sucios, etc etc, fue como caer al purgatorio.
Afortunadamente mi pena no fue muy larga :-)  (Desafortunadamente, algun
dia voy a tener que volver a PL/php porque faltan varias cosas
importantes)

Por ejemplo, en alguna parte en la funcion para pedir mas memoria para
el interprete, se chequea si estamos por encima del maximo de memoria
especificado en el archivo de configuracion ... y si estamos por encima
del limite entonces invoca exit().  EXIT!!! PERO COMO PUEDE ALGUIEN SER
TAN IMBECIL DE INVOCAR EXIT DIRECTAMENTE EN UN INTERPRETE DE LENGUAJE!!!!

A estas alturas, comprenderan que mi confianza para que esa gente haga
algo decente es muy remota.

-- 
Alvaro Herrera                 http://www.amazon.com/gp/registry/DXLWNGRJD34J
"La experiencia nos dice que el hombre peló millones de veces las patatas,
pero era forzoso admitir la posibilidad de que en un caso entre millones,
las patatas pelarían al hombre" (Ijon Tichy)


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