Nejlepší odpověď
Určitě použít SICP, pokud jste na tuto výzvu. SICP můžete stat, když nevíte vůbec nic o programování, protože vychází z prvních principů, vyžaduje však nějakou matematiku, ne hodně, ale některé. Autoři mají nádherně jasný jazyk pro popis konceptů a myšlenek.
Vybral jsem si SICP, když jsem už byl na univerzitě, a zjistil jsem, že je to stále ještě velmi osvícení. Dokonce bych mohl říci, že toto je ta kniha, která mě naučila nejvíce ze všech knih, které jsem četl, i když jsem ji ještě nedokončil. Doporučuji nastavení cvičení SICP získat například pomocí jazyka SICP Racket.
Odpověď
Ano, absolutně, rozhodně ano.
SICP není knihou o počítačovém programování, ani knihou o softwarovém inženýrství, OOP ani žádném z jiných gizmosů a doodadů. SICP je o počítačové vědě: chápání počítače jako abstraktního stroje používaného k manipulaci s informacemi.
V první kapitole jste představili Scheme, jazyk vytvořený jedním z autorů. Ukázali jste, jak tok řízení je upravován a řízen ve velkém programu výpočtem v lexikálně obsaženém prostředí AKA podprogramu. Kniha vás provede oběma hlavními způsoby, jak lze podprogramy implementovat, a vysvětlí nedostatky a užitečnost obou.
V kapitole dvě se dozvíte o strukturování dat a vytváření nových významů pro nezpracovaná data z pre- existující datové typy. Ukázali jste sílu symbolické manipulace na různých místech, jako jsou systémy počítačové algebry a Huffmanovy kódovací stromy.
Třetí kapitola je nejzásadnější ze všech kapitol. Ve třetí kapitole se dozvíte o přiřazení a síle mutující proměnné. Předchozí modely výpočtu diskutované v knize jsou nyní radikálně rozšířeny, aby vyhovovaly schopnosti jazyka udržovat a ovlivňovat stav.
Ve čtvrté kapitole jste představeni jednomu z nejskvělejších myšlenky v historii počítačové vědy: makro LISP a homoikonicita programů Scheme. Na rozdíl od substitučních maker C umožňují makra LISP manipulovat se základní strukturou abstraktního stromu syntaxe programu za běhu a umožňují implementovat nová programovací paradigmata do LISP.
Poslední kapitola zcela odlišný přístup a považuje počítač za registrační stroj. „Ukázali jste, jak se kompilátor LISP neliší od žádného z programů schématu, které jste viděli, a pak se zmiňoval pojem univerzálnosti. Nakonec jste prošli vytvořením skutečného kompilátoru LISP.
Tato kniha byla úžasná; změnila mé myšlení z počítačové vědy znamená říci počítači, jak tisknout čísla na obrazovce, počítačové vědy znamená porozumět obchodu odrůdy různých abstrakcí a jak je správně používat.
tl; dr Absolutně si přečtěte tuto knihu. Pokud se vám nelíbí, pravděpodobně jste vyhráli “ Užijte si CS.