Come tieni tutte quelle lingue dritte nella tua testa

10

Conosco Java, C #, C ++. Ho usato Perl e sto recuperando Python e Actionscript 3.

Questo è sicuramente un percorso che altri hanno percorso, quindi ti sto chiedendo come fai a tenere tutte queste lingue nella tua testa?

    
posta John Robertson 19.07.2011 - 22:34
fonte

14 risposte

15

Il tuo cervello ricorda solo ciò che considera importante, con un strong pregiudizio verso il recente. Quindi, basta ruotare i progetti di animali domestici in quelle lingue e andrà tutto bene. Proprio come le lingue parlate, farai meglio se: inizi presto e mantieni il tuo uso attivo.

    
risposta data 19.07.2011 - 22:36
fonte
8

Ho usato per pubblicare un diagramma di sintassi in stile binario a 1 foglio più un riferimento rapido per ogni lingua sul muro fino a quando la mia memoria non è stata calciata sufficientemente.

Devo farlo ancora per tutti i linguaggi di programmazione che non ho usato da molti mesi.

    
risposta data 19.07.2011 - 22:44
fonte
5

Hai esaminato i cheat-sheet per le lingue e le librerie che utilizzi regolarmente? Ho un paio sul mio muro qui, uno per VIM e uno per PL / SQL. Questo sito web: link sembra avere molti cheatsheet.

Suggerisco cheat-sheets perché c'è solo così tanto che il cervello può facilmente ricordare. Una lingua che usi su base giornaliera diventerà molto facile da ricordare. Sintassi e poi determinate librerie e funzioni e framework se li usi abbastanza spesso e non avrai bisogno di cercare nulla in qualsiasi materiale di riferimento. Meno usi qualcosa, più difficile è ricordare, anche se di solito sarai in grado di recuperare le tue abilità precedenti con un po 'di pratica. È per questo che tengo alcuni foglietti sulla mia bacheca: per le funzioni / caratteristiche che non uso spesso abbastanza da ricordare rapidamente.

    
risposta data 19.07.2011 - 22:43
fonte
3

Il cervello umano è una cosa straordinaria. Se impari abbastanza bene ognuno di loro, dovresti essere in grado di guardare il codice, riconoscere la lingua e tornare ad accelerare abbastanza velocemente. Non è mai stato un problema per me ... ma ci vuole del tempo per riattivare la velocità.

    
risposta data 19.07.2011 - 22:36
fonte
3

Ho pochi problemi a separare i linguaggi nella mia testa, a parte alcuni automatismi di battitura (come dover sopprimere il punto e virgola di fine riga in Python o VB).

Credo che la cosa che mi aiuta di più è che ogni volta che imparo un linguaggio (programmazione o umano), cerco anche di cogliere e abbracciare la cultura e l'ecosistema in cui è incorporato. Non sto semplicemente cambiando le lingue, sto cambiando mentalità (qualcosa sulla falsariga della famosa metafora di "indossare il cappello X").

    
risposta data 19.07.2011 - 22:46
fonte
1

Aiuta che tutte le lingue che menzioni sono relativamente simili (cioè imperative).

Se stai solo imparando a usare queste lingue, sono tutte molto simili. Fondamentalmente hanno tutte le stesse caratteristiche e tutto quello che stai imparando è una sintassi leggermente diversa.

Ora quando si arriva a imparare l'uso (non solo la sintassi), diventa molto più difficile. Imparare ad usare Java come un programmatore Java non è così semplice per un programmatore C ++ (la sintassi è semplice, gli idiomi d'uso sono difficili).

Ora, se tu avessi elencato diversi stili di linguaggio (dichiarativo / funzionale / logico), allora sarei più comprensivo. Come muoversi tra le lingue, il paradigma cambia completamente diventa molto più difficile.

Ma usare una lingua è la chiave. Se usi una lingua ogni giorno, non avrai problemi. Smetti di usare una lingua e svanirà (non veloce all'inizio). Ma più il linguaggio viene dalla lingua che usi quotidianamente più velocemente svanirà. Il segreto è continuare a praticare le lingue che ti piacciono (smetti di usare quelle che non ti piacciono, il tuo cervello farà spazio ad altre cose).

    
risposta data 19.07.2011 - 22:43
fonte
1

Questo è stato l'IDE per un salvataggio ;-) l'unica cosa che cambia in tutte queste lingue è avere 'if-then-else' o 'if-else'. alcuni avranno '(' e altri no. È così semplice:)

Tutto quello che ci interessa è la logica e l'implementazione più semplice da leggere.

    
risposta data 20.07.2011 - 08:31
fonte
1

Non lo so. Li confondo continuamente, quindi ho elaborato una serie di comportamenti e strumenti di compensazione.

  • Sto lavorando alle codebase di progetti di grandi dimensioni, quindi controllerò il codice intorno a me.
  • Uso un editor di evidenziazione della sintassi (veloce, Perl usa elsif, elif, o altrimenti se? Non ricordo, ma l'editor mi manterrà in pista.)
  • Uso gli idiomi della lingua - se sto codificando in C #, uso lambdas, linq e var. Questo fa sembrare meno Java di quanto sarebbe se usassi solo oggetti e classi.
  • Uso un ambiente diverso per ogni lingua: C # - > Visual Studio, Java - > Eclipse, Perl - > Vim. I diversi stili visivi mi tengono in carreggiata.
risposta data 25.07.2011 - 14:41
fonte
0

Un modo sarebbe utilizzare uno stile distinto per ogni lingua in cui scrivi. Per analogia, parlando spagnolo o francese, si potrebbe provare a emulare l'inflessione di un madrelingua.

Ho visto persone che mantengono un distinto rinforzo, rientranza, ecc., per ciascuna lingua per aiutare il loro cervello a "cambiare marcia" correttamente quando si passa da una all'altra

    
risposta data 19.07.2011 - 22:47
fonte
0

Pensa alla musica. Le lingue che impari sono solo strumenti diversi in un'orchestra che alla fine producono le stesse note. Ricordare come suonare gli strumenti richiede pratica, ma alla fine sarai in grado di sceglierne uno che non hai suonato da un po 'e, come per magia, le note semplicemente cadono in posizione. Allo stesso modo, mentre continui ad ampliare la tua conoscenza della musica (programmazione), raccogliendo un nuovo strumento e imparando a suonarlo diventa sempre più facile ogni volta.

Analogia di formaggio, ma alla fine della giornata, la pratica rende perfetti. Passa un po 'di tempo con ogni strumento in quell'orchestra di tanto in tanto in modo che la tua capacità di suonare le note non svanisca.

    
risposta data 19.07.2011 - 22:47
fonte
0

Sono principalmente uno sviluppatore PHP. Quindi perdona la mia opinione parziale.

Recentemente ho scoperto quanto sia simile il codice C a PHP (o viceversa a seconda di come ti senti;))

Il mio suggerimento sarebbe forse quello di attenersi a una famiglia di lingue (se si applicano al tuo lavoro o ai tuoi progetti) e man mano che sviluppi le tue capacità, poi parti e impara nuove cose.

    
risposta data 20.07.2011 - 02:20
fonte
0

Sto usando javascript e HTML / CSS principalmente anche io amo c ++ quando ho bisogno di un piccolo strumento di aiuto con l'utilizzo di QT e io uso VB e f # a volte so che è un po 'pazzo ma quando sento che ho iniziato a perdere un linguaggio di quelli specialmente quando hanno una sintassi diversa (VB e F # e c ++ / javascript) così prendo mio fratello e gli dico che gli sto per insegnare, quindi inizio a creare degli esempi da zero e quando scopro che non ricordo esattamente come fare qualcosa (una volta che ho dimenticato come fare SE ELSE in VB) ho solo google essa;

    
risposta data 20.07.2011 - 03:07
fonte
0

Ultimamente, ho utilizzato molto google codesearch . Vado lì e digito un'espressione regolare che descrive vagamente quello che sto cercando di fare e trovo dozzine di esempi di codice di produzione. Quando dimentico la sintassi di una lingua, questo è il modo più veloce per me di ottenere risposte.

Questo approccio diventa ancora più potente se sei bravo con le espressioni regolari. Nota: questa è una grande risorsa per aggiornare le abilità regex .

    
risposta data 20.07.2011 - 08:31
fonte
0

In realtà: non mi preoccupo molto di cercare esplicitamente di costruire qualsiasi tipo di struttura nella mia testa.

Questo non differisce molto da altri scenari nella vita quotidiana. Devo ricordare come guidare una macchina, come leggere un libro, come giocare a tennis e così via. Fidati del tuo cervello e non pensare molto al metal level.

    
risposta data 25.07.2011 - 12:16
fonte

Leggi altre domande sui tag