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?
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?
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.
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.
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.
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à.
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").
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).
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.
Non lo so. Li confondo continuamente, quindi ho elaborato una serie di comportamenti e strumenti di compensazione.
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
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.
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.
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;
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 .
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.
Leggi altre domande sui tag language-agnostic programming-languages syntax