Fortran — vēsturiskā zinātniskā programmēšanas valoda (standarti un vēsture)

Fortran — zinātniskās programmēšanas vēsture un standarti: no 1950. gadu FORTRAN līdz Fortran 95, kompilatori, veiktspēja un valodas attīstība.

Autors: Leandro Alegsa

Fortran ir programmēšanas valoda, kas pirmo reizi tika radīta pagājušā gadsimta 50. gados un joprojām aktīvi tiek lietota. Tā ir galvenokārt procedurāla valoda, izstrādāta priekš efektīviem skaitļojumiem, un to plaši izmanto zinātniskajā skaitļošanā un skaitliskā analīzē. Nosaukums FORTRAN ir saīsinājums no "Formula Translation" — valodas mērķis bija atvieglot matemātisku izteiksmju pārveidošanu uz mašīnkodu.

Vēsture

Pirmo FORTRAN kompilatoru izstrādāja IBM komanda, kuru vadīja Džons V. Backuss, laikā no 1954.-57.. Tas bija pirmais pilnīgi funkcionālais kompilators jebkurai augsta līmeņa valodai, un tā panākumi radīja pamatu mūsdienu kompilatoru izstrādei. Izstrādātāji bija satraukti, ka valoda netiks pieņemta, ja izveidotās programmas nebūs gandrīz tikpat ātras kā tās, kas rakstītas asemblervalodā, tāpēc liela uzmanība tika pievērsta kompilatora optimizācijai. Rezultātā Fortran izraisīja intensīvas pētniecības un attīstības aktivitātes kompilatoru teorijā un realizācijā.

Standarti un galvenās valodas versijas

Fortran attīstības gaitā parādījās vairākas versijas un standarti. Svarīgākās posma atzīmes ir:

  • FORTRAN IV — agrīna un ļoti izplatīta versija (bieži pieminēta kā FORTRAN 66, jo 1966. gadā tika publicēts pirmais oficiālais standarts);
  • FORTRAN 77 — ieviesa strukturētākas valodas konstrukcijas un uzlabotu I/O;
  • Fortran 90 — liels modernizācijas vilnis: brīvā avota formāta atbalsts, modules, vektorizācija, masīvu operācijas, mainīga izmēra matricas, allocatable un pointers, kā arī atļauta rekursija;
  • Fortran 95 — mazāka, bet nozīmīga precizējoša atjauninājuma versija; oficiālais standarts tika publicēts 1997. gadā un plaši pieņemts kā uzlabojums pār Fortran 90;
  • Fortran 2003, Fortran 2008 un Fortran 2018 — jaunāki ISO standarti, kas pievienoja objektu orientētus elementus, C valodas saikni (ISO_C_BINDING), labāku rīkus paralēlismam (piem., coarrays) un citus mūsdienu programmēšanas konceptus.

Valodas īpašības un attīstība

Sākotnējā Fortran versijā bija stingri noteikta avota koda formāta prasība: kolonnu nozīme un rindas turpinājumi ietekmēja interpretāciju. Tāpat plaši tika izmantoti ciparu simbolizējoši mainīgo nosaukumi (piem., pirmais rakstzīmju ierobežojums kolonnā) un goto tipa paziņojumi. Laika gaitā valoda attīstījās, ieviešot "mūsdienīgas" programmēšanas koncepcijas, vienlaikus saglabājot spēcīgu uzsvaru uz veiktspēju un vienkāršību (tā saukto "lieso" profilu).

Dažas būtiskas valodas iezīmes, kas parādījās vai tika paplašinātas jaunākajās versijās:

  • Brīvā (free) un fiksētā (fixed) koda forma — Fortran 90 ieviesa brīvo formu, kas atvieglo lasāmību un rediģēšanu;
  • Masīvu sintakse un vektorizācija — darbības ar veselu masīvu bez explicit iterācijām, kas uzlabo kodu izteiksmību un efek-tivitāti;
  • Modules — koda organizēšanai, saderības un atkārtoti izmantojamu komponentu veidošanai;
  • Derīgie tipi (derived types) — līdzīgi struktūrām citās valodās;
  • Pointers, allocatable — dinamiskai atmiņas pārvaldībai;
  • IMPLICIT NONE — iespēja atspējot implicitās tipa piešķiršanas praksi, uzlabojot kļūdu atklāšanu;
  • Rekursija — atbalsts rekursīvām funkcijām (no Fortran 90);
  • Paralēlisms — OpenMP atbalsts, coarray Fortran (ieradās kā valodas līmenis), DO CONCURRENT un citas konstrukcijas mūsdienu daudzkodolu un sadalītā skaitļošanas vidēm;
  • C mijiedarbība — ISO_C_BINDING (no Fortran 2003) ļauj viegli saukt C funkcijas un dalīties ar atmiņu starp valodām.

Lietojums mūsdienās

Fortran joprojām ir ļoti spēcīga izvēle zinātniskajā skaitļošanā, inženierzinātnēs un jebkurā jomā, kur svarīga ir skaitliskā precizitāte un skaitļošanas veiktspēja. To izmanto:

  • lielos zinātniskos projektos (klimata modelēšana, fluīdu dinamika, astrofizika);
  • bibliotēkās un programmatūrā, kas prasa augstu efektivitāti (piemēram, BLAS, LAPACK, netCDF/GRIB rīki);
  • komerciālās un pētniecības HPC (High-Performance Computing) instalācijās.

Ir daudz mūsdienīgu kompilatoru, kas optimizē Fortran kodu ātram izpildes laikam, tostarp bezmaksas risinājumi (piem., GNU Fortran — gfortran) un komerciālie produkti (Intel Fortran, NAG, IBM XL, NVIDIA/HPC SDK u.c.). Fortran kods bieži tiek lietots kopā ar C/C++ kodu, izmantojot modernās saites un bināro mijiedarbību.

Atbilstība un pāreja

Viens no Fortran stiprajiem aspektiem ir labā savietojamība ar vecu kodu — miljoniem rindiņu programmas, kas rakstītas jau 1960.–1990. gados, joprojām var tikt kompiliētas ar mūsdienu rīkiem. Tajā pašā laikā modernie standarti pievieno drošības, lasāmības un programmatūras inženierijas rīkus, kas atvieglo lielu projektu uzturēšanu.

Kopsavilkumā Fortran ir viena no vecākajām, taču joprojām ļoti dzīvajām programmēšanas valodām zinātniskajā skaitļošanā. Tās attīstība no 1950. gadu kompilatoriem līdz mūsdienu ISO standartiem demonstrē valodas spēju pielāgoties modernajām prasībām, saglabājot izcilu veiktspēju un plašu atbalstu skaitlisko uzdevumu risināšanai.

Vārda nozīme un rakstība

Nosaukums "Fortran" ir saīsinājums no "Formula Translation". Agrāk valoda bija pazīstama kā FORTRAN (un vecāki tās varianti joprojām ir pazīstami). Kopš Fortran 90 no lielajiem burtiem ir atteikts. Publicētajos oficiālajos standartos tiek lietots "Fortran".

Standarti

Abi turpmāk minētie standarti attiecas uz pašreizējām Fortran implementācijām.

  • ANSI X3.198-1992 (R1997). Nosaukums: Programmēšanas valodas "Fortran" paplašinājums. Neoficiāli pazīstama kā Fortran 90. Šo standartu publicēja ANSI, un tas nekad nekļuva par starptautisko standartu (ISO).
  • ISO/IEC 1539-1:1997. Nosaukums: Programmēšanas valodas - Fortran - 1. daļa: Pamata valoda. Neformāli zināma kā Fortran 95. Šim standartam ir vēl 2 daļas. ANSI ir oficiāli pieņēmusi 1. daļu.


Meklēt
AlegsaOnline.com - 2020 / 2025 - License CC3