Förberedelse av program för en elektronisk digital dator
Författare |
Maurice Wilkes David Wheeler Stanley Gill |
---|---|
Land | Förenta staterna |
Språk | engelsk |
Ämne | Dataprogramering |
Utgivare | Addison-Wesley |
Publiceringsdatum |
1951 |
OCLC | 475783493 |
Förberedelsen av program för en elektronisk digital dator (ibland kallad WWG , efter dess författares initialer) var den första boken om datorprogrammering . Den publicerades 1951 och skrevs av Maurice Wilkes , David Wheeler och Stanley Gill från Cambridge University . Boken baserades på författarnas erfarenheter av att konstruera och använda EDSAC , en av de första praktiska datorerna i världen.
Innehåll
Översikt
Det var den första boken som beskrev ett antal viktiga begrepp inom programmering, inklusive:
- det första kontot i ett bibliotek med återanvändbar kod
- det första API: et
- den första förklaringen på att använda en minnesdump för att felsöka ett program, som boken kallade en "post mortem rutin"
- den första användningen av termen " montering " i programmering, dock med en något annan betydelse än den moderna användningen av termen
Mycket av boken är tillägnad att förklara biblioteket. Detta bestod av åttioåtta subrutiner som implementerade matematiska operationer som beräkning av trigonometriska funktioner och aritmetiska operationer på komplexa tal . Biblioteket var en fysisk samling lagrad i ett arkivskåp som innehöll stansat papperstejp som kodade subrutinerna. Detta inkluderade en " bibliotekskatalog " som beskrev hur en programmerare kunde använda varje subrutin; idag kallas detta API-dokumentation .
Del ett
Kapitel 6 - Felsökning
Detta kapitel undersöker utförligt "korrekturläsning" och lokalisering av misstagen i programmen. Det avråder också från frekvent refaktorering eftersom det introducerar fler misstag när programmerare försöker förbättra programmet.
Kapitel 7 - Exempel på program för EDSAC
Inkluderar exempel på beräkningar av e -sinx- formel och definitiv integral , integration av vanlig differentialequitation och utvärdering av Fouriertransformen med hjälp av EDSAC-program.
Kapitel 8 - Automatisk programmering
diskuterar en sammanställning (kompilering) och tolkning av ett program, den diskuterar också motivationen bakom "flytande adresser" som i moderna termer är variabla referenser (liknande C++ variabelreferenser ) som ersätts av kompilatorn av en riktig minnesadresser på flyga varje gång subrutinen anropas.
Del två
Den här delen innehåller mestadels specifikationer om EDSAC:s standardbiblioteks subrutiner. Bland inkluderade är subrutiner för flyttal, komplexa tal, felsökning, exponentiella beräkningar, integration, differentialaritmetiska ekvationer, logaritmer, kvadratur och trigonometriska subrutiner.
Publiceringshistorik
Boken från 1951 var en masstryckt version av en rapport med titeln Report on the Preparation of Programs for EDSAC and the Use of the Library of Subroutines skriven i september 1950 för privat cirkulation och distribuerad till högst 100 personer. Även om boken är skriven i England, publicerades den av Addison-Wesley i USA.
När WWG publicerades fanns det väldigt få digitala datorer i världen. EDSAC, som boken baserades på, var den första datorn i världen som tillhandahöll en praktisk datortjänst för forskare. Efterfrågan på boken var initialt så begränsad att det tog sex år att sälja ut den första upplagan. När datorer blev vanligare på 1950-talet blev boken standardläroboken i programmering under en tid. Den andra upplagan trycktes 1957. Vid den tiden hade tekniken gått så långt att WWG var något föråldrad.
Även om WWG var den första publicerade boklängdsbehandlingen av datorprogrammering, var det inte den första skriften om ämnet. Ämnet programmering hade varit banbrytande av Ada Lovelace mer än ett sekel tidigare. Det hade också skrivits om mer nyligen av John von Neumann , vars EDVAC-rapport från 1945 ursprungligen inspirerade Wilkes att skapa EDSAC.
externa länkar
- The Preparation of Programs for an Electronic Digital Computer andra upplagan (1957) text på Internet Archive
- EDSAC Paperwork Collection på ICL Computer Museum .