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

modifica

Il libro usa come linguaggio di programmazione scheme, un dialetto del lisp, e presenta molti concetti fondamentali della programmazione. Nei capitoli avanzati viene trattata anche l'implementazione 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 (side effect, un "programmatore C riformato") e Lem E. Tweakit (let me tweak it).

Impiego

modifica

Il libro è stato impiegato al MIT come testo per l'omonimo 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

modifica
  1. ^ Wizard Book, in The New Hacker's Dictionary, 2nd, 1993. URL consultato il 4 maggio 2019 (archiviato dall'url originale il 21 dicembre 2015).
  2. ^ The Top 912 Books in a Hacker's Bookshelf, in Grok code. URL consultato il 23 ottobre 2010.
  3. ^ SICP, MIT press. URL consultato il 4 maggio 2019 (archiviato dall'url originale il 21 dicembre 2015).
  4. ^ Electrical Engineering and Computer Science | 6.001 Structure and Interpretation of Computer Programs, su OpenCourseWare, MIT, Spring 2005. URL consultato il 28 giugno 2011 (archiviato dall'url originale il 28 novembre 2006).
  5. ^ 6.0001, in Catalog, MIT.
  6. ^ Donald Guy, The End of an Era, in MIT Admissions (blog comment). URL consultato il 5 agosto 2008 (archiviato dall'url originale il 24 giugno 2008).
    «I talked to Professor Sussman on the phone... He said that he'd actually been trying to have 6.001 replaced for the last ten years (and I read somewhere that Professor Abelson was behind the move too). Understanding the principles is not essential for an introduction to the subject matter anymore. He sees 6.001 as obsolete»
  7. ^ Edward C Martin, Schools, su schemers.com, Schemers, 20 luglio 2009. URL consultato il 28 giugno 2011 (archiviato dall'url originale il 30 marzo 2009).
  8. ^ eduapps.mit.edu, http://eduapps.mit.edu/textbook/books.html?Term=2016SP&Subject=6.945.
  9. ^ B Harvey, Why SICP matters?, in The 150th anniversary of MIT, Boston Globe, 2011.

Bibliografia

modifica

Collegamenti esterni

modifica
Controllo di autoritàVIAF (EN4605152503094110800000

📚 Artikel Terkait di Wikipedia

SICP

(Banca dati delle misure cautelari) Structure and Interpretation of Computer Programs – libro di testo in tema di informatica Società Italiana di Cure Palliative

Scheme

come le Lambda Papers e nel libro Structure and Interpretation of Computer Programs. Il desktop manager GNOME incorpora l'interprete Scheme Guile. A differenza

Peanuts

videogiochi: Peanuts, su MobyGames, Blue Flame Labs. ^ (EN) Peanuts Computer Programs, su collectpeanuts.com. ^ (EN) Random House, Inc., su gamebase64.com

Thread (informatica)

Britannica, Encyclopædia Britannica, Inc. (EN) Opere riguardanti Threads (Computer programs), su Open Library, Internet Archive. (EN) Denis Howe, thread, in Free

Pico (linguaggio)

ispirata dal testo di Abelson e Sussman "Structure and Interpretation of Computer Programs" e dall'insegnamento della programmazione alle scuole superiori e

Gerald Jay Sussman

testo introduttivo di informatica Structure and Interpretation of Computer Programs. È stato utilizzato al MIT per diversi decenni ed è stato tradotto

Hal Abelson

Interpretation of Computer Programs (chiamato dal numero del corso, 6.001), un argomento organizzato attorno all'idea che un il linguaggio del computer è principalmente

Programmazione genetica

Paradigm for Genetically Breeding Populations of Computer Programs to Solve Problems, Stanford University Computer Science Department technical report STAN-CS-90-1314