Vai al contenuto

Structure and Interpretation of Computer Programs

Da Wikipedia, l'enciclopedia libera.
Versione del 10 dic 2016 alle 19:31 di 78.76.88.172 (discussione) (Nuova pagina: thumb|Copertina della seconda edizione '''''Structure and Interpretation of Computer Programs''''' (comunemente noto con l'acronimo '''''SIC...)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Copertina della seconda edizione

Structure and Interpretation of Computer Programs (comunemente noto con l'acronimo SICP, o come wizard book, "libro dello stregone", per via dell'illustrazione in copertina)[1] è un libro di testo che tratta i principi della programmazione, tra i quali astrazione, astrazione metalinguistica, ricorsione, interpreti e programmazione modulare, ed è considerato un testo classico dell'informatica.[2]

La prima edizione è stata pubblicata nel 1985 da MIT Press, scritta da Harold Abelson e Gerald Jay Sussman, professori al Massachusetts Institute of Technology (MIT), insieme a Julie Sussman. La seconda edizione è del 1996. Il libro è distribuito sotto licenza Creative Commons Attribution ShareAlike 4.0.[3]

Contenuti

Il libro usa come linguaggio di programmazione scheme, un dialetto del lisp.Ve ngono presentati i concetti fondamentali della programmazione. Nei capitoli seguenti viene trattata anche l'implementazione concreta di una register machine, tramite la definizione e implementazione di un assembler, usato poi come macchina virtuale per l'implementazione di interpreti e compilatori.

Nel testo vengono usati alcuni personaggi ricorrenti, i cui nomi sono tipicamente assonanti a qualche concetto che impersonano, tra i quali Ben Bitdiddle (creato da Steve Ward e già usato in un corso precedente, negli anni Settanta), Eva Lu Ator (evaluator), Louis Reasoner (loose reasoner), Alyssa P. Hacker (a lisp hacker), Cy D. Fect (C defect, un "programmatore C riformato") e Lem E. Tweakit (let me tweak it).

Impiego

Il libro è stato impiegato al MIT come testo per il corso di introduzione alla programmazione (6.001).[4] Tale corso è stato successivamente rimpiazzato da un nuovo corso (6.0001),[5] che impiega Python come linguaggio di programmazione.[6] Il testo è stato impiegato come testo anche in altre università[7] ed è usato al MIT nel corso Large Scale Symbolic Systems (6.945).[8]

Molti corsi introduttivi in precedenza si concentravano tipicamente sui dettagli di qualche linguaggio di programmazione, mentre SICP cerca di trattare pattern generici per problemi specifici e di costruire strumenti software che li implementino.[9]

Note

  1. ^ The New Hacker's Dictionary, 1993..
  2. ^ Grok code. URL consultato il 23 ottobre 2010.
  3. ^ SICP, MIT press..
  4. ^ Electrical Engineering and Computer Science | 6.001 Structure and Interpretation of Computer Programs, in OpenCourseWare, MIT, Spring 2005. URL consultato il 28 giugno 2011.
  5. ^ Catalog, MIT..
  6. ^ Donald Guy, MIT Admissions. URL consultato il 5 agosto 2008..
  7. ^ Edward C Martin, Schools, su schemers.com, Schemers, 20 luglio 2009. URL consultato il 28 giugno 2011.
  8. ^ http://eduapps.mit.edu/textbook/books.html?Term=2016SP&Subject=6.945
  9. ^ B Harvey, The 150th anniversary of MIT, Boston Globe, 2011..

Bibliografia

Collegamenti esterni

  • MIT Press, MIT Press. (including the full text in HTML).
  • SICP Lectures, MIT, July 1986..
  • SICP, MIT, Spring 2007. (an MIT course that goes by the same name as the book).
  • Open Courseware - SICP, MIT, Spring 2005..
  • SICP, MIT AI Laboratory, Technical Report 735, draft 1983-07-31
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica