Potrebbe trascorrere del tempo con Programmers.SE o Stack Overflow come sostituto di buoni libri di programmazione per un non principiante? [chiuso]

44

Il tempo speso (e la partecipazione attiva) su Programmers.SE e Stack Overflow mi aiutano a migliorare le mie capacità di programmazione a qualsiasi distanza dal tempo trascorso a leggere un libro come Code Complete 2 (che altrimenti sarebbe successivo nella mia lista di lettura) aiuto.

Ok, potrebbe essere la risposta a questa domanda per qualcuno che sta iniziando con la programmazione potrebbe essere un no, ma vorrei aggiungere che questa domanda che sto chiedendo nel contesto quando la persona ha familiarità con i linguaggi di programmazione ma vuole migliorare le sue capacità di programmazione. Stavo leggendo questa domanda su COSÌ e anche questo libro è stato raccomandato da molti altri (tra cui Jeff e Joel ).

Per essere più precisi, aggiungerei anche che sto programmando in C, Java, Python, ecc. ma ancora non sono soddisfatto delle mie capacità di codifica e della lettura della recensione di CC2 ho capito che ho ancora bisogno di migliorare molto.

Quindi, in sostanza, voglio sapere qual è il modo migliore per migliorare le capacità di programmazione: dedicare più tempo qui / SO o continuare con CC2 e potrebbe venire qui come e quando il tempo lo consente.

    
posta Atul Goyal 10.09.2011 - 18:31
fonte

9 risposte

102

No, non è un sostituto, ma un complemento perfetto . Sento che una combinazione dei due ha molto potere.

Perché una buona lezione ti insegna più della semplice lettura di un libro? Interazione e capacità di fare domande.

Leggendo un libro, potrebbero comparire alcune domande a cui non è possibile trovare alcuna risposta. Cerca qui le domande o chiedi loro se non sono state discusse prima.

    
risposta data 10.09.2011 - 18:50
fonte
12

Sono (attualmente) membro di StackOverflow da 1 anno e 10 mesi. Durante questo periodo sono diventato uno studente disciplinato dell'arte: conoscitore di architettura, modelli, disaccoppiamento, unit test e la lista potrebbe continuare ... ma, che ruolo ha avuto SO ?? ?

In primo luogo, ha risposto alle mie domande immediate. Ma quando ho iniziato a esplorare SO, ho scoperto che ero un pessimo programmatore. Desideroso di essere un artigiano nel mio mestiere, ho comprato libri ... ma non era C # Unleashed, Learn C # Programming, o altro sub-standard testo principiante di cui avevo bisogno. Ho comprato il giusto tipo di libri che le aree di competenza mirate che ho scoperto erano carenti. Certo, mi sono preso il tempo per vedere cosa consigliavano gli esperti di SO.

In secondo luogo, SO mi ha dato un posto dove continuare ad imparare da coloro che (rappresentati dalla reputazione) sanno davvero cosa stanno facendo, sintatticamente e filosoficamente. C'è una certa quantità di informazioni da acquisire su SO, CodeReview e Programmers che non puoi ottenere da un libro.

Ovviamente, SO non può sostituire libri o tutte le altre risorse web (anche se potrei combinare MSDN e SO in un'unica risorsa di contenuto ...); invece, SO integra queste altre risorse. Il miglior insegnante, tuttavia, rimane esperienza .

    
risposta data 10.09.2011 - 19:39
fonte
11

What's the best way for me to improve programming skills?

Programmazione di più. La lettura di libri e pagine web è secondaria.

Impari meglio facendo.

    
risposta data 10.09.2011 - 21:11
fonte
5

L'apprendimento richiede alcuni ingredienti:

  1. Studente (che ovviamente è tu)
  2. Tempo (che dovresti gestire e dedicare)
  3. Risorse (da cui i siti SE sono solo una piccola parte)

Sei un buon discente? Trascorri abbastanza tempo nell'apprendimento? Se la risposta di queste 2 domande è si , allora hai già abbastanza potenziale per imparare quasi da qualsiasi risorsa.

Ma per rispondere alla tua domanda, sì, personalmente ho imparato molto dai siti di SE. IMHO, non dovrebbero diventare la tua fonte di apprendimento solo , ma sono utili.

    
risposta data 10.09.2011 - 18:51
fonte
5

Due cose che SO e P.SE offrono che né la lettura di altri libri né il codice di scrittura offrono: test e insegnamento. Se solo chiedi ciecamente domande come

Why doesn't this compile

wall
of
code
100
lines
long

E qualcuno dice "sulla linea 33 quella virgola dovrebbe essere un punto e virgola" e tu accetti la risposta e vai avanti e continua a porre le stesse domande per sempre, quindi potresti non migliorare.

MA, se stai leggendo le domande di altre persone, pensa alla risposta, osservando per vedere quali risposte arrivano e come si confrontano con ciò che sai, ciò ti migliorerà davvero. Se digiti del codice nel tuo editor preferito e provi alcune cose per vedere quale sia la risposta, questo ti migliorerà davvero. E quando inizi a cercare di spiegare concetti (e le persone stanno aspettando lì per "chiarire" quello che dici) che ti migliorerà anche.

Da circa 30 anni ho scoperto che non ho mai imparato un argomento così bene come quando, credendo di saperlo, ho deciso di insegnarlo. Per me questo è il contributo principale dei siti * .se alle mie capacità di sviluppatore. Inoltre, quando voglio solo sapere un fatto semplice, è il mio posto numero uno da cercare (o occasionalmente chiedere).

    
risposta data 11.09.2011 - 16:22
fonte
3

Le tue capacità di programmazione sono migliorate al meglio non leggendo siti web o libri, ma ripetendo

  1. scrivi il codice in base alle conoscenze attuali
  2. valuta il risultato
  3. impara dalla valutazione su cosa fare e cosa non fare.
  4. vai a 1

La pratica rende perfetti. Ciò che sembra bello in un blog o in un libro può rivelarsi ingombrante da usare per qualche motivo non compreso dallo scrittore del blog o che l'autore del libro non copriva.

    
risposta data 10.09.2011 - 18:46
fonte
2

Come hai risposto tu stesso, no, ma passare il tempo qui è un utile complemento all'apprendimento più strutturato. Non dipenderei da esso come se esistessero lacune in alcuni concetti che potrebbero non essere coperti. Una delle tue migliori scommesse per migliorare la tua codifica per ragazzi a livello intermedio sta leggendo il codice di altri buoni sviluppatori spendendo tempo su GitHub o altri repository open source.

    
risposta data 10.09.2011 - 18:42
fonte
1

Il pensiero critico e l'analisi sono ancora richiesti

In sé e per sé no. L'unico modo per rendere la fonte di apprendimento (libro, blog, sito Web, SO, ecc.) È la comprensione, l'analisi e l'incorporazione ripetuta. Quello che le persone scrivono su forum come questo non è gospel e non dovrebbe essere trattato come tale, non importa quanti voti ha. Devi fare la tua analisi sull'opinione resa per capire se è:

  1. Una buona idea
  2. Un'idea applicabile alla tua situazione

Il modo migliore per migliorare

Spesso è specifico per la persona. Alcune persone migliorano attraverso la lettura e la ricerca. Alcune persone migliorano attraverso il gioco e la sperimentazione. Altri possono persino migliorare attraverso l'auto riflessione e l'analisi. Prova qualsiasi cosa ti piace e vedi se funziona meglio per te.

    
risposta data 11.09.2011 - 05:49
fonte
0

L'apprendimento di java è diventato molto più facile quando ho scoperto lo stackoverflow. Non ho fatto domande, ma ho iniziato a leggere le domande di Java ogni giorno. Molte delle domande erano fuori dalla mia comprensione, ma ogni tanto qualcuno chiedeva la domanda per principianti. Molte persone chiedono dei concetti che leggono da un libro ma non capiscono e trovano qui una risposta molto più comprensibile, spesso con un piccolo codice di esempio per spiegare ulteriormente il problema.

    
risposta data 11.09.2011 - 11:53
fonte

Leggi altre domande sui tag