2010-08-04 9 views
5

So che questo è piuttosto soggettivo, ma è qualcosa con cui ho faticato parecchio. Sono persino stato riluttante a cercare di imparare una nuova lingua per la ragione che esporrò di seguito. Se questo si chiude, immagino che mi limiterò a sorridere e sopportarlo, ma è una cosa che vorrei affrontare.Qual è il modo migliore per un programmatore di avvicinarsi all'apprendimento di una nuova lingua?

Quando vado a imparare una nuova lingua, sembra che la maggior parte delle risorse didattiche siano indirizzate al nuovo programmatore. Finisco quindi a leggere il tutorial "verbose" o qualcosa del genere e mi annoio. Tendo a sentirmi sprecato un sacco di tempo con il modo in cui funziona una variabile, come funzionano i tipi di dati e altre cose di base. Queste sono tutte cose importanti ma posso gestire la terminologia tecnica e non ho bisogno di cose suddivise per me come farebbe un principiante.

Mi sento anche se mi tuffo in un progetto, imparerò le cattive abitudini e non otterrò tutti i benefici dall'apprendimento di una nuova lingua. Continuerò a fare cose usando i paradigmi che già conosco e hackerandoli a lavorare sulla nuova lingua.

Quindi, la mia domanda è: qual è la strategia che hai trovato più utile per ottenere il massimo da una nuova lingua? Quali sono alcuni suggerimenti che hai imparato?

+2

Vedere le domande "correlate" a destra? Leggi alcuni di loro. –

risposta

3

Codice di scrittura. Otterrai di più da un libro se hai anche un minimo di esperienza nell'uso della lingua.

È possibile iniziare il porting del codice da un'altra lingua in modo da focalizzarsi sulla sintassi della nuova lingua piuttosto che sugli algoritmi. La tua prima porta sarà probabilmente troppo diretta, ma va bene. Poi dopo aver imparato di più sulla tua nuova lingua, torna indietro e porta di nuovo il codice, questa volta usando gli idiomi della nuova lingua.

0

Implementare le librerie standard del linguaggio. Sono quasi sempre scritti in quella che è considerata la migliore pratica per quel linguaggio, e ti aggiorneranno rapidamente in ciò che è buono e nelle funzionalità avanzate di quella lingua.

+2

Un'implementazione della libreria standard di spedizione può avere obiettivi diversi rispetto al codice dell'applicazione per principianti - ad esempio, le prestazioni possono essere valutate in termini di leggibilità e comprensibilità. Inoltre, la libreria standard della lingua potrebbe essere troppo grande per una persona da implementare completamente in un periodo ragionevole per l'apprendimento. –

2

Per linguaggi semplici, eseguo un tutorial generale, quindi inizio a scrivere alcune app con esso. Se sento che ho bisogno di usare una libreria o una tecnica specifica, faccio un tutorial per quel codice allora. Imparo di più risolvendo praticamente i problemi. L'ho fatto con rubino.

Con un linguaggio più difficile, potrei acquistare un libro e passare 6 mesi a leggerlo, leggere la mailing list ecc. E dopo probabilmente provare e mantenere un software open source in quella lingua prima di avviare un'app da zero . Questo è quello che sto facendo con Haskell.

+0

Ecco un buon esempio di tutorial per framework PHP. Anche se fastidioso da attraversare, ha aiutato a capire i pezzi della struttura. http://www.symfony-project.org/jobeet/1_4/Doctrine/en/ ** So che la domanda riguarda le lingue, ma i framework di apprendimento non sono molto diversi –

3

Esiste un tutorial per Python chiamato Dive into Python che risolve esattamente il problema che descrivi - spiegando la sintassi specifica di Python per le persone che conoscono già le basi della programmazione e dell'immersione direttamente nel codice piuttosto che avere lunghe introduzioni.

Si dovrebbe cercare un libro simile per la lingua che si sta cercando di imparare.

+0

Ho letto e apprezzato molto. – Icode4food

1

Ho letto le specifiche della lingua. C'è tutto ciò che ho bisogno di sapere e niente di superfluo. Dopo di ciò prendo un programma di esempio e comincio a modificarlo ed estenderlo fino a quando non inizi a familiarizzare con la nuova lingua. Quindi inizio a scrivere i miei programmi con esso.

1

Ascolta questo podcast:
http://www.se-radio.net/2009/11/episode-148-software-archaeology-with-dave-thomas/

Dave Thomas parla di lettura dei codici e l'archeologia.Ad esempio, prende gli sviluppatori di Ruby attraverso il compilatore Ruby, leggendo il codice sorgente, apprende molti dettagli significativi sulla lingua.

Questo potrebbe non essere il tuo primo passo, ma dovrebbe essere diverso dal tuo approccio generale all'apprendimento.

Problemi correlati