Comment gardez-vous toutes ces langues dans votre tête

10

Je connais Java, C #, C ++. J'ai utilisé Perl et je prends Python et Actionscript 3.

C'est certainement un chemin que d'autres ont emprunté, alors je me demande comment gardez-vous toutes ces langues dans votre tête?

John Robertson
la source
14
Je ne. J'utilise un débogueur ;-)
PengOne
1
C'est en forgeant qu'on devient forgeron. Les langages emploient généralement le même ensemble de constructions informatiques, il est donc simple de se souvenir des différences syntaxiques et des offres de fonctionnalités.
17
éditeur avec coloration syntaxique. continuer à éditer jusqu'à ce qu'il change de couleur ...
thorsten müller
2
Je ne. J'utilise Google.
Job
1
@John, donnez-nous quelques exemples de choses que vous avez tendance à confondre ou à oublier entre les langues (noms des méthodes intégrées? Priorité des opérateurs? Bibliothèques? Expressions idiomatiques?) À quelle fréquence passez-vous d'une langue à l'autre (mensuellement?
Toutes les

Réponses:

15

Votre cerveau ne se souvient que de ce qu'il considère important, avec un fort parti pris envers les récents. Donc, faites simplement pivoter les projets d'animaux dans ces langues et tout ira bien. Tout comme les langues parlées, vous ferez mieux si vous: commencez tôt et gardez votre utilisation active.

yan
la source
8

J'avais l'habitude d'afficher un diagramme de syntaxe de style ferroviaire à une feuille plus une référence rapide pour chaque langue sur le mur jusqu'à ce que ma mémoire soit suffisamment active.

Je dois encore le faire pour tous les langages de programmation que je n'ai pas utilisés depuis plusieurs mois.

hotpaw2
la source
3
+1 pour ne pas être tout, "Eh bien, si vous êtes un vrai programmeur, vous n'aurez aucun problème." Si vous programmez dans suffisamment de langues différentes, les références de syntaxe sont indispensables.
Satanicpuppy
4
Pourriez-vous s'il vous plaît publier ce "diagramme de syntaxe de chemin de fer à 1 feuille plus une référence rapide" pour C ++? J'aimerais vraiment voir une telle bête.
sbi
Ou un pour Perl. Ce serait un spectacle à voir.
Zhehao Mao
Si vous avez besoin de plus que ce que vous pouvez contenir sur une seule page, vous ne devriez probablement pas encore utiliser ces fonctionnalités linguistiques, jusqu'à ce que vous vous souveniez mieux de la langue.
hotpaw2
5

Avez-vous cherché des feuilles de triche pour les langues et les bibliothèques que vous utilisez régulièrement? J'ai un couple sur mon mur ici, un pour VIM et un pour PL / SQL. Ce site Web: http://devcheatsheet.com/ semble avoir beaucoup de cheatsheets.

Je suggère des feuilles de triche, car il y a tellement de choses dont le cerveau peut facilement se souvenir. Une langue que vous utilisez quotidiennement deviendra très facile à retenir. Syntaxe et plus tard certaines bibliothèques et fonctions et frameworks si vous les utilisez assez souvent et vous n'aurez pas besoin de chercher quoi que ce soit dans aucun document de référence. Moins vous utilisez quelque chose, plus il est difficile de vous en souvenir, bien que vous puissiez généralement retrouver vos anciennes capacités avec un peu de pratique. C'est pourquoi je garde des astuces sur mon mur: pour les fonctions / fonctionnalités que je n'utilise pas assez souvent pour me souvenir rapidement.

FrustratedWithFormsDesigner
la source
3

Le cerveau humain est une chose incroyable. Si vous apprenez assez bien chacun, vous devriez pouvoir regarder le code, reconnaître la langue et accélérer assez rapidement. Ça n'a jamais été un problème pour moi ... mais il faut du temps pour remonter en vitesse.

Patrick87
la source
3

J'ai peu de mal à séparer les langues dans ma tête, à part quelques automatismes de frappe (comme avoir à supprimer le point-virgule de fin de ligne en Python ou VB).

Je suppose que ce qui m'aide le plus, c'est que chaque fois que j'apprends une langue (programmation ou humaine), j'essaie également de saisir et d'embrasser la culture et l'écosystème dans lesquels elle est intégrée. Je ne change pas simplement de langue, je change de mentalité (quelque chose dans le sens de la métaphore populaire «porter le chapeau X»).

tdammers
la source
+1 pour les conventions suivantes pour une langue. Il peut être tentant de simplement coder chaque langue avec le même style, mais cela donne un aspect très "étranger" aux "natifs". Un jour, un programmeur "natif" maintiendra notre code. Nous devons donc l'écrire d'une manière qui leur semble naturelle.
gMale
1
@gMale: Ce n'est pas seulement une question d'être gentil avec les autres; embrasser la culture d'une langue est également nécessaire pour l'utiliser pleinement. Une culture se développe autour d'une langue parce que certaines façons s'avèrent mieux fonctionner que d'autres, et celles-ci se solidifient dans la culture; en les apprenant, vous pouvez bénéficier des erreurs des autres.
tdammers
1

Il est utile que toutes les langues que vous mentionnez soient relativement similaires (c'est-à-dire impératives).

Si vous apprenez simplement à utiliser ces langues, elles sont toutes très similaires. Ils ont fondamentalement tous les mêmes fonctionnalités et tout ce que vous apprenez est une syntaxe légèrement différente.

Maintenant, quand vous venez d'apprendre l'utilisation (pas seulement la syntaxe), cela devient beaucoup plus difficile. Apprendre à utiliser Java comme un programmeur Java n'est pas si simple pour un programmeur C ++ (la syntaxe est facile, les idiomes d'utilisation sont difficiles).

Maintenant, si vous aviez énuméré différents styles de langage (déclaratif / fonctionnel / logique), je serais plus sympathique. Comme passer d'une langue à une autre, le paradigme change complètement devient beaucoup plus difficile.

Mais l'utilisation d'une langue est la clé. Si vous utilisez une langue tous les jours, vous n'aurez aucun problème. Arrêtez d'utiliser une langue et elle disparaîtra (pas vite au début). Mais plus la langue est éloignée de la langue que vous utilisez quotidiennement, plus elle disparaîtra rapidement. Le secret est de continuer à pratiquer les langues que vous aimez (arrêtez d'utiliser celles que vous n'aimez pas, votre cerveau fera de la place pour d'autres choses).

Martin York
la source
1

C'est là que les IDE sont venus pour un sauvetage ;-) la seule chose qui change dans toutes ces langues est d'avoir un 'si-alors-sinon' ou un 'si-autre'. certains auront '(' et d'autres non. C'est aussi simple que cela :)

Tout ce qui nous importe, c'est la logique et la mise en œuvre la plus lisible.

Arvind Chinniah
la source
1

Je ne. Je les confond tout le temps, j'ai donc élaboré un ensemble de comportements et d'outils compensateurs.

  • Je travaille dans les bases de code de grands projets, je vais donc vérifier le code autour de moi.
  • J'utilise un éditeur de coloration syntaxique (rapide, Perl utilise-t-il elsif, elif, ou bien si? Je ne me souviens pas, mais l'éditeur me tiendra au courant.)
  • J'utilise les idiomes du langage - si je code en C #, j'utilise lambdas, linq et var. Cela le fait ressembler moins à Java que si je n'utilisais que des objets et des classes.
  • J'utilise un environnement différent pour chaque langage: C # -> Visual Studio, Java -> Eclipse, Perl -> Vim. Les différents styles visuels me gardent sur la bonne voie.
Sean McMillan
la source
0

Une façon serait d'utiliser un style distinct pour chaque langue dans laquelle vous écrivez. Par analogie lâche, en parlant espagnol ou français, on pourrait essayer d'imiter l'inflexion d'un locuteur natif.

J'ai vu des gens qui maintiennent un contreventement, une indentation, etc. distincts pour chaque langue pour aider leur cerveau à «changer de vitesse» correctement lors du basculement entre eux

jonsca
la source
0

Pensez-y comme de la musique. Les langues que vous apprenez ne sont que des instruments différents dans un orchestre qui produisent finalement les mêmes notes. Se souvenir de comment jouer des instruments demande de l'entraînement, mais finalement vous pourrez en prendre un que vous n'avez pas joué depuis un moment et comme par magie, les notes se mettent en place. De même, à mesure que vous continuez à élargir vos connaissances de la musique (programmation), prendre un nouvel instrument et apprendre à le jouer devient de plus en plus facile à chaque fois.

Analogie au fromage, mais à la fin de la journée, la pratique rend parfait. Passez du temps avec chaque instrument de cet orchestre de temps en temps afin que votre capacité à jouer les notes ne se fane pas.

Cᴏʀʏ
la source
0

Je suis principalement développeur PHP. Alors pardonnez mon opinion partiale.

J'ai récemment découvert à quel point le code C est similaire à PHP (ou l'inverse en fonction de ce que vous ressentez;))

Ma suggestion serait peut-être de s'en tenir à une famille de langues (si elles s'appliquent à votre travail ou à vos projets) et au fur et à mesure que vous développez vos compétences, vous vous diversifiez et apprenez de nouvelles choses.

MattyD
la source
0

j'utilise javascript et HTML / CSS principalement aussi j'aime c ++ quand j'ai besoin d'un petit outil d'aide pour utiliser QT et j'utilise VB et f # parfois je sais que c'est un peu fou mais quand je sens que j'ai commencé à perdre une langue de ceux surtout quand ils ont une syntaxe différente (VB et F # et c ++ / javascript) donc je reçois mon frère et lui ai dit que je vais lui apprendre alors je commence juste à faire des exemples à partir de zéro et quand je trouve que je ne me souviens pas comment faire exactement quelque chose (une fois que j'ai oublié comment faire SI AUTRE en VB) je viens de le google;

achmas
la source
0

Dernièrement, j'utilise beaucoup la recherche de codes Google . J'y vais et saisis une expression régulière qui décrit vaguement ce que j'essaie de faire et trouve des dizaines d'exemples de code de production. Lorsque j'oublie la syntaxe d'une langue, c'est le moyen le plus rapide pour moi d'obtenir des réponses.

Cette approche devient encore plus puissante si vous maîtrisez les expressions régulières. Remarque: Ceci est une excellente ressource pour actualiser les compétences regex .

gMale
la source
0

En fait: je ne m'inquiète pas beaucoup d'essayer explicitement de construire n'importe quelle structure dans ma tête.

Cela ne diffère pas beaucoup des autres scénarios de la vie quotidienne. Je dois me rappeler comment conduire une voiture, comment lire un livre, comment jouer au tennis, etc. Faites simplement confiance à votre cerveau et ne pensez pas beaucoup au niveau du métal.

perdian
la source