La lettura della specifica è sufficiente? [chiuso]

4

Questa domanda è incentrata su Scheme ma potrebbe davvero essere applicata a qualsiasi LISP o al linguaggio di programmazione in generale.

Sfondo

Quindi recentemente ho ripreso Scheme dopo averlo giocato una o due volte prima. Al fine di consolidare la mia comprensione della lingua, ho trovato il Rapporto ^ 5 rivisto sullo schema linguistico algoritmico e ho letto tutto ciò insieme alle estensioni / implementazioni elencate del mio compilatore / interprete (schema di pollo).

Inoltre, per vederlo applicato, ho cercato attivamente il codice dello schema nei progetti open source e ho cercato di leggerlo e comprenderlo.

Questo è stato finora sufficiente per capire la sintassi di Scheme e ho completato quasi tutti i problemi del Novantanove Schema (vedi here ) e un numero decente di problemi di Project Euler.

Domanda

Anche se finora questo non è stato un problema e le mie soluzioni corrispondono a quelle fornite, mi sto perdendo una grande parte di Scheme?

O per esprimere la mia domanda più in generale, legge le specifiche di una lingua insieme a un codice ben scritto in quel linguaggio sufficiente per imparare da? Oppure sono altre risorse, libri, conferenze, video, blog, ecc. Necessari anche per il processo di apprendimento.

    
posta jozefg 14.10.2012 - 21:15
fonte

3 risposte

8

Generalmente, le specifiche del linguaggio di programmazione non sono tutorial molto validi. Sono formulati in modo da essere prescrittivi piuttosto che descrittivi, sebbene ritenga che le specifiche migliori identifichino requisiti separati e separabili in affermazioni semplici e disgiunte che siano piuttosto facili da valutare e ulteriormente documentate con una descrizione e un esempio.

Bjarne Stroustrup pesa proprio su questa domanda sui recenti standard C ++ funziona nel suo C +++ Domande frequenti .

Be warned that the standard is not a tutorial; even expert programmers will do better learning about C++ and new C++ features from a textbook.

    
risposta data 15.10.2012 - 11:17
fonte
2

Ecco come imparo il linguaggio di programmazione in generale:

Per prima cosa controllo un libro tutorial NON scritto dall'autore della lingua. Questo ti dà la visione della programmazione della lingua da una prospettiva della persona che non ha implementato la lingua. (Questo è importante in quanto NON hai ancora creato il linguaggio di programmazione in questione).

ALLORA raccolgo un libro scritto dall'autore del linguaggio di programmazione. Per SCHEME suggerirei "SICP". Questo ti dà una visione molto più profonda del linguaggio di programmazione e PERCHÉ è stato scritto e i problemi che è stato usato per risolvere dall'autore del linguaggio di programmazione.

Poi ho letto il codice e le specifiche, che è un rapporto molto più dettagliato sul linguaggio di programmazione in questione. I suoi STANDARD e COSTRUISCE. Questo dovrebbe essere sempre l'ultimo passo per imparare dalla teoria.

Nel frattempo - programma e gioco con il linguaggio finché non mi sento a mio agio con esso. Nel momento in cui raggiungi la terza fase nella sezione "THEORY", sarai abbastanza comodo da programmare un programma decentemente complesso utilizzando il linguaggio di programmazione.

In breve, per padroneggiare veramente la lingua, non ci sono scorciatoie.

    
risposta data 14.10.2012 - 21:36
fonte
2

Leggendo un libro sulla grammatica inglese, tutto ciò che c'è da sapere sull'uso dell'inglese? Ovviamente no. Potrebbe insegnarti abbastanza per cavartela, ma avrai un apprezzamento più profondo se leggi qualche Shakespeare, ecc.

Se puoi capire abbastanza su Scheme (o qualsiasi altra lingua) dalla lettura delle specifiche, bene! Potrebbe essere tutto ciò che devi sapere. Se sei davvero interessato alla lingua, probabilmente vorrai saperne di più, vedere come le altre persone lo usano e goderti il processo di scoprire di più. Le specifiche ti dicono quale sia la lingua e come funziona, l'esperienza (tua e altrui) informa ciò che decidi di scrivere e come decidi di scriverlo.

    
risposta data 15.10.2012 - 08:21
fonte

Leggi altre domande sui tag