Structure and Interpretation of Computer Programs (tsz. Structure and Interpretation of Computer Programses)
Szerzők: Harold Abelson, Gerald Jay Sussman, Julie Sussman Megjelenés: 1985 Kiadó: MIT Press Nyelv: Scheme (Lisp-alapú funkcionális nyelv)
A Structure and Interpretation of Computer Programs, röviden SICP, a számítástudomány egyik legnagyobb hatású könyve, és évtizedekig volt a MIT bevezető programozási kurzusának (6.001) hivatalos tankönyve.
Ez a könyv nem csupán programozni tanít, hanem megtanít gondolkodni programozóként.
Megérteni a programozás elvi alapjait – nem csak egy adott nyelvet, hanem a programszervezés elveit, modelljeit, eszközeit.
👉 A függvények nemcsak eszközök, hanem építőelemek is.
👉 „Data as procedures” – a híres trükk, ahol adat viselkedésként is ábrázolható.
set!
) és memóriamodell👉 Hogyan kezeled az időt, állapotot és változást?
👉 Nemcsak kódot írsz, hanem saját nyelvet is.
👉 A magas szintű programozási fogalmak alacsony szinten is modellezhetők.
Fogalom | Miért jelentős? |
---|---|
Higher-order functions | Funkcionális gondolkodás alapja |
Lexical closures | Modern nyelvek alapmechanizmusa |
Streams | Végtelen sorozatok lusta kiértékeléssel |
Eval / interpreter | Nyelvek megértése belülről |
Object without classes | Objektum-szerű működés OOP nélkül |
(define (factorial n)
(if (= n 0)
1
(* n (factorial (- n 1)))))
És egy higher-order function példa:
(define (compose f g)
(lambda (x) (f (g x))))
Kritika | Válasz |
---|---|
Nehéz, különösen kezdőknek | Igaz. Nem tutorial – elméleti alapmű |
Scheme nem gyakorlati nyelv | A cél nem a nyelv, hanem a gondolkodásmód |
Túl elvont, kevés valós példa | A hangsúly az elv és nem az API-kon van |
Ha… | Akkor… |
---|---|
Meg akarod érteni, hogyan működik a programozás | Olvasd el |
Szeretnél funkcionális paradigmát tanulni | Olvasd el |
Érdekel a nyelvtervezés, interpreterek | Alapmű |
Szeretnél magas szintű gondolkodást tanulni | Ez a könyv megtanít rá |