Fortran

FORTRAN (iš 'Formula Translator) – viena pirmųjų algoritminių kalbų, savo istoriją skaičiuojanti nuo 1957 m. Ją sukūrė amerikiečių firmos IBM tyrinėtojų grupė, kuriai vadovavo Džonas Bekus (John W. Backus). Kalba išsiskyrė tuo, kad matematinės formulės joje labai panašios į formules matematiniame tekste.

„Sveikas pasauli“ FORTRAN atrodytų maždaug taip:

  C       Tai pirmoji programavimo kalba, 
  C       kurioje buvo galimi komentarai.          WRITE (6,7000)
    7000  FORMAT(19H Sveikas, pasauli!)      
          STOP
          END

Pirmasis WRITE operatoriaus parametras (6) yra standartinis terminalo išvedimo kanalo numeris (skaityti reikdavo iš penkto kanalo). Antrasis parametras, 7000, nurodo į žemiau esančią, tuo pačiu skaičiumi pažymėtą formato eilutę (kuri nėra vykdoma ir programoje gali būti bet kur). 19H reiškia jog Sveikas, pasauli! ir du tarpai aplink užima lygiai devyniolika simbolių. Vėlesnės FORTRAN versijos simbolių skaičiuoti nebereikalavo, tačiau tai buvo laikoma geru programavimo stiliumi . 

Pirmiausia kurta matematiniams apskaičiavimams, FORTRAN turi kompleksinių skaičių tipą kurio neturi daugelis naujesnių programavimo kalbų. Ankstyvose versijose buvo daug vėliau neįprastų konstrukcijų. Pavyzdžiui, su EQUIVALENCE buvo galima tą pačią lentelę pasiekti tiek kai vienmatį, tiek ir kaip dvimatį ar daugiamatį masyvą, su ENTRY - perduoti valdymą į funkcijos kodo vietą bet kur (nebūtinai į funkcijos pradžią). Pirmojoje FORTRAN versijoje procedūrų bei funkcijų nebuvo, jos pirmąkart pasiūlytos FORTRAN II.

 Dabartinė padėtis 
FORTRAN anaiptol nėra pasenusi ir nenaudojama kalba. Ji pakankamai gerai tinka įvairiems sudėtingiems matematiniams apskaičiavimams ir šioje srityje tebėra plačiai naudojama. Naujausios versijos (FORTRAN 2003 ir pan) turi dinaminį atminties paskirstymą, abstrakčius duomenų tipus, išimtis ir net objektinio programavimo galimybes. Yra sukurti specializuoti lygiagrečiajam programavimui skirti FORTRAN dialektai.

Voyager 1 bei Voyager 2 programinė įranga iš pradžių buvo parašyta FORTRAN 5, vėliau perrašyta FORTRAN 77. Dalis jos dabar perrašyta C.

 Naujo FORTRAN dialekto pavyzdys 
 
  program cilindras
 !!! Programa cilindro plotui skaičiuoti  implicit none ! Šis sakinys nurodo, jog visi kintamieji turi būti deklaruoti  integer ierr
  character yn
  real spindulys,aukstis,plotas
  real, parameter :: pi = 3.14159
  ciklas: do
     ! Klausk vartotojo apie cilindro matmenis     write (*,*) 'Įveskite pagrindo spindulį ir cilindro aukštį.'
     read (*,*,iostat=ierr) spindulys,aukstis
     ! Jei duomenų perskaityti nepavyko, pakartoti ciklą.     if (ierr /= 0) then
        write(*,*) 'Klaidingi duomenys.'
        cycle ciklas
     end if
     ! Skaičiuojame plotą. ** žymi kėlimo laipsniu operaciją.     plotas = 2*pi*(spindulys**2 + spindulys*aukstis)
     ! Spausdiname cilindro matmenis (spindulys, aukstis)     ! ir apskaičiuotą plotą (plotas)''
     write (*,'(1x,a7,f6.2,5x,a7,f6.2,5x,a5,f6.2)') &
          'spindulys=',spindulys,'aukštis=',aukstis,'plotas=',plotas
     yn = ' '
     taip_ne_ciklas: do        write(*,*) 'Skaičiuoti kitam cilindrui? t[n]'
        read(*,'(a1)') yn
        if (yn=='y' .or. yn=='Y') exit yn_loop
        if (yn=='n' .or. yn=='N' .or. yn==' ') exit ciklas
     end do taip_ne_ciklas
  end do ciklas
 end program''' cilindras

Išnašos

Nuorodos 
 Fortran istorija anglų kalba

Programavimo kalbos