Beste antwoord
Zeker gebruiken SICP, als u de uitdaging aankan. U kunt met SICP statistiek maken als u helemaal niets van programmeren af weet, omdat het begint bij de eerste principes, maar het vereist wel wat wiskunde, niet veel maar wat. De auteurs hebben een prachtig duidelijke taal voor het beschrijven van concepten en ideeën.
Ik heb SICP opgepikt toen ik al afgestudeerd was aan de universiteit en vond het nog steeds een geweldige verlichting. Ik zou zelfs kunnen zeggen dat dit het boek is dat me het meeste heeft geleerd van alle boeken die ik lees, hoewel ik het nog niet eens af heb. Ik raad aan om je SICP-oefeningen te laten instellen met bijvoorbeeld de SICP-taal van Racket.
Antwoord
Ja, absoluut, beslist ja.
SICP is geen boek over computerprogrammering, noch is het een boek over software-engineering, OOP of een van die andere gadgets en doodads. SICP gaat over informatica: de computer begrijpen als een abstracte machine die wordt gebruikt om informatie te manipuleren.
In hoofdstuk één “maak je kennis met Scheme, een taal gemaakt door een van de auteurs. Je krijgt te zien hoe de controlestroom wordt gewijzigd en beheerd in een groot programma door middel van berekeningen in een lexicaal ingesloten omgeving, AKA-subroutine. Het boek leidt u door de twee belangrijkste manieren waarop subroutines kunnen worden geïmplementeerd, en legt de tekortkomingen en het nut van beide uit.
In hoofdstuk twee leert u over het structureren van gegevens en het bouwen van nieuwe betekenissen voor onbewerkte gegevens uit pre- bestaande gegevenstypen. Je krijgt de kracht van symbolische manipulatie te zien op verschillende plaatsen, zoals computeralgebrasystemen en Huffman-coderingsbomen.
Hoofdstuk drie is het meest fundamentele van alle hoofdstukken. In hoofdstuk drie leer je over toewijzing en de kracht van muterende variabelen. De vorige berekeningsmodellen die in het boek zijn besproken, zijn nu radicaal uitgebreid om het vermogen van de taal om de staat te behouden en te beïnvloeden te ondersteunen.
In hoofdstuk vier maakt u kennis met een van de meest briljante ideeën in de geschiedenis van de informatica: de LISP-macro en de homoiconiciteit van schemaprogrammas. In tegenstelling tot de substitutiemacros van C, laten LISP-macros je toe om de basisstructuur van de abstracte syntaxisboom van het programma tijdens runtime te manipuleren, en kun je nieuwe programmeerparadigmas in LISP implementeren.
Het laatste hoofdstuk gaat over een heel andere benadering, en behandelt de computer als een registratiemachine. Je krijgt te zien hoe een LISP-compiler niet verschilt van alle Scheme-programmas die je hebt gezien, en dan wordt er gezinspeeld op het idee van universaliteit. Eindelijk ben je doorgelopen met het maken van een echte LISP-compiler.
Dit boek was geweldig; het veranderde mijn denken van informatica, wat betekent dat je een computer vertelt hoe je getallen op het scherm kunt afdrukken, en informatica betekent dat je het vak begrijpt. offs van verschillende abstracties en hoe je ze op de juiste manier gebruikt.
tl; dr Lees dit boek absoluut. Als je het niet leuk vindt, heb je waarschijnlijk gewonnen ” t genieten van CS.