b"\n_START_ARTICLE_\nFortran\n_START_SECTION_\nVroege geschiedenis\n_START_PARAGRAPH_\nDe eerste versie is ontwikkeld door een aantal medewerkers van IBM onder leiding van John Backus. Het eerste rapport over FORTRAN dateert van 1954, de eerste werkende compiler, voor de IBM-704, kwam begin 1957 gereed. Al in 1958 kwam de opvolger daarvan, FORTRAN\xc2\xa0II, beschikbaar. In de jaren daarop verschenen vele versies van Fortran, ook van andere leveranciers dan IBM. Dit maakte standarisatie door het ANSI noodzakelijk, die in 1966 de standaard FORTRAN\xc2\xa066 publiceerde. FORTRAN\xc2\xa066 kende twee versies, namelijk Basic FORTRAN, dat ongeveer overeenkwam met FORTRAN\xc2\xa0II, en full FORTRAN, dat het meest leek op de op dat moment nieuwste versie, FORTRAN\xc2\xa0IV. Omdat latere versies van Fortran niet vernieuwend meer waren maar de ontwikkelingen bij andere programmeertalen op enige afstand volgden wordt hier een beschrijving van Basic FORTRAN 66 gegeven.\n_START_SECTION_\nHello world\n_START_PARAGRAPH_\nHello World-programma in FORTRAN 66:_NEWLINE_ PRINT 10_NEWLINE_ 10 11HHELLO WORLD_NEWLINE_ END\n_START_SECTION_\nVoor- en nadelen\n_START_PARAGRAPH_\nEen belangrijk voordeel is de overdraagbaarheid van standaard Fortrancode tussen verschillende machines, omdat er geen machinespecifieke commando's in de taal waren gedefinieerd. Er waren wel dialecten gemaakt door specifieke computerleveranciers die niet-overdraagbare uitbreidingen hadden. Ook zijn Fortrancompilers vaak erg stabiel en leveren ze erg snelle code; door het ontbreken van pointers kan een Fortrancompiler meer optimalisaties uitvoeren dan bijvoorbeeld een C-compiler._NEWLINE_Fortran heeft oorspronkelijk weinig faciliteiten gehad om op laag niveau met het besturingssysteem te converseren, en het kende lange tijd ook geen pointers. Dit maakte het moeilijk om Fortran te gebruiken voor systeemtaken, maar het gebruik van hogere programmeertalen voor dit doel kwam pas op in de jaren 1970._NEWLINE_Het formeel niet bestaan van pointers kon met betrekking tot variabelen in de taal omzeild worden door het defini\xc3\xabren van arrays; de naam van een array gedroeg zich als een pointer. Dit werd vaak toegepast om een virtueel dynamisch geheugengebruik te simuleren, hetgeen bij de betrekkelijke kleine geheugencapaciteit voor veel wetenschappelijke programma's noodzakelijk was. Het nadeel was dat programma's erg ondoorgrondelijk werden en nauwelijks te onderhouden waren. Veel programma's crashten doordat op deze wijze regelmatig adressen buiten de gedeclareerde geheugenruimte aangesproken werden.\n_START_SECTION_\nFORTRAN 77\n_START_PARAGRAPH_\nFORTRAN 77 was op beide punten verbeterd: er waren meer controlestructuren en er werden karaktergegevens ge\xc3\xafntroduceerd.\n_START_SECTION_\nFortran 95\n_START_PARAGRAPH_\nIn deze versie is ook de mogelijkheid toegevoegd om zelf types te defini\xc3\xabren die bestaan uit combinaties van standaardtypes. Dit lijkt op een structure in de programmeertaal C. Bijvoorbeeld:_NEWLINE_ type naam_van_dit_type_NEWLINE_ integer ::eerste_NEWLINE_ integer ::tweede_NEWLINE_ character::tekst*20_NEWLINE_ end type naam_van_dit_type_NEWLINE_ type(naam_van_dit_type)::een_zelfgedefinieerd_type,en_nog_een_NEWLINE__NEWLINE_ een_zelfgedefinieerd_type%eerste = 1_NEWLINE_ een_zelfgedefinieerd_type%tekst = 'Tekst'_NEWLINE__NEWLINE_ en_nog_een = een_zelfgedefinieerd_type"