Come tieni tutte quelle lingue nella tua testa


10

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

Questo è certamente un percorso che altri hanno percorso, quindi ti sto chiedendo come tieni tutte queste lingue nella tua testa?


14
Io non. Uso un debugger ;-)
PengOne,

1
La pratica rende perfetti. Le lingue generalmente impiegano lo stesso insieme di costrutti dell'informatica, quindi si tratta semplicemente di ricordare le differenze sintattiche e le offerte di funzionalità.

17
editor con evidenziazione della sintassi. continua a modificare fino a quando non cambia colore ...
thorsten müller

2
Io non. Io uso Google.
Giobbe

1
@Giovanni, dacci alcuni esempi di cose che tendi a confondere o dimenticare tra le lingue (nomi dei metodi integrati? Precedenza dell'operatore? Librerie? Idiomi?) Con quale frequenza passi da una lingua all'altra (mensile?
Ogni

Risposte:


15

Il tuo cervello ricorda solo ciò che considera importante, con una forte propensione per 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 attivo il tuo utilizzo.


8

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

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


3
+1 per non essere tutto "Beh, se sei un vero programmatore, non avrai problemi." Se si programma in abbastanza lingue diverse, i riferimenti alla sintassi sono indispensabili.
Satanicpuppy,

4
Potresti postare quel "diagramma di sintassi in stile ferroviario a 1 foglio più riferimento rapido" per C ++? Mi piacerebbe davvero vedere una tale bestia.
sabato

O uno per Perl. Sarebbe uno spettacolo da vedere.
Zhehao Mao,

Se hai bisogno di più di quello che puoi adattare su una pagina, probabilmente non dovresti ancora utilizzare quelle funzionalità linguistiche, fino a quando non ricordi meglio la lingua.
hotpaw2,

5

Hai cercato cheat-sheet per le lingue e le biblioteche che usi regolarmente? Ho un paio sul mio muro qui, uno per VIM e uno per PL / SQL. Questo sito Web: http://devcheatsheet.com/ sembra avere molti foglietti.

Suggerisco cheat-sheet perché c'è solo così tanto che il cervello può facilmente ricordare. Una lingua che usi quotidianamente diventerà molto facile da ricordare. Sintassi e successivamente determinate librerie, funzioni e framework se le usi abbastanza spesso e non dovrai cercare nulla in alcun 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. Questo è il motivo per cui tengo alcuni cheat-sheet sul mio muro: per le funzioni / caratteristiche che non uso abbastanza spesso da ricordare rapidamente.


3

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


3

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

Immagino che la cosa che mi aiuta di più sia che ogni volta che imparo una lingua (programmazione o umana), cerco anche di raccogliere e abbracciare la cultura e l'ecosistema in cui è inserita. Non sto semplicemente cambiando lingua, sto cambiando mentalità (qualcosa sulla falsariga della popolare metafora del "portare l'X hat").


+1 per le seguenti convenzioni per una lingua. Può essere allettante codificare ogni lingua con lo stesso stile, ma ciò lo rende molto "estraneo" ai "nativi". Un giorno, un programmatore "nativo" manterrà il nostro codice. Quindi dobbiamo scriverlo in modo naturale per loro.
gMale

1
@gMale: non si tratta solo di essere gentili con gli altri; è anche necessario abbracciare la cultura di una lingua per sfruttarla al massimo. Una cultura cresce attorno a una lingua perché certi modi risultano funzionare meglio di altri e quelli si consolidano nella cultura; imparando questi, puoi trarre beneficio dagli errori degli altri.
martedì

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 funzionalità 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 a usare Java come un programmatore Java non è così semplice per un programmatore C ++ (la sintassi è facile, i modi di dire dell'uso sono difficili).

Se avessi elencato diversi stili di linguaggio (dichiarativo / funzionale / logico), sarei più comprensivo. Poiché il passaggio da una lingua all'altra era un paradigma, i cambiamenti completamente diventano molto più difficili.

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


1

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

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


1

Io non. Li confondo sempre, quindi ho elaborato una serie di comportamenti e strumenti compensativi.

  • Sto lavorando nelle basi di codice di grandi progetti, quindi controllerò il codice intorno a me.
  • Uso un editor di evidenziazione della sintassi (veloce, Perl usa elsif, elif, oppure se? Non ricordo, ma l'editor mi terrà in pista.)
  • Uso gli idiomi del linguaggio - se sto scrivendo codice in C #, uso lambdas, linq e var. Questo lo rende meno simile a 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 pista.

0

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

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


0

Pensalo come 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 prenderne uno che non suoni da un po 'di tempo e, come per magia, le note cadono al loro posto. Allo stesso modo, mentre continui ad ampliare la tua conoscenza della musica (programmazione), raccogliere un nuovo strumento e imparare a suonare diventa sempre più facile.

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


0

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

Di recente 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 abilità, poi ramifica e impara nuove cose.


0

sto usando javascript e HTML / CSS principalmente anche io amo c ++ quando ho bisogno di un piccolo strumento di aiuto con l'uso di QT e uso VB e f # a volte so che è un po 'folle ma quando sento che ho iniziato a perdere un linguaggio di quelli specialmente quando hanno una sintassi diversa (VB e F # e c ++ / javascript), quindi ottengo mio fratello e gli ho detto che gli insegnerò, quindi inizio a fare degli esempi da zero e quando trovo che non ricordo esattamente come fare qualcosa (una volta che ho dimenticato come fare SE ELSE in VB) ho appena google esso;


0

Ultimamente, ho usato molto Google Ricerca codici . Vado lì e scrivo un'espressione regolare che descrive vagamente ciò che sto cercando di fare e trova dozzine di esempi di codice di produzione. Quando dimentico la sintassi di una lingua, questo è il modo più veloce per ottenere risposte.

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


0

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

Questo non differisce molto dagli altri scenari della 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 metalevel.

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.