FORTAN-code: een zeer oude taal voor numeriek rekenen

Openbaarmaking: Uw steun helpt de site draaiende te houden! We verdienen een verwijzingsvergoeding voor sommige van de services die we op deze pagina aanbevelen.


Als je enige ervaring hebt met programmeren, kun je Fortran binnen een paar uur leren. Het is een ongelooflijk gemakkelijke taal, maar toch erg krachtig.

En om u een idee te geven van die kracht, overweeg dit: het verscheen voor het eerst in 1957 en wordt nog steeds gebruikt om enkele van de meest gecompliceerde problemen in de moderne wetenschap en techniek op te lossen.

Een zeer korte geschiedenis van Fortran

Om de geschiedenis van Fortran te begrijpen, moeten we teruggaan naar de vroegste moderne computers.

Assembly taal

In de jaren veertig waren alle computers geprogrammeerd met assembleertaal, waardoor de computer directe instructies kreeg. Stel je bijvoorbeeld voor dat je twee gehele getallen wilt toevoegen aan de geavanceerde computer van IBM IBM 194 uit 1954. Je zou zoiets moeten schrijven (pdf):

CAO 100
VOEG 101 toe

CLA vertelt de computer om het Accumulator-register te wissen en de waarde toe te voegen die is opgeslagen op geheugenlocatie 100. Vervolgens vertelt het ADD-commando de computer om de waarde die is opgeslagen op geheugenlocatie 101 toe te voegen aan de waarde die is opgeslagen in het Accumulator-register.

Dit is al ingewikkeld en we hebben niet eens besproken hoe de waarden op geheugenlocaties 100 en 101 moeten worden opgeslagen!

Voer FORTRAN in

Dit soort codering is duidelijk bewerkelijk en ongelooflijk foutgevoelig. Dus eind 1953 – kort voordat de IBM 704 zou worden uitgebracht – diende computerwetenschapper John W Backus een voorstel in om een ​​taal op hoog niveau te creëren waarmee programmeurs eenvoudige uitspraken als I = 10 + J zouden kunnen schrijven.

Vervolgens kon de compiler dit converteren naar de vele regels voor assembleertaal die de computer nodig had. En eind 1956 verscheen de eerste FORTRAN-handleiding (pdf). En zes maanden later werd de eerste compiler uitgebracht die Fortran in assembleertaal converteerde.

FORTRAN was niet de eerste programmeertaal op hoog niveau. Maar het was de eerste die op grote schaal werd gebruikt. En daar zijn goede redenen voor.

Fortran Evolution

Hoewel de eerste Fortran-compiler in 1957 werd uitgebracht, bleef de taal groeien en evolueren.

FORTRAN II

Uitgebracht in 1958, introduceerde FORTRAN II subroutines en functies. Dit waren cruciale faciliteiten omdat ze de ontwikkeling van goed gestructureerde code mogelijk maakten.

Dankzij deze functies konden programma’s dezelfde codeblokken meerdere keren aanroepen zonder de code te herhalen of GOTO-aanroepen te gebruiken. Het belangrijkste verschil tussen deze twee dingen is dat subroutines geen variabelen retourneerden zoals functies.

FORTRAN IV / FORTRAN 66

FORTRAN IV was een zeer belangrijke mijlpaal. Het verwijderde met name machine-afhankelijke functies en introduceerde logische (Booleaanse) functies in de taal.

Maar FORTRAN IV was belangrijker omdat het min of meer de standaard FORTRAN werd voor de programmeergemeenschap. Dit was vooral te danken aan het feit dat FORTRAN 66 direct na FORTRAN IV werd uitgebracht.

En FORTRAN 66 was de eerste versie met een officiële versie van het American National Standards Institute (ANSI).

FORTRAN 77

Vanwege de timing is FORTRAN 77 de versie waar de meeste mensen aan denken als ze aan de taal denken. Het heeft een aantal belangrijke functies toegevoegd.

Hoewel FORTRAN IV bijvoorbeeld IF-instructies had (inclusief drieweg IF-instructies), duurde het tot FORTRAN 77 pas dat ELSE- en ELSE IF-functies waren toegestaan. Het heeft ook zeer geavanceerde bestands-I / O- en karakterverwerkingsmogelijkheden.

Fortran 90

Dit betekende een enorme verandering in de taal, zoals eenvoudig te zien is aan het feit dat de naam van de taal niet langer met alleen hoofdletters werd gedrukt. Hierdoor konden Fortran-opdrachten in kleine letters worden geschreven en werd vrije-vormbroninvoer geïmplementeerd.

Maar het implementeerde ook veel geavanceerdere functies, zoals overbelasting door de operator. Tegelijkertijd verwijderde het geen functies, zodat Fortran 77-programma’s nog steeds precies werkten zoals voorheen.

Fortran 2015

Er zijn sinds Fortran 90 een aantal updates voor de taal geweest: Fortran 95, Fortran 2003, Fortran 2008 en de komende Fortran 2015. Dit zijn allemaal kleine updates.

Er is niets wezenlijks met de taal gebeurd sinds Fortran 90, of zelfs FORTRAN 77 omdat de code nog steeds over het algemeen ongewijzigd compileert.

Waarom gebruiken mensen Fortran?

Als je numerieke berekeningen wilt uitvoeren, is er echt geen betere taal. Omdat het al zo lang bestaat, zijn Fortran-compilers geoptimaliseerd om berekeningen uit te voeren.

Maar misschien is de beste reden om Fortran te gebruiken, dat er een enorme hoeveelheid bestaande code is voor het soort dingen dat wetenschappelijke programmeurs de hele tijd doen.

Overweeg dit: Numerieke recepten: The Art of Scientific Computing is al tientallen jaren een essentieel boek voor alle wetenschappelijke programmeurs. Toen het voor het eerst uitkwam in 1986, werd het geschreven met alle Fortran-voorbeelden.

Dit feit werd niet vermeld op de omslag. Het werd zojuist aangenomen. Het duurde drie jaar voordat een speciale editie van het boek met Pascal-code uitkwam. Het duurde zes jaar voordat er een C-taalversie uitkwam.

Wat Fortran zo gemakkelijk maakt?

Basic Fortran doet alleen simpele dingen. Alle aspecten ervan zoals loops en if-then-instructies zijn zo geïntegreerd in andere talen dat het onwaarschijnlijk is dat je problemen zult hebben om het op te pikken.

Het enige dat misschien een beetje moeilijk kan zijn, is dat Fortran een zeer gestructureerd invoerformaat vereist – althans Fortran 66 en Fortran 77 deden dat. Fortran 90 en verder is veel flexibeler.

Maar als u met Fortran werkt, is de kans groot dat u te maken krijgt met de oudere versies van de code.

Fortran 77 Voorbeeld

programma volgorde
c Regels die beginnen met c (of *) zijn opmerkingen
* Dit programma drukt een eenvoudige rekenreeks af
integer n, i
n = 0
doe 10 ik = 1, 5
n = n + ik
schrijven(*,*) "De ", ik, "nummer in deze serie "
+"is: ", n
10 ga verder
hou op
einde

Hier zijn een paar dingen waar u op moet letten:

  • Normale code moet beginnen in de zevende kolom (dat wil zeggen met zes spaties ervoor).

  • Als een “c” of een “*” in de eerste kolom wordt geplaatst, is dit een opmerking en niet samengesteld.

  • Kolommen 1-5 kunnen worden gebruikt voor instructie-labels – vergelijkbaar met oude stijl BASIC.

  • Als een teken in kolom 6 wordt geplaatst, betekent dit dat de code van de vorige regel wordt voortgezet. Dit is belangrijk omdat verklaringen alleen van de 7e tot de 72e kolom kunnen worden geplaatst.

De uitvoer moet vrij duidelijk zijn:

Het 1 nummer in deze serie is 1
Het 2-nummer in deze serie is 3
Het 3-nummer in deze serie is 6
Het 4-nummer in deze serie is 10
Het nummer van 5 in deze serie is 15

Fortran leren

Je hebt een paar alternatieven voor het leren van Fortran.

Fortran-zelfstudies

Fortran is echt een heel eenvoudige taal om te leren als je alleen programma’s hoeft te maken om numerieke problemen op te lossen. Het is duidelijk niet de keuze van mensen die grafische gebruikersinterfaces schrijven.

Maar voor wetenschappers en ingenieurs is Fortran vaak de beste tool voor de klus. Met deze tutorials zul je waarschijnlijk binnen een paar uur klaar zijn om je eigen nuttige programma’s te schrijven.

  • FORTRAN 77-zelfstudie: de Stanford University-zelfstudie die u alles laat zien wat u moet weten om FORTRAN 77 te coderen. En als u FORTRAN 77 kent, zou u vrijwel elke moderne Fortran-compiler moeten kunnen gebruiken.

  • 7 lessen met Fortran 90/95: als u wilt beginnen met de nieuwere standaard en u zich geen zorgen hoeft te maken over de rigoureuze opmaak die vereist is door eerdere versies, dan is dit de plek om te beginnen. Het biedt ook een PDF-handleiding die u in plaats daarvan kunt gebruiken.

  • Introductie en basis Fortran: Fortran in oude stijl met veel voorbeelden.

  • Fortran-zelfstudie: de Tutorials Point-zelfstudie met behulp van de G95 Fortran-compiler.

  • Programmeren in FORTRAN: een basisinleiding tot FORTRAN 77, maar waarschijnlijk alles wat u echt nodig heeft.

Fortran Books

Er zijn verrassend veel boeken over de programmeertaal Fortran. Mogelijk vindt u deze de snelste en gemakkelijkste manier om aan de slag te gaan met de taal.

  • Fortran Programming Success in a Day van Sam Key: een kort boek dat de belofte van zijn titel waarmaakt.

  • FORTRAN 90/95 voor wetenschappers en ingenieurs door Stephen J Chapman: een grondige introductie tot moderne Fortran-programmering met de nadruk op het gebruik ervan in de wetenschappen.

  • Migreren naar Fortran 90 door James Kerrigan: een boek om mensen die bekend zijn met de oude stijl van Fortran aan de slag te helpen met Fortran 90. Het is ook een uitstekende referentie.

Fortran-compilers

Er zijn een aantal compilers beschikbaar. Zie Wikipedia’s lijst van Fortran-compilers. Een paar verdienen een speciale discussie:

  • GNU Fortran: de officiële Fortran-compiler (compatibel met Fortran 95) die deel uitmaakt van de GNU Compiler-collectie.

  • G95: een gratis Fortran 95-compiler die in actieve ontwikkeling is en delen van Fortran 2003 en 2008 implementeert.

  • MinGW: een poort van de GNU Compiler Collection (inclusief Fortran) voor het maken van Microsoft Windows-applicaties.

Fortran Tools

  • F2c: een eenvoudig programma en een eenvoudige bibliotheek voor het converteren van Fortran-programma’s naar C. Dit is handig voor C- en C ++ -programmeurs die bestaande Fortran-code moeten gebruiken, maar zich geen zorgen willen maken over de taal.

  • Fortran Tools, bibliotheken en toepassingssoftware: de lijst met tools en bibliotheken van de Fortran Company (meest gratis) om Fortran-coders te helpen. Het bevat zaken als grafische bibliotheken.

  • Simply Fortran: een goedkope compiler voor Linux en Windows, met een geïntegreerde ontwikkelomgeving en debugger.

  • Modern Fortran: Style and Usage by Clerman and Spector: een boek om wetenschappelijke programmeurs te helpen Fortran efficiënt te gebruiken.

  • Numerieke recepten in Fortran 77: The Art of Scientific Computing: nog steeds de ultieme bron voor de belangrijkste algoritmen.

Conclusie

Hoewel Fortran erg oud is, blijft het een waardevol hulpmiddel voor programmeurs, vooral voor degenen die in de wetenschap en techniek werken. Tegelijkertijd is het een makkelijke taal om te gebruiken. Dus als eerste taal of als een ander hulpmiddel om aan je arsenaal toe te voegen, is het de moeite waard om te bekijken.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map