Re: Re: Re: Benchmarking en distintos lenguajes [ Era algo así como cliente en jabber... ]
Horst H. von Brand
vonbrand en inf.utfsm.cl
Lun Dic 3 17:38:44 CLST 2007
Patricio Morales <airwolf97 en gmail.com> wrote:
[...]
> No he tenido la oportunidad de ver la nueva versión de Fortran,pero tuve
> la posibilidad de ver un programa escrito en FORTRAN,y si me dedicara a
> la programación (Soy Técnico en Programación,pero por causas del destino
> ,mi experiencia se ha basado en el Soporte Informático)me costarÃa mucho
> acostumbrarme a FORTRAN por la sintaxis que tiene y porque : El código en
> cuestión era tan desordenado y poco estructurado, como el código de
> muchos (no todos) programadores de BASIC y sus derivados.Y justamente
> toparse con un código de estas caracterÃsticas creo que serÃa la
> pesadilla de un programador que llega a una empresa ,y tiene que hacer
> modificaciones al programa .Agregale el hecho que el código no esté
> documentado abundancia de GOTO y otras hierbas.
Viste algo escrito en FORTRAN IV o similar, ya FORTRAN 90 es mucho mas
decente.
> En una Empresa de Supermercados donde trabajé como Soporte ,tenÃa que
> efectuar reportes a mis superiores de la casa matriz en Curicó,por caÃdas
> del Sistema Comercial de la Empresa basado en BASIS PRO/5 (un Basic
> Comercial )El usuario apretaba una tecla equivocada (normalmente era la
> de Backspace ,y el Sistema se caÃa,y al caerse mostraba en ocasiones
> parte de la ensalada de código fuente sin indentar.Ante eso ,el usuario
> tenÃa que ejecutar en el cursor Run (nombreprograma),y el programa volvÃa
> a ejecutarse en la parte donde el usuario habñia estado al momento de la
> caÃda,en los computadores con DOS y kermit destinados a facturación,me
> acuerdo ,estabamos obligados a sacar la dichosa tecla.Pero al usuario en
> el menú de opciones tenÃa asignada una tecla de función para "corregir"
> en caso de que tuviera un error de digitación ,y se le efectuaba la
> pregunta ,para que revisara lo digitado antes de imprimir.Y otras veces
> ,sencillamente por causa no atribuible al usuario.y en muchas caÃdas se
> podiÃa ver la ensalada de código Spaghetti(código spaghetti:código
> ilegible ,con reiterado uso de GOTO,difÃcil de analizar).Y esto sucede
> con todos los lenguajes que te permiten ser "desordenado" como
> programador.
Todo lenguaje permite escribir programas horrendos...
> Al menos ,en lo que son los lenguajes más estructurados como
> C, C++,Pascal,se hace un esfuerzo para obligar al programador a que
> ordene el código,
Por suerte, no.
> y porque a los programadores cuando sursan el ramo de
> MetodologÃa de la Programación ,se les hace hincapié en la documentación
> e indentación del código.DifÃcilmentese puede encontrar un código
> desordenado en estos lenguajes.
Podria mostrarte algunos ejemplos... date una vueltecita por el Obfuscated
C Contest, los programas ganadores de los '80 son verdaderas joyas de
ilegililidad.
> > Ademas tiene alguna reglas que permiten que el compilador optimize el
> > codigo mas que con otros lenguajes, siempre se pasa por referencia, el
> > aliasing esta prohibido y para tener un puntero a alguna variable hay
> > que declarala como 'target'.
> En Turbo Pascal ,también existÃan reglas que se colocaban al código entre
> {} para que el compilador optimizara el código,para usar el emulador del
> coprocesador matemático(en caso de que el procesador de la máquina donde
> se ejecutaba el programa careciera de coprocesador matemático)para
> reserva de memoria para las variables,etc
Lo mencionado arriba esta a an~os luz de cualquier cosa que algun
compilador Pascal siquiera haya son~ado... cosas como escribir:
FOR 100 I = 1, 10
FOR 100 J = 1, 10
C(I, J) = 0.0
FOR 100 K = 1, 10
C(I, J) = C(I, J) + A(I, K) * B(K, J)
100 CONTINUE
(multiplicacion de matrices), y el compilador se encarga /automaticamente/
de hacer los calculos en paralelo, distribuyendo sobre varios procesadores
y/o usando instrucciones vectoriales especiales.
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 2797513
Más información sobre la lista de distribución Linux