Fortran: razlika između inačica

Izvor: Hrvatska internetska enciklopedija
Prijeđi na navigaciju Prijeđi na pretraživanje
Redak 39: Redak 39:
Fortran je jedan od najstarijih visokorazinskih programskih jezika, a tijekom desetljeća razvio je skup osobitosti koje ga čine jedinstvenim u znanstvenom i tehničkom računarstvu. Njegove posebnosti proizlaze iz povijesnog razvoja, stroge sintakse, optimizacije za numeričke izračune i dugogodišnje uporabe u inženjerskim disciplinama.
Fortran je jedan od najstarijih visokorazinskih programskih jezika, a tijekom desetljeća razvio je skup osobitosti koje ga čine jedinstvenim u znanstvenom i tehničkom računarstvu. Njegove posebnosti proizlaze iz povijesnog razvoja, stroge sintakse, optimizacije za numeričke izračune i dugogodišnje uporabe u inženjerskim disciplinama.


=== Optimiziran za numeričke izračune i znanstvene aplikacije ===
# '''Optimiziran za numeričke izračune i znanstvene aplikacije''' - Fortran je od samog početka dizajniran za matematičke operacije, što ga čini iznimno brzim u radu s matricama, vektorima i kompleksnim numeričkim algoritmima. Kompajleri Fortrana tradicionalno generiraju vrlo učinkovit strojni kod, posebno za operacije s pomičnim zarezom.
 
Fortran je od samog početka dizajniran za matematičke operacije, što ga čini iznimno brzim u radu s matricama, vektorima i kompleksnim numeričkim algoritmima. Kompajleri Fortrana tradicionalno generiraju vrlo učinkovit strojni kod, posebno za operacije s pomičnim zarezom.


=== Jednostavna i stroga sintaksa ===
=== Jednostavna i stroga sintaksa ===

Inačica od 7. srpanj 2026. u 08:45

Fortran (ili FORTRAN) ime je za proceduralni, imperativni programski jezik koji je bio razvijen tijekom 50-ih godina dvadesetog stoljeća, i koristi se većinom u znanstvene svrhe. Ime FORTRAN dobiveno je od skraćivanjem engleske složenice Formula Translation.

Povijest razvoja i inačice

Povijest razvoja

Prvi FORTRAN jezični prevoditelj (ili kompilator) razvila je tvrtka IBM za računalo IBM 704 između 1954. i 1957. godine. Razvojnu grupu predvodio je John W. Backus. Kao jezični prevoditelj FORTRAN je nastao u povojima računarstva tj. kada su osnovna svojstva računala bile veoma skromne (mala glavna memorija, spora centralna jedinica) tako da je razvojni tim imao skučeni prostor za razvoj i implementaciju.

Predvoditelj razvojne grupe John W. Backus je također bio i jedan od glavnih inženjera i dizajnera računala IBM 704, računala na kojem je razvijena prva inačica FORTRANA. Uz Backusa u razvojnoj grupi su sudjelovali su sljedeći programeri :

  • Sheldon F. Best
  • Harlan Herrick
  • Peter Sheridan
  • Roy Nutt
  • Robert Nelson
  • Irving Ziller
  • Richard Goldberg
  • Lois Haibt
  • David Sayre


Razvojni tim FORTRANA nije razvio princip programa-prevoditelja te prevođenje složenog programskog jezika u objektni kod, ali oni su prva grupa koja je razvila uspješan složeni programski jezik.

Inačice

  • FORTRAN I (1954-1957)
  • FORTRAN II (1958)
  • FORTRAN III (1958)
  • FORTRAN IV (1961)
  • FORTRAN 66 (1966)
  • FORTRAN 77 (1977)(ANSI standard)
  • FORTRAN 90 (1990)(ANSI standard)
  • FORTRAN 95 (1995)(ANSI standard)
  • FORTRAN 2000 (2000)
  • FORTRAN 2003 (2003)
  • FORTRAN 2008 (2008)

Posebitosti

Fortran je jedan od najstarijih visokorazinskih programskih jezika, a tijekom desetljeća razvio je skup osobitosti koje ga čine jedinstvenim u znanstvenom i tehničkom računarstvu. Njegove posebnosti proizlaze iz povijesnog razvoja, stroge sintakse, optimizacije za numeričke izračune i dugogodišnje uporabe u inženjerskim disciplinama.

  1. Optimiziran za numeričke izračune i znanstvene aplikacije - Fortran je od samog početka dizajniran za matematičke operacije, što ga čini iznimno brzim u radu s matricama, vektorima i kompleksnim numeričkim algoritmima. Kompajleri Fortrana tradicionalno generiraju vrlo učinkovit strojni kod, posebno za operacije s pomičnim zarezom.

Jednostavna i stroga sintaksa

Sintaksa Fortrana je jednostavna, ali stroga. Povijesno je bio vezan uz formatirane linije (npr. FORTRAN 77), dok modernije inačice (Fortran 90+) uvode slobodni format, modularnost i čitljiviji kod. Stroga sintaksa smanjuje mogućnost pogrešaka i olakšava optimizaciju.

Duga kompatibilnost unatrag

Jedna od najvećih posebnosti Fortrana jest iznimna kompatibilnost unatrag. Programi napisani prije 40 ili 50 godina često se mogu kompajlirati i pokrenuti na modernim sustavima bez većih izmjena. Ovo je ključno za znanstvene institucije koje održavaju stare, ali pouzdane numeričke modele.

Učinkovito rukovanje poljima (arrayima)

Fortran ima napredne mogućnosti rada s poljima, uključujući:

  • automatsko vektoriziranje,
  • rad s višedimenzijskim poljima,
  • ugrađene operacije nad cijelim poljima bez eksplicitnih petlji.

Ovo ga čini idealnim za simulacije, fiziku, kemiju, meteorologiju i numeričku analizu.


Modularnost i proširivost (Fortran 90+)

Moderni Fortran uvodi module, generičke funkcije, rekurziju, dinamičku alokaciju memorije i druge značajke koje ga čine usporedivim s modernim jezicima, ali uz zadržavanje numeričke učinkovitosti.

Stabilnost i pouzdanost u dugotrajnim projektima

Zbog svoje jednostavnosti, stabilnosti i dugogodišnje uporabe, Fortran je i danas temelj mnogih znanstvenih biblioteka (BLAS, LAPACK, IMSL).Mnoge superračunalne simulacije i dalje se oslanjaju na Fortran zbog njegove predvidljivosti i brzine.

Nedostaci

Iako je Fortran jedan od najvažnijih jezika u povijesti računarstva, posebno u znanstvenim i tehničkim disciplinama, ima i niz nedostataka koji proizlaze iz njegove starosti, povijesnog razvoja i ograničenja u modernim programerskim praksama.

  1. Ograničena podrška za suvremene paradigme - Fortran nije izvorno dizajniran za objektno orijentirano programiranje, funkcionalne paradigme ili moderne apstrakcije. Iako novije inačice (2003, 2008, 2018) uvode određene OOP elemente, njihova implementacija je ograničena i često neudobna u usporedbi s jezicima poput C++, Jave ili Pythona.
  2. Manjak standardiziranih biblioteka - Za razliku od modernih jezika koji imaju bogate standardne biblioteke (npr. Python, Java), Fortran se oslanja na vanjske znanstvene biblioteke. Nedostatak univerzalnih modula za rad s datotekama, mrežom, grafikom ili GUI‑jem čini ga nepraktičnim za opće programske zadatke.
  3. Složenost održavanja starog koda - Velika količina postojećeg Fortran koda napisana je u starim inačicama (FORTRAN 66, FORTRAN 77) koje koriste zastarjeli formatirani stil, goto naredbe i nečitljive strukture. Održavanje takvog koda zahtijeva specijalizirano znanje i često predstavlja izazov novim programerima.
  4. Slaba čitljivost u velikim projektima - Iako je sintaksa jednostavna, Fortran kod može postati teško čitljiv u kompleksnim numeričkim projektima zbog: velikog broja globalnih varijabli, nedostatka modernih mehanizama enkapsulacije, opsežnih polja i matrica koje se teško prate.
  5. Ograničena upotreba izvan znanstvenog područja - Fortran je gotovo isključivo prisutan u znanstvenim, inženjerskim i simulacijskim aplikacijama. U industriji, web‑u, mobilnom razvoju, igrama i poslovnim sustavima praktički se ne koristi, što smanjuje dostupnost programera i alata.
  6. Manja podrška u modernim razvojnim okruženjima - Iako postoje kvalitetni kompajleri (Intel, GNU, PGI), Fortran ima slabiju integraciju u suvremene IDE‑ove, sustave za upravljanje paketima i razvojne platforme. To otežava rad u timovima i integraciju s drugim tehnologijama.

Programski primjer

!      This program calculates the area of a tank,                      
!      excluding the bottom.                                            
!      The variables are assigned as follows:                           
!                                                                       
!          R  =  RADIUS                                                 
!          H  =  HEIGHT                                                 
!          PI =  3.14159                                                
!          A  =  AREA                                                   
!                                                                       
!      They are declared with the REAL statement below.                 
                                                                        
      REAL R, H, PI, A 
                                                                        
                                                                        
!      The OPEN command associates the data file, "PANDAT.DAT",         
!      in folder "DATA" with logical device 5.  If there is an          
!      error, statement 900 is executed.                                
                                                                        
      OPEN (5, FILE = 'C:\DATA\PANDAT.DAT', ACCESS = 'SEQUENTIAL',      &
      STATUS = 'OLD', ERR = 900)                                        
                                                                        
                                                                        
!      This following section accumulates the sum of                    
!      the input variables.                                             
!      The first command reads the data record and                      
!      stores it in memory.                                             
           
      DO	                                                                
         READ (5, FMT = 1, END = 99) R, H 
                                                                        
!      The next command describes the form and location                 
!      of the data to be read.                                          
                                                                        
    1 FORMAT    (F4.2,F4.2) 
                                                                        
!      The next statements assign values to the variables.              
                                                                        
         PI = 3.14159 
         A = PI * R**2 + 2 * PI * R * H 
                                                                        
!      The next section writes the sums to the screen.                  
!      The first command, PRINT, denotes which FORMAT                   
!      statement is to be used, and the variables to be printed.        
                                                                        
         PRINT 11, H, R, A 
                                                                        
!      The following FORMAT statement describes how the                 
!      data field is to be written. Notice the semicolon in column 6    
!      which is used to denote continuation of the previous line.       
                                                                        
   11 FORMAT    (1X,'RADIUS= ',F6.2,10X,'HEIGHT= ',F6.1,10X,'AREA= ',   &
     &           F8.1)                                                  
                                                                        
                                                                        
!      The following statement completes the loop.                      
                                                                        
      END DO 
                                                                        
!      The next section prints if the input data is invalid.            
                                                                        
  900 PRINT 21 
   21 FORMAT    (1X,'INVALID DATA') 
                                                                        
                                                                        
!      Now we close the file and end program execution.                 
                                                                        
   99 CLOSE (5) 
      STOP 
      END

Reference

  • IBM Archives – History of FORTRAN
  • John W. Backus – The FORTRAN Automatic Coding System
  • ANSI/ISO standardi za Fortran 77, 90, 95, 2003, 2008
  • BLAS i LAPACK dokumentacija
  • University of California – Fortran Language Overview

Vanjske poveznice

Povijest FORTRAN-a

Izvori