Struktur og fortolkning af computerprogrammer
Computerprogrammers opbygning og fortolkning (almindeligvis kendt under akronymet SICP , eller som en troldmandsbog , "troldmandens bog", grundet illustrationen på omslaget) [1] er en lærebog, der omhandler principperne for programmering , bl.a. såsom abstraktion , metalingvistisk abstraktion , rekursion , fortolkere og modulær programmering , og betragtes som en klassisk tekst inden for datalogi. [2]
Den første udgave blev udgivet i 1985 af MIT Press , skrevet af Harold Abelson og Gerald Jay Sussman , professorer ved Massachusetts Institute of Technology (MIT), sammen med Julie Sussman . Anden udgave er fra 1996. Bogen er distribueret under licensen Creative Commons Attribution ShareAlike 4.0. [3]
Indhold
Bogen bruger Scheme , en dialekt af lisp , som sit programmeringssprog og præsenterer mange grundlæggende programmeringsbegreber. De avancerede kapitler omhandler også implementeringen af en registermaskine, gennem definition og implementering af en assembler , som så bruges som en virtuel maskine til implementering af fortolkere og compilere.
I teksten bruges nogle tilbagevendende karakterer, hvis navne typisk svarer til et eller andet koncept, de efterligner, herunder Ben Bitdiddle (skabt af Steve Ward og allerede brugt i et tidligere kursus i halvfjerdserne ), Eva Lu Ator ( evaluator ), Louis Reasoner ( løs begrundelse ), Alyssa P. Hacker ( en lisp - hacker ), Cy D. Fect ( bivirkning , en "reformeret C - programmør ") og Lem E. Tweakit ( lad mig justere det ).
Beskæftigelse
Bogen blev brugt på MIT som tekst til det homonyme introduktionsprogrammeringskursus (6.001). [4] Dette kursus blev senere erstattet af et nyt kursus (6.0001), [5] som bruger Python som programmeringssprog. [6] Teksten er også blevet brugt som tekst på andre universiteter [7] og bruges på MIT i Large Scale Symbolic Systems kursus (6.945). [8]
Mange introduktionskurser har tidligere typisk fokuseret på ins og outs af nogle programmeringssprog, mens SICP søger at håndtere generiske mønstre for specifikke problemer og at bygge softwareværktøjer, der implementerer dem. [9]
Noter
- ^ Wizard Book , i The New Hacker's Dictionary , 2., 1993 .
- ^ Top 9 1⁄2 bøger i en hackers boghylde , i Grok-kode . Hentet 23. oktober 2010 .
- ^ SICP , MIT presse. .
- ^ Elektroteknik og datalogi | 6.001 Structure and Interpretation of Computer Programs , på OpenCourseWare , MIT, forår 2005. Hentet 28. juni 2011 (arkiveret fra originalen 28. november 2006) .
- ^ 6.0001 , i Catalog , MIT. .
- ^ Donald Guy, The End of an Era , i MIT Admissions (blogkommentar). Hentet 5. august 2008 (arkiveret fra originalen 24. juni 2008) ."Jeg talte med professor Sussman i telefonen ... Han sagde, at han faktisk havde forsøgt at få 6.001 erstattet i de sidste ti år (og jeg læste et sted, at professor Abelson også stod bag flytningen). At forstå principperne er ikke længere afgørende for en introduktion til emnet. Han ser 6.001 som forældet".
- ^ Edward C Martin, Schools , schemers.com , Schemers, 20. juli 2009. Hentet 28. juni 2011 .
- ^ http://eduapps.mit.edu/textbook/books.html?Term=2016SP&Subject=6.945
- ^ B Harvey, Hvorfor SICP betyder noget? , i 150-årsdagen for MIT , Boston Globe , 2011 ..
Bibliografi
- En kritik af Abelson og Sussman eller hvorfor beregning er bedre end planlægning ( PDF ), GB , Kent.
- Strukturen og fortolkningen af datalogipensum ( PDF ), Brown.
Eksterne links
- SICP , i MIT Press (officiel side), MIT Press. (inklusive den fulde tekst i HTML).
- Abelson og Sussman, SICP Lectures (videoer), MIT, juli 1986.
- 6.001 , i SICP (officiel side), MIT, forår 2007. Hentet 10. december 2016 (arkiveret fra originalen 22. september 2016) . (et MIT kursus, der går under samme navn som bogen).
- Open Courseware - SICP , MIT, forår 2005. Hentet 10. december 2016 (arkiveret fra originalen 28. november 2006) .
- SICP , MIT AI Laboratory, Technical Report 735, udkast 1983-07-31