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