Apprendimento di più lingue contemporaneamente [chiuso]


35

Quando impari nuove lingue, è meglio impegnarti in una lingua al 100% e aspettare di averla "padroneggiata" per passare ad un'altra o lavorare sull'apprendimento di lingue diverse allo stesso tempo?

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


12
Spesso non esiste una fluidità del 100%. Né Jon Skeet né Eric Lippert conoscono il 100% di C #.
Giobbe


3
Non imparare le lingue, impara come usare una lingua per implementare un programma specifico. Cioè se sei un programmatore, non importa quale lingua usi, poiché puoi ottenere lo stesso risultato. Peggio ancora, non appena metti giù una lingua per "impararne" un'altra, inizierai comunque a dimenticare la precedente.

Finché impari davvero entrambe le lingue.
Tulains Córdova,

@Maxpm Puoi raccontare com'è stata la tua esperienza con l'apprendimento di più lingue contemporaneamente ...
Rahul Patil,

Risposte:


31

Non solo non vedo un problema con l'apprendimento di più lingue contemporaneamente, penso che possa trarne un vantaggio diretto in quanto qualcosa in una lingua può chiarire un'area problematica che potresti avere in un'altra lingua. Ad esempio, il mio linguaggio principale è C # e quando ho a che fare con LINQ ho usato il formato SQL (il che va bene, non lo sto affatto bussando, ma non mi è sembrato il “bel modo” per farlo). Sono stato lontano da Lambdas perché, a dire il vero, non li ho capiti e la documentazione C # che ho visto non ha fornito una definizione chiara (per me). Poi ho iniziato a raccogliere 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, avendo sperimentato sempre di più con altre lingue (e framework), sono diventato migliore in C # (e ASP.Net). Ecco perché credo che l'apprendimento di più lingue contemporaneamente non sia affatto una brutta cosa!


1
Sono totalmente d'accordo e ho anche iniziato con C #. Ci sono state molte cose che ho incontrato in quella lingua che dal punto di vista del mio principiante erano molto difficili da capire e se le avessi afferrate, capire a cosa servivano o perché erano usate era altrettanto difficile. Da allora ho imparato un paio di altre lingue e ha fatto la differenza nel mondo. Soprattutto perché ogni lingua è diversa, puoi imparare diversi aspetti della programmazione da ciascuna lingua.
fender1901,

49

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

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


2
+1 Penso che faccia una grande differenza se stai imparando le tue prime tre lingue rispetto alla tua quarta, quinta, sesta, ecc.
keithjgrant

12

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

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

  • Trova un buon riferimento alla sintassi per la nuova lingua
  • Identifica i punti di forza della nuova lingua, non limitarti a programmare nella nuova lingua come se fosse una lingua che già conosci (programmare con un accento)
  • Esplora le aree della nuova lingua che non corrispondono alle lingue precedenti che hai utilizzato in precedenza
  • Trova esempi di codice e, senza rivederli, prova a scrivere la stessa cosa da zero e vedi in che modo l'implementazione differiva dall'esempio

Con il passare del tempo, accumulando le lingue, formerai la tua lingua pseudocodica astratta interna che ti aiuterà a tradurre tra le lingue che conosci. Questa lingua interna è il framework che utilizzerai per apprendere rapidamente nuove lingue.


1
+1 per "identificare i punti di forza della nuova lingua ...". Molto bello
Nick Burns,

8

L'apprendimento delle 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).


htmlsqlsono linguaggi di programmazione.
Eeid,

la lettera l sta per lingua
Boris Pavlović,

7

Non vedo alcun problema nell'apprendimento di più lingue alla volta. In realtà, non hai mai padroneggiato davvero 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 basi solo per evitare di confondere le due lingue. Ciò è particolarmente vero se stai imparando lingue simili, come Java e C #.


JavaScript / Python può essere una buona scelta in virtù delle loro differenze. Come esempio.
nick indiessance

6

Ho insegnato programmazione per diversi anni, quindi posso condividere la mia esperienza con te. Suppongo 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 diverse lingue contemporaneamente se hai appena iniziato.

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 provi a insegnare più di una lingua in un anno, gli studenti tendono a confonderle e confondere concetti e lingue. Sebbene gli studenti facciano progressi, prendono molte cattive abitudini che è difficile eliminare in seguito. Se stai imparando da solo, questo rischio è più alto.

Tuttavia, ho notato che aiuta a insegnare due lingue con una sintassi molto diversa. Quando due linguaggi di programmazione sembrano davvero diversi, aiuta la mente a vederli come entità veramente diverse senza inquinarsi a vicenda. (Quando un linguaggio di programmazione ti aiuta a comprendere concetti difficili in un'altra lingua, va bene; quando una lingua ti fa scrivere un codice cattivo in un'altra lingua, è un male).

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


5

Penso che imparare più lingue alla volta sia effettivamente meglio che impararne una alla volta, perché se le lingue sono sufficientemente diverse, ognuna ti dà una pausa dall'altra. Cerca di scaglionarli in modo da iniziare con uno nuovo una volta superato il livello "principiante assoluto" del precedente; in questo modo avrai molte più possibilità di conservare non solo ciò che hai imparato sulla lingua ma come hai imparato una nuova lingua. (L'abilità di apprendimento delle lingue generalizzata è qualcosa di cui ti saremo molto grati in seguito nella programmazione della vita.)

Detto questo, l'apprendimento della 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 stufo 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 (diciamo) Java e sei frustrato di non poter leggere e analizzare facilmente il codice - fallo! Questa è un'ottima ragione per imparare un'altra lingua in qualsiasi momento.


2

Ho scoperto che l'apprendimento di più lingue contemporaneamente può portare ovviamente a richiedere più tempo per imparare una lingua specifica (è ovvio davvero). Tuttavia, nel mio caso mi ha permesso di decidere quali lingue preferisco e lo stile di programmazione 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 è la scelta giusta per quello che faccio. Inoltre ora sono molto fiducioso in OOP e stili funzionali e posso leggere e scrivere in diverse lingue con competenza. È una grande abilità da avere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.