WATFIV - WATFIV
WATFIV eller WAT erloo F ORTRAN IV , som utvecklats vid University of Waterloo , Kanada är en implementering av Fortran datorprogrammeringsspråket . Det är efterträdaren till WATFOR .
WATFIV användes från slutet av 1960-talet till mitten av 1980-talet. WATFIV efterträddes i sin tur av senare versioner av WATFOR. Eftersom det kunde slutföra de tre vanliga stegen ("compile-link-go") på bara ett pass, blev systemet populärt för att lära studenter programmering.
Historia
I början av 1960-talet nybildade datavetenskap avdelningar började högskoleutbildningar att lära dator programmeringsspråk . Den Fortran språket hade utvecklats på IBM , men led av långsamma och felbenägna trestegs batchbearbetning arbetsflöde. I det första steget började kompilatorn med källkod och producerade objektkod . I det andra steget konstruerade en länkare ett komplett program med växande bibliotek med gemensamma funktioner. Slutligen kördes programmet upprepade gånger med data för kundernas typiska vetenskapliga och affärsproblem. Varje steg inkluderade ofta en ny uppsättning stansade kort eller tejp. Studenter, å andra sidan, hade väldigt olika krav. Deras program var i allmänhet korta, men innehöll vanligtvis logik- och syntaxfel, vilket resulterade i tidskrävande upprepning av stegen och förvirrande " kärndumpar " (Det tog ofta en hel dag att skicka in och ta emot framgångsrik eller misslyckad utdata från datoroperatören) . När deras program fungerade korrekt, lämnades de in och kördes inte igen.
1961 utvecklade University of Wisconsin en teknik som heter FORGO för IBM 1620 som kombinerade några av stegen. Liknande experiment utfördes vid Purdue University på IBM 7090 i ett system som kallades PUFFT.
WATFOR 7040
Sommaren 1965 utvecklade fyra grundstuderande vid University of Waterloo , Gus German, James G. Mitchell Richard Shirley och Robert Zarnke, ledd av Peter Shantz, en Fortran -kompilator för IBM 7040 -datorn WATFOR. Dess mål var snabb sammanställningshastighet och effektiv feldiagnostik vid både kompilering och körningstid. Det eliminerar behovet av ett separat länkningssteg och som ett resultat placeras FORTRAN -program som inte innehåller några syntaxfel i omedelbar körning. Professor J. Wesley Graham gav ledarskap under hela projektet.
Denna enkla, enstegsprocess gjorde det möjligt för icke-erfarna programmerare att lära sig programmering med lägre tidskostnader och datorresurser. För att hjälpa till med felsökning använder kompilatorn ett innovativt tillvägagångssätt för att leta efter odefinierade variabler (ett extremt vanligt misstag från början av programmerare). Den använder en diagnostisk funktion i 7040 som medvetet kan ställa in minnesområden till dålig paritet. När ett program försöker referera till variabler som inte hade ställts in, tar maskinen ett avbrott (hanteras av Watfor -körtidsrutinerna) och felet rapporteras till användaren som en odefinierad variabel. Detta har den trevliga bieffekten av att leta efter odefinierade variabler med i princip ingen CPU -overhead.
WATFOR blev snabbt populär och över 75 institutioner installerade det på sina IBM 7040 -system. Distribueringen av kompilatorn sköts av Sandra Bruce (född Hope).
WATFOR 360
År 1966 planerade universitetet att ersätta 7040 med en IBM System/360 -dator, vilket var mycket snabbare men inte kompatibelt med programvara. Ett team av heltidsanställda och grundstudenter bildades för att skriva en IBM 360-version. Projektmedlemmarna, Betty Schmidt, Paul Dirksen, Paul H. Cress , Lothar K. "Ned" Kesselhut, Bill Kindree och Dereck Meek, fick senare sällskap av Mike Doyle, Rod Milne, Ron Hurdal och Lynn Williams, slutförde 360 WATFOR i tidig del av 1967. Många andra institutioner (universitet, högskolor, företag och statliga myndigheter) började använda WATFOR -kompilatorn för att tillgodose behov som liknar dem som har upplevts vid University of Waterloo. Distributionen av programvaran och kundsupport sköts av Sandra Ward.
WATFIV
Som ett resultat av förslag från SHARE- användargruppen Fortran-kommittén och andra, producerades en ny version som heter WATFIV 1968. WATFIV introducerade nya funktioner som CHARACTER-variabler och direktåtkomst input-output. Den Association for Computing Machinery presenterade Paul Cress och Paul Dirksen i Grace Murray Hopper Award för bidrag till WATFOR och WATFIV projekt 1972. WATFIV kompilatorn ingick i DataPro Honor Roll för 1975 och 1976. Personer som arbetar med underhåll och förbättring ingår Bernie Murphy, Martin Wiseman och Yvonne Johnson.
WATFIV uttalades som "WHAT FIVE", men, som insågs vid den tiden, kunde också (nästan) fortfarande uttalas som "WHAT FOR", som i WAT-F-IV (Waterloo Fortran IV).
Universitet och företag använde dessa kompilatorer och ett antal andra mjukvaruprodukter har utvecklats i WATFOR -traditionen. Till exempel kallas en version för COBOL -programmeringsspråket WATBOL . Daniel D. McCracken sa "det är ingen överdrift att föreslå att WATFOR revolutionerade användningen av datorer i utbildningen." Vid ett tillfälle hölls mer än 3000 mini- och stordatorlicenser och över 100 000 mikrodatalicenser över hela världen för denna familj av programvaruprodukter.
WATFOR -11, -S och -11S
1974 skapades en kompilator med egenskaper som liknade IBM-implementeringen för Digital Equipment Corporation PDP-11- dator och kallades WATFOR-11. Teammedlemmarna, Jack Schueler, Jim Welch och Terry Wilkinson, fick senare sällskap av Ian McPhee som hade lagt till nya kontrolluttalanden till WATFIV -kompilatorn för strukturerad programmering (SP). Dessa nya uttalanden inkluderade blocket IF (senare inkluderat i språkstandarden ANSI X3.9-1978), WHILE, UNTIL och andra. WATFIV-S tillkännagavs 1974 och några månader senare tillkännagavs också WATFOR-11S ("S" som indikerar de nya SP-funktionerna). De ursprungliga SP-funktionerna förbättrades senare med ytterligare uttalanden av Bruce Hay i WATFIV-S 1980 och av Jack Schueler i WATFOR-11S 1981.
WATFOR-77
Under 1970 -talet utvecklade ANSI X3J3 -underkommittén (FORTRAN -språkstandardgruppen) en ny språkstandard som officiellt godkändes i april 1978. Denna standard, betecknad FORTRAN 77 , introducerade många nya uttalanden i språket. Faktum är att den tidigare språkstandarden FORTRAN 66 är ett mycket litet dokument och beskriver vad som faktiskt är en delmängd av de flesta implementeringarna av FORTRAN. Till exempel är WATFIV- och WATFOR-11-implementeringarna baserade på IBM-definitionen av FORTRAN-IV .
Eftersom programmerare använde FORTRAN 77 -funktionerna, krävdes en ny kompilator för att kombinera fördelarna med WATFIV -kompilatorn med den nya språkstandarden. I januari 1983 ett projekt utveckla en Fortran 77 kompilator startades på Watcom Systems Inc . Under ledning av Jack Schueler blev Watcom-anställda och studenter från University of Waterloos kooperativa datavetenskapsprogram engagerade i skapandet av WATFOR-77-kompilatorn. Det stora arbetet utfördes av Geno Coschi, Fred Crigger, John Dahms, Jim Graham, Jack Schueler, Anthony Scian och Paul Van Oorschot. De fick hjälp av Rod Cremasco, John McCormick, David McKee och Brian Stecher. Många av teammedlemmarna från tidigare kompilatorprojekt gav input. Dessa inkluderade Bruce Hay, Ian McPhee, Sandra Ward, Jim Welch och Terry Wilkinson.
Till skillnad från tidigare kompilatorer skrevs en betydande del av WATFOR-77 på ett bärbart systemspråk för att underlätta implementeringen av kompilatorn på andra datorsystem. Tidigare WATFOR-kompilatorer skrevs helt och hållet på maskinberoende monteringsspråk.
Två komponenter i kompilatorn är inte bärbara. Kodgeneratorn översätter FORTRAN -uttalanden till inbyggda datorinstruktioner och lagrar dem i minnet. Den första versionen av WATFOR-77 genererar instruktioner för datorarkitekturen IBM 370. Det mesta av körningstidsstödet (odefinierad variabelkontroll, subskriptutvärdering, inneboende funktioner) skrevs på samlingsspråk för bra prestanda. I september 1984 installerades den första versionen vid University of Waterloo för Department of Computing Services. Det var en implementering för IBM 370 -datorer som kör operativsystemet VM/SP CMS .
Några månader tidigare, i maj 1984, började ett projekt för att implementera WATFOR-77-kompilatorn på IBM Personal Computer . Detta projekt omfattade Geno Coschi, Fred Crigger, Tim Galvin, Athos Kasapi, Jack Schueler, Terry Skomorowski och Brian Stecher. I april 1985 installerades den andra versionen av WATFOR-77 vid University of Waterloo för användning av studenter vid tekniska fakulteten. Kompilatorn kan köras på en 256K IBM persondator med IBM PC DOS 2.0 och kräver ingen speciell flytande maskinvara.
Hösten 1985 levererades en japansk version av WATFOR-77 till IBM Japan för IBM JX Personal Computer. Denna version producerar japanska språkfelmeddelanden och stöder teckenuppsättningarna Kanji, Hiragana och Katakana för variabelnamn och teckensträngar. För att stödja JX översattes språkreferenshandboken och användarhandboken till japanska. En annan version av WATFOR-77 med samma funktioner som nämnts ovan utvecklades också för japanska IBM PS/55-persondatorer under våren 1988.
Under sommaren 1986 anpassades IBM PC-versionen av WATFOR-77 för att köras på Unisys ICON som kör operativsystemet QNX . Eftersom QNX skiljer sig ganska mycket från IBM PC DOS, skrevs delar av körtidssystemet om. Denna implementering av WATFOR-77 gjordes tillgänglig i september 1986.
Under sommaren 1985 startades ett projekt för att anpassa WATFOR-77 till Digital Equipment Corporation VAX- datorserien som kör VMS- operativsystemet. Medlemmarna i detta projekt inkluderade Geno Coschi, Marc Ouellette, Jack Schueler och Terry Skomorowski. Denna implementering gjordes tillgänglig i mars 1987.
Under våren 1988 påbörjades också ett nytt projekt för att utveckla en optimerande FORTRAN 77 -kompilator. Denna kompilator använder kodgeneratorn från Watcom C -kompilatorn , som producerar överlägsen maskinkod till andra C -kompilatorer. FORTRAN 77 optimeringskompilatorn skickades först i mitten av 1990.
I oktober 1990 firades 25 -årsjubileet för WATFOR. Många inblandade i utvecklingen av WATFOR -kompilatorerna bjöds in till University of Waterloo för en återförening.
Våren 1992 anpassades en version av WATFOR-77 till NEC PC-9801- persondatorer. Denna version liknade IBM PS/55 -versionen men modifierades för att tillgodose arkitektoniska skillnader. I januari 1992 började utvecklingen av en 32-bitarsversion av WATFOR-77 för persondatorer Intel 80386 och Intel 80486 . Den första versionen skickades hösten 1992.
Så sent som 1995 hölls fortfarande lektioner för programmering i WATFIV vid University of Mississippi , ledd av professor Charles H. (Chuckie) Franke.
Se även
- Watcom
- Donald B.Gillies (early adopter vid University of Illinois)
Referenser
Vidare läsning
- Peter W. Shantz; RA tyska; James G. Mitchell ; Richard SK Shirley; C. Robert Zarnke (januari 1967). "WATFOR — University of Waterloo FORTRAN IV Compiler". Kommunikation av ACM . Association for Computing Machinery . 10 (1): 41–44. doi : 10.1145/363018.363059 .
- Peter James Ponzo (1992). Datavetenskap vid Waterloo: en historia för att fira 25 år, 1967-1992 . University of Waterloo.
- Paul H. Cress ; Paul Dirksen; James Wesley Graham (1968). FORTRAN IV med WATFOR . Prentice-Hall.
- Paul Cress (1968). Beskrivning av /360 WATFOR: en fortran-IV-kompilator (PDF) . Institutionen för tillämpad analys och datavetenskap, Computing Center, University of Waterloo.
- Paul Cress; Paul Dirksen; James Wesley Graham (1970). FORTRAN IV med WATFOR och WATFIV . Prentice-Hall. ISBN 9780133294330.
- Paul Cress; Paul Dirksen; James Wesley Graham (1 januari 1980). Strukturerad FORTRAN med WATFIV-S . Prentice-Hall. ISBN 978-0-13-854752-3.