Fortran on ohjelmointikieleksi varsin vanha, ja siitä on monia eri-ikäisiä versioita. Pelkkä nimi Fortran voi tarkoittaa joko Fortran 77:ää tai uudempaa ja huomattavasti laajempaa Fortran 90:tä. Yleensä kirjoitusasulla FORTRAN tarkoitetaan aina vanhempaa (77 tai vanhempi).
Hyvin lyhyt katsaus Fortranin historiaan:
1954 | suunnitelma FORTRAN-kieleksi (johtajana John Backus) |
1957 | FORTRAN I -kääntäjä |
1958 | FORTRAN II (mukana mm. aliohjelmat) |
1962 | FORTRAN IV |
1966 | FORTRAN 66 – ANSI-standardi, suunnilleen = FORTRAN IV |
1978 | FORTRAN 77 – uusi, laajennettu standardi |
1991 | Fortran 90 – voimakkaasti laajennettu standardi |
1997 | Fortran 95 – suhteellisen pieniä muutoksia sisältävä standardi |
2004 | Fortran 2003 |
Fortranin nykyinen kansainvälinen standardi on kolmiosainen ISO/IEC 1539. Se kuuluu työryhmän JTC1/SC22/WG5 alaan. Sen sivuilta löytyy standardi ns. DIS-tasoisena luonnoksena, joka on asiasisällöltään olennaisesti sama kuin vahvistettu standardi.
Standardointityö ei suinkaan
aina keksi uutta vaan useinkin
vain vakiinnuttaa kääntäjissä jo toteutettuja
uusia piirteitä. Esimerkkinä mainittakoon
bittienkäsittelyfunktiot kuten btest
.
Ne eivät kuulu Fortran 77 -standardiin, mutta hyvin monet valmistajat
toteuttivat ns. military standardin
MIL-STD 1753
mukaisesti.
Sen mukaisina ne on myös
otettu Fortran 90:een.
Käytettäessä hyväksi Internetistä löytyviä Fortrania koskevia tietoja kannattaa tarkistaa, mitä kielen versiota ne koskevat. Tiedot saattavat koskea esim. jonkin valmistajan omaa Fortran-toteutusta, jonka kaikki piirteet eivät suinkaan välttämättä kuulu mihinkään standardiin.
CSC on julkaissut suomenkielisen oppaan Fortran 90/95. Webissä on sen lyhyen kuvauksen lisäksi laajahko esittely sekä tilausohjeet ja nykyisin myös itse opas (PDF-muodossa).
Michael Metcalfin Fortran 90 Tutorial sisältää laajahkon joskin luettelomaisen kuvauksen kielestä.
Bo Einarsson ja Juri Shokin ovat kirjoittaneet varsin yksityiskohtaisen oppaan Fortran 90 for the Fortran 77 Programmer. Mukana on myös eräitä piirteitä Fortran-95:stä.
Lisäksi on olemassa tuoreempi Fortran-90-fakki: F90 FAN's : Fortran 90 Frequently Asked about News.
Myös muista fakeista voi löytyä Fortran-kieltä koskevia tai sitä sivuavia asioita.
Olen kirjoittanut lyhyen vastauksen erääseen aika usein esitettyyn kysymykseen: miten saa kellonajan, päiväyksen ja CPU-ajan selville.
Fortran-kieltä, kuten kaikkia muitakin maailman asioita, koskevia tietoja
voi hakea Webistä
nsk. hakukoneilla.
Tiedon etsintä niillä on tehokkainta silloin, kun hakulauseke
voidaan muotoilla käyttäen täsmällisiä termejä, jotka eivät
sekaannu (englannin) yleiskielen sanoihin.
Esimerkiksi etsiminen hakusanalla open
on melko
hyödytöntä, koska löytyy aivan liian paljon epäolennaista tietoa,
mutta etsiminen sellaisella Fortran-kielen funktion tai lauseen nimellä,
jota ei juuri käytetä muissa yhteyksissä kuin Fortranissa, esim.
endfile
, voi olla hyödyllistä.
Tosin silloin saattaa löytyy mm. suuri määrä eri järjestelmien
man-sivuja, help-tiedostoja
ja vastaavia dokumentteja, joiden tiedot eivät ole yleispäteviä.
Haun onnistumista voi parantaa eli hyödyttömiä osumia vähentää
liittämällä hakumerkkijonoon sanan fortran
, esim.
+fortran +open
. Seuraavassa AltaVistaa käyttävä
yksinkertaistettu hakulomake sellaisia hakuja varten:
comp.lang.fortran
,
joka on
melko aktiivinen
ja jonka säännöllinen seuraaminen vie paljon aikaa.
(Edellä ja seuraavassa nyysiryhmien nimet ovat linkkejä,
joiden kautta pääsee lukemaan ryhmän tämänhetkistä keskustelua
Google Groupsin kautta.)
Mainittu ryhmä on tarkoitettu nimenomaan kielikohtaisten
kysymysten käsittelyyn. Ohjelmointia yleensä koskevia kysymyksiä,
joissa siis ei ole kyse algoritmin toteuttamisesta jollakin kielellä
vaan algoritmeista, käsitellään kansainvälisesti mm. ryhmässä
comp.programming
ja suomeksi ryhmässä
sfnet.atk.ohjelmointi
,
joskin viimeksi mainitussa ryhmässä käytännössä käsitellään myös eri
ohjelmointikieliin liittyviä kysymyksiä (Fortrania aika vähän).
Ks. myös
Ohjelmoinnin alkeet: Vastauksia usein esitettyihin kysymyksiin
(osittain vanhentunut) ja
Vastauksia tietokoneohjelmoinnista usein esitettyihin
kysymyksiin .