Prima di tutto, gli algoritmi di apprendimento sono ortogonali all'apprendimento di un particolare linguaggio di programmazione e il tempo trascorso sugli algoritmi non viene mai sprecato - in breve, una migliore conoscenza di tutti i tipi di algoritmi ti rende un programmatore migliore, periodo.
A parte questo, sembra che tu stia combattendo con due problemi indipendenti: apprendimento Python e apprendimento programmazione . In che modo ti avvicini all'apprendimento, entrambi dipendono molto da dove ti trovi, e cosa fa e cosa non funziona per te.
Detto questo, ho trovato che il seguente approccio funziona bene quando si apprende una nuova tecnologia:
- Fai un po 'di lettura preliminare: la pagina di Wikipedia, la homepage del progetto, la documentazione ufficiale; avere un'idea di cosa si tratta e di come la comunità fa tic tac.
- Installa la toolchain, trova un buon tutorial introduttivo che corrisponde al tuo stile e gioca con esso. Crea alcuni programmi super-minuscoli, qualcosa che è una specie di utile, ma soprattutto, qualcosa che puoi concludere in circa un'ora o giù di lì. Assicurati inoltre di avere a disposizione una guida di riferimento autorevole completa.
- Una volta che hai appreso le nozioni di base sulla lingua, dovresti avere un'idea approssimativa di ciò che la lingua è buona e cosa no. Scegli un progetto per il quale la lingua è molto adatta e inizia a lavorarci. Entra in contatto con la community: ti forniranno preziose informazioni e suggerimenti.
- Elimina il tuo primo progetto e inizia da zero. Veramente. Il primo progetto che costruisci in qualsiasi lingua di solito è una schifezza; va bene, l'hai fatto per l'esperienza di apprendimento, e la metà si sbaglia. Questo è il motivo per cui lo fai di nuovo, ma questa volta lo fai meglio e più in linea con le convenzioni, gli standard e le idiosincrasie accettati dalla lingua.
- Pratica, pratica, pratica. Resta in contatto con la comunità. Sperimentare. Leggi il codice di altre persone. Invita altri a leggere il tuo codice. Tieni d'occhio i nuovi sviluppi. E soprattutto, divertiti.
Proprio come con le lingue naturali, la mia esperienza è che niente batte l'esposizione reale sul mondo reale. Non lo imparerai mai se non lo usi molto.