Apprendimento di più lingue contemporaneamente [chiuso]

35

Quando impari nuove lingue, è meglio impegnarsi in una lingua al 100% e aspettare fino a quando non l'hai "padroneggiato" per passare a un'altra o lavorare sull'apprendimento di lingue diverse contemporaneamente?

Se è importante, sto attualmente imparando C ++ e mi piacerebbe conoscere anche Java e Python.

    
posta Maxpm 04.02.2011 - 16:22
fonte

8 risposte

31

Non solo non vedo un problema con l'apprendimento di più lingue contemporaneamente, penso che possa avvantaggiarti direttamente in quanto qualcosa in una lingua può chiarire un'area problematica che potresti avere in un'altra lingua. Ad esempio, la mia lingua principale è C # e quando si ha a che fare con LINQ ho usato il formato SQL (che va bene, non lo batto affatto, ma non mi è sembrato il modo "cool" di farlo). Sono stato lontano da Lambdas perché, ad essere onesti, non li capivo e la documentazione C # che ho visto non forniva una definizione chiara (per me). Poi ho iniziato a prendere alcuni libri su F # e ho iniziato a impararlo, il che mi ha dato il momento "ah ah!" Di capire come sono Lambdas.

Ho scoperto che come ho sperimentato sempre di più con altri linguaggi (e framework) sono diventato migliore in C # (e ASP.Net). Ecco perché credo che l'apprendimento di più lingue contemporaneamente non sia affatto un male!

    
risposta data 04.02.2011 - 18:09
fonte
48

Se è la tua prima lingua, penso che sarebbe meglio impararla abbastanza bene da capire come funziona un linguaggio di programmazione.

Una volta che hai buone basi, puoi sceglierne quante ne vuoi.

    
risposta data 04.02.2011 - 18:14
fonte
12

Penso che un'abilità importante per i programmatori sia la capacità di apprendere nuovi linguaggi di programmazione. In quanto tale, tenderei a suggerire di provare prima ad imparare una singola lingua e poi ad aggiungerne altre.

Qualunque sia la tua lingua madre, il processo di apprendimento di altre lingue dovrebbe:

  • Trova un buon riferimento di sintassi per la nuova lingua
  • Identifica i punti di forza della nuova lingua, non limitarti a codificare nella nuova lingua come se fosse già conosciuta (programmazione con accento)
  • Esplora le aree della nuova lingua che non si associano alle lingue precedenti che hai utilizzato prima
  • Trova esempi di codice e senza esaminarli prova a codificare la stessa cosa da zero e scopri come la tua implementazione differisce dall'esempio

Nel tempo accumulando le lingue formerai il tuo linguaggio pseudocodice astratto interno che ti aiuterà a tradurre tra le lingue che conosci. Questa lingua interna è la struttura che utilizzerai per imparare rapidamente nuove lingue.

    
risposta data 04.02.2011 - 18:42
fonte
8

Imparare le lingue in parallelo è una cosa abbastanza normale. Ad esempio la programmazione web. Hai a che fare con almeno tre lingue: lato server (php, java, .net, ruby, python ...), codice client (java script e html), database (sql).

    
risposta data 04.02.2011 - 17:59
fonte
7

Non vedo problemi nell'apprendimento di più lingue alla volta. In effetti, non hai mai veramente padronanza di una lingua, quindi davvero, ogni volta che lavori con più di una lingua, probabilmente stai imparando entrambe.

Potresti voler concentrarti su una lingua per superare le nozioni di base solo per evitare di confondere le due lingue. Questo è particolarmente vero se stai imparando lingue simili, come Java e C #.

    
risposta data 04.02.2011 - 16:36
fonte
5

Penso che l'apprendimento di più lingue alla volta sia effettivamente meglio che impararne uno alla volta, perché se le lingue sono sufficientemente diverse, ciascuna ti dà una pausa dall'altro. Cerca di scaglionarli in modo da avviarne uno nuovo dopo aver superato la fase "inesperti" della precedente; in questo modo avrai maggiori possibilità di conservare non solo ciò che hai imparato sulla lingua, ma come hai imparato una nuova lingua. (L'abilità di apprendimento linguistico generalizzato è qualcosa che ti sarà molto grato per la programmazione successiva della vita.)

Detto questo, imparare la tua prima lingua richiede un enorme investimento di tempo ed energia, e potresti semplicemente non avere il tempo di affrontare un altro grande progetto durante questo processo. Se stai pensando di iniziare un'altra lingua perché sei stanco di C ++ - non farlo! Ti incoraggerà a procrastinare. Se stai pensando di iniziare un'altra lingua perché continui a vedere menzioni di progetti scritti in (per esempio) Java e sei frustrato che non puoi facilmente leggere e analizzare il codice - fai! Questa è un'ottima ragione per imparare un'altra lingua in qualsiasi momento.

    
risposta data 21.02.2011 - 07:04
fonte
4

Ho insegnato programmazione per diversi anni, quindi posso condividere la mia esperienza con te. Presumo che C # sia la tua prima lingua, quindi la mia esperienza di insegnamento della programmazione a persone che non avevano mai programmato prima potrebbe essere utile.

Prima di tutto, lascia che ti dica che imparare più di una lingua è qualcosa che ogni programmatore esperto dovrebbe fare. Ma questo non significa che dovresti imparare più lingue contemporaneamente se stai iniziando.

Nel corso degli anni, gli studenti hanno dimostrato che ci vuole circa un anno perché una lingua si solidifichi nella mente (almeno la prima), a volte un po 'di più, a volte un po' meno. Se cerchi di insegnare a più di una lingua in un anno, gli studenti tendono a mescolarli e confondere concetti e linguaggi. Anche se gli studenti fanno progressi, entrano in molte cattive abitudini che è difficile estirpare in seguito. Se stai imparando da solo, questo rischio è più alto.

Tuttavia, ho notato che è d'aiuto se si insegnano due lingue con una sintassi molto diversa. Quando due linguaggi di programmazione sembrano molto diversi, aiuta la mente a vederli come entità veramente diverse senza inquinarsi a vicenda. (Quando un linguaggio di programmazione ti aiuta a capire concetti difficili in un'altra lingua, questo è positivo, quando una lingua ti fa scrivere codice cattivo in un'altra lingua, è male).

Pertanto, la mia raccomandazione sarebbe quella di attenersi a un linguaggio di programmazione per il primo anno. In alternativa, può essere una buona idea imparare due lingue contemporaneamente purché siano / sembrano molto diverse. Se la tua lingua madre è C #, starei certo lontano da C, C ++, Objective C e Java; e probabilmente Python, Ruby e Javascript. Raccomanderei di combinare C # con un linguaggio funzionale come Haskell, Scheme, F #, Erlang, Clojure o forse Scala.

    
risposta data 25.07.2013 - 23:52
fonte
2

Ho scoperto che l'apprendimento simultaneo di più lingue può portare ovviamente ad impiegare più tempo per imparare una lingua specifica (è ovvio che sia davvero). Tuttavia, nel mio caso mi ha permesso di decidere quali lingue preferisco e lo stile di codifica che mi piace di più.

Nel mio caso ho iniziato con C #, poi sono entrato in Python e F #. Mi è piaciuto molto lo stile funzionale di F # che mi ha portato a provare Scala e Clojure. Ora, grazie all'apprendimento di tutte queste lingue, ho trovato che Scala è adatto a quello che faccio. Inoltre ora sono molto fiducioso in OOP e negli stili funzionali e posso leggere e scrivere diverse lingue in modo competente. È una grande abilità da avere.

    
risposta data 26.07.2013 - 11:29
fonte

Leggi altre domande sui tag