Tuesday, December 19, 2017

Blank-urile în FORTRAN

Programatorii FORTRAN au avut surpriza să constate că în comparație cu modul în care scriau programe în limbajul COBOL, utilizarea de spații era miraculoasă, adică blank-urile nu contau.
Secvența:
            ISUMX=0
            ISUMXX=0
            DO 10 I=1, N
            ISUM=ISUM+X(I)
10        ISUMXX=ISUMXX+X(I)*X(I)
 Este echivalentă cu secvența: 
            IS     UM     X=0
            I   S    U    M    X   X    =0
            D   O 1     0 I     =    1      , N
            IS   U    M=ISU     M+X   (I    )
10        ISUM    XX=IS    UMX   X+X    (I)*     X(     I)   
În contextul lucrului cu cartele perforate probabil era benefic. Totul era ca aceste ghidușii să se producă între coloanele 7 - 72 ale foii de programare sau ale cartelei perforate, pentru că în celelalte coloane erau de perforat cu totul alte lucruri precum etichete, continuare dar și numere de secvență. Eu am considerat nefirească această larghețe, dar mi s-a părut benefic să fac anumite alinieri care să faciliteze citirea rapidă a textului sursă, ca și cum aș fi avut blocuri.
Secvența:
            ISUMX=0
            ISUMXX=0
            DO 10 I=1, N
                        ISUM=ISUM+X(I)
                        ISUMXX=ISUMXX+X(I)*X(I)
10        CONTINUE
mi se pare cu mult mai frumoasă decât celelalte întrucât se văd lucrurile ceva mai clar, ceea ce este OK din toate punctele de vedere dacă și programul este autodocumentat ca lumea. Blank-urile în FORTRAN sunt mană cerească pentru cine a știut să le folosească în a defini structuri de program ușor de urmărit în procesul de mentenanță.





(19 decembrie 2017)

No comments:

Post a Comment