Dovrei iniziare a imparare a programmare con Python o SICP? Mi è stato detto che SICP sarà molto più difficile, ma che finirò per essere un programmatore molto migliore a lungo termine.


Migliore risposta

Sicuramente usa SICP, se sei allaltezza della sfida. Puoi stat con SICP quando non sai nulla di programmazione, perché parte da principi primi, tuttavia, richiede un po di matematica, non molto ma un po. Gli autori hanno un linguaggio meravigliosamente chiaro per descrivere concetti e idee.

Ho preso SICP quando ero già alluniversità e lho trovato ancora una grande illuminazione. Potrei anche dire che questo è il libro che mi ha insegnato di più tra tutti i libri che ho letto, anche se non lho ancora finito. Consiglio di impostare i tuoi esercizi SICP utilizzando ad esempio il linguaggio SICP di Racket.

Risposta

Sì, assolutamente, decisamente sì.

SICP non è un libro sulla programmazione di computer, né è un libro sullingegneria del software, OOP o uno qualsiasi di questi altri aggeggi e doodle. SICP riguarda linformatica: comprendere il computer come una macchina astratta usata per manipolare le informazioni.

Nel primo capitolo, hai “introdotto Scheme, un linguaggio creato da uno degli autori. Ti viene mostrato come il flusso di controllo viene modificato e gestito in un programma di grandi dimensioni attraverso il calcolo in una subroutine AKA di ambiente contenuto lessicale. Il libro ti guida attraverso entrambi i modi principali in cui le subroutine possono essere implementate e spiega le carenze e lutilità di entrambi.

Nel capitolo due, impari come strutturare i dati e costruire nuovi significati per i dati grezzi tipi di dati esistenti. Hai mostrato il potere della manipolazione simbolica in vari luoghi come i sistemi di algebra del computer e gli alberi di codifica di Huffman.

Il capitolo tre è il più fondamentale di tutti i capitoli. Nel capitolo tre, impari lassegnazione e il potere di variabili mutanti. I precedenti modelli di calcolo discussi nel libro sono ora radicalmente espansi per accogliere la capacità del linguaggio di mantenere e influenzare lo stato.

Nel capitolo quattro, sei stato introdotto a uno dei più brillanti idee nella storia dellinformatica: la macro LISP e lomoiconicità dei programmi Scheme. A differenza delle macro di sostituzione del C, le macro LISP consentono di manipolare la struttura di base dellalbero astratto della sintassi del programma in fase di esecuzione e consentono di implementare nuovi paradigmi di programmazione in LISP.

Il capitolo finale prende un approccio completamente diverso e tratta il computer come una macchina di registrazione. Hai mostrato come un compilatore LISP non sia diverso da nessuno dei programmi Scheme che hai visto, e poi la nozione di universalità alludeva. Finalmente, hai iniziato a creare un vero compilatore LISP.

Questo libro è stato fantastico; ha cambiato il mio modo di pensare da informatica significa dire a un computer come stampare numeri sullo schermo allinformatica significa capire il mestiere off di varie astrazioni e come usarle correttamente.

tl; dr Leggi assolutamente questo libro. Se non ti piace, probabilmente hai vinto ” t godere di CS.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *