Cel mai bun răspuns
Folosește cu siguranță SICP, dacă sunteți la înălțimea provocării. Puteți stabili cu SICP atunci când nu știți deloc nimic despre programare, deoarece începe de la primele principii, cu toate acestea, necesită o anumită matematică, nu mult, ci unele. Autorii au un limbaj frumos clar pentru a descrie concepte și idei.
Am luat SICP când eram deja în afara universității și am găsit că este încă o iluminare excelentă. Aș putea chiar spune că aceasta este cartea care m-a învățat cel mai mult din toate cărțile pe care le-am citit, deși nici măcar nu am terminat-o încă. Vă recomandăm să vă configurați exercițiile SICP folosind, de exemplu, limbajul SICP al rachetei.
Răspuns
Da, absolut, hotărât da.
SICP nu este o carte despre programarea computerelor și nici o carte despre ingineria software, OOP sau oricare dintre acele alte dispozitive și dispozitive. SICP este despre informatică: înțelegerea computerului ca o mașină abstractă utilizată pentru manipularea informațiilor.
În capitolul unu, sunteți introdus în Scheme, un limbaj creat de unul dintre autori. Vi se arată cum fluxul de control este modificat și gestionat într-un program mare prin intermediul calculului într-un mediu conținut lexical subrutină AKA. Cartea vă ghidează prin ambele moduri principale de implementare a subrutinelor și explică deficiențele și utilitatea ambelor.
În capitolul doi, veți afla despre structurarea datelor și construirea de noi semnificații pentru datele brute din pre- tipurile de date existente. Vi se arată puterea manipulării simbolice în diferite locuri, cum ar fi sistemele de algebră computerizată și copacii de codificare Huffman.
Capitolul trei este cel mai fundamental dintre toate capitolele. În capitolul trei, aflați despre atribuire și puterea variabile mutante. Modelele anterioare de calcul discutate în carte sunt acum extinse radical pentru a adapta capacitatea limbajului de a menține și de a afecta starea.
În capitolul patru, sunteți prezentat la unul dintre cele mai strălucite idei în istoria informaticii: macro LISP și homoiconicitatea programelor Scheme. Spre deosebire de macro-urile de substituție ale lui C, macro-urile LISP vă permit să manipulați structura de bază a arborelui abstract al sintaxei programului în timpul rulării și vă permit să implementați noi paradigme de programare în LISP.
o abordare complet diferită și tratează computerul ca o mașină de înregistrare. Vi s-a arătat cum un compilator LISP nu diferă de niciunul dintre programele Scheme pe care le-ați văzut și apoi noțiunea de universalitate la care a făcut referire. În cele din urmă, ați trecut prin crearea unui adevărat compilator LISP.
Această carte a fost uimitoare; mi-a schimbat gândirea din informatică înseamnă a spune unui computer cum să tipărească numere pe ecran în informatică înseamnă a înțelege meseria diferitele abstracții și cum să le utilizați în mod corespunzător.
tl; dr Citiți absolut această carte. Dacă nu vă place, probabil că ați câștigat ” nu vă bucurați de CS.