Apprendre plusieurs langues simultanément [fermé]

35

Lorsque vous apprenez de nouvelles langues, est-il préférable de s’engager dans une langue à 100% et d’attendre de la maîtriser pour passer d’une langue à l’autre ou d’apprendre à apprendre différentes langues en même temps?

Si cela compte, j'apprends actuellement le C ++ et j'aimerais aussi connaître Java et Python.

Maxpm
la source
12
La fluidité à 100% n'existe souvent pas. Ni Jon Skeet, ni Eric Lippert ne connaissent pas 100% de C #.
Job
3
Ne pas apprendre les langues, apprendre à utiliser une langue pour mettre en œuvre un programme spécifique. C'est-à-dire que si vous êtes programmeur, le langage que vous utilisez n'a pas d'importance, car vous pouvez obtenir le même résultat. Pire encore, dès que vous écrivez une langue pour "apprendre" une autre, vous commencerez quand même à oublier la précédente.
Tant que vous APPRENEZ vraiment les deux langues.
Tulains Córdova
@Maxpm Pouvez-vous dire comment a été votre expérience d'apprentissage multi-langues à la fois ...
Rahul Patil

Réponses:

31

Non seulement je ne vois pas de problème à apprendre plusieurs langues à la fois, mais je pense que cela peut vous être directement bénéfique, car quelque chose dans une langue peut éclaircir un problème que vous pourriez avoir dans une autre langue. Par exemple, ma langue principale est le C # et lorsque je me sers de LINQ, j’utilisais le format SQL (ce qui est bien, je ne le frappe pas du tout, mais cela ne me semblait pas être la «bonne façon» de le faire). Je suis resté loin de Lambdas parce que, pour être honnête, je ne les comprenais pas et la documentation C # que j'ai vue ne fournissait pas de définition claire (pour moi). Ensuite, j'ai commencé à chercher des livres sur fa # et à apprendre cela, ce qui m'a permis de comprendre «ah ah!», Comment sont les Lambda.

J'ai constaté que, comme je l'ai expérimenté de plus en plus avec d'autres langages (et frameworks), je suis devenu meilleur en C # (et ASP.Net). C'est pourquoi je crois qu'apprendre plusieurs langues en même temps n'est pas une mauvaise chose!

Jetti
la source
1
Je suis totalement d'accord et j'ai aussi commencé avec C #. Il y avait beaucoup de choses que j'ai rencontrées dans cette langue et qui, du point de vue de mon débutant, étaient très difficiles à comprendre et si je les comprenais, il était tout aussi difficile de comprendre à quoi elles étaient destinées ou pourquoi elles étaient utilisées. Depuis, j'ai appris quelques langues et cela a fait toute la différence dans le monde. Surtout que chaque langue est différente, vous pouvez apprendre différents aspects de la programmation de chaque langue.
fender1901
49

Si c'est votre langue maternelle, je pense qu'il vaudrait mieux l'apprendre assez bien pour comprendre comment fonctionne un langage de programmation.

Une fois que vous avez de bonnes bases, vous pouvez en choisir autant que vous le souhaitez.

OscarRyz
la source
2
+1 Je pense que cela fait une grande différence si vous apprenez vos trois premières langues par rapport à votre quatrième, cinquième, sixième, etc.
keithjgrant
12

Je pense qu'une compétence importante pour les programmeurs est la capacité d'apprendre de nouveaux langages de programmation. En tant que tel, j'aurais tendance à suggérer que l'on essaie d'abord d'apprendre une seule langue, puis d'en ajouter d'autres.

Quelle que soit votre langue maternelle, le processus d'apprentissage de langues supplémentaires devrait:

  • Trouver une bonne référence de syntaxe pour la nouvelle langue
  • Identifiez les points forts du nouveau langage, ne codez pas simplement dans le nouveau langage comme si vous le connaissiez déjà (programmation avec un accent)
  • Explorez les zones de la nouvelle langue qui ne correspondent pas aux langues que vous utilisiez auparavant
  • Trouvez des exemples de code et, sans les consulter, essayez de coder la même chose à partir de rien et voyez en quoi votre implémentation diffère de l'exemple.

Au fil du temps, au fur et à mesure que vous accumulez des langues, vous formez votre propre langage interne pseudocode abstrait qui vous aidera à traduire entre les langues que vous connaissez. Ce langage interne est le cadre que vous utiliserez pour apprendre rapidement de nouvelles langues.

Jason Aller
la source
1
+1 pour "identifier les atouts de la nouvelle langue ...". Très belle
Nick Burns
8

Apprendre des langues en parallèle est une chose assez normale. Par exemple, la programmation Web. Vous avez au moins trois langues: le côté serveur (php, java, .net, ruby, python ...), le code client (script java et html), la base de données (sql).

Boris Pavlović
la source
ni htmlne sqlsont des langages de programmation.
aeid
la lettre l signifie langue
Boris Pavlović
7

Je ne vois pas de problème pour apprendre plusieurs langues à la fois. En fait, vous ne maîtrisez jamais vraiment une langue. Par conséquent, chaque fois que vous travaillez avec plusieurs langues, vous les apprenez probablement toutes les deux.

Vous voudrez peut-être vous concentrer sur une langue pour passer à travers les bases, juste pour vous empêcher de confondre les deux langues. Cela est particulièrement vrai si vous apprenez des langages similaires, tels que Java et C #.

Paul Whitehurst
la source
JavaScript / Python peut être un bon choix en raison de leurs différences. Par exemple.
nick indiessance
6

J'enseigne la programmation depuis plusieurs années afin de pouvoir partager mon expérience avec vous. Je suppose que le C # est votre langue maternelle, mon expérience dans l’enseignement de la programmation à des personnes qui n’avaient jamais programmée peut être utile.

Tout d’abord, laissez-moi vous dire que l’apprentissage de plusieurs langues est quelque chose que tout programmeur chevronné devrait faire. Mais cela ne signifie pas que vous devez apprendre plusieurs langues en même temps si vous commencez tout juste.

Au fil des ans, les élèves ont montré qu’il fallait environ un an pour qu'une langue se solidifie dans l’esprit (du moins la première), parfois un peu plus, parfois un peu moins. Si vous essayez d'enseigner plus d'une langue en un an, les étudiants ont tendance à les mélanger et à confondre concepts et langues. Bien que les élèves progressent, ils adoptent de nombreuses mauvaises habitudes qu'il est difficile d'éliminer plus tard. Si vous apprenez par vous-même, ce risque est plus élevé.

Cependant, j'ai remarqué qu'il est utile d'enseigner deux langues avec une syntaxe très différente. Lorsque deux langages de programmation sont vraiment différents, cela aide l’esprit à les voir comme des entités vraiment différentes sans se polluer. (Lorsqu'un langage de programmation vous aide à comprendre des concepts difficiles dans une autre langue, c'est bon; quand une langue vous oblige à écrire du code incorrect dans une autre langue, c'est mauvais).

Par conséquent, ma recommandation serait de s'en tenir à un langage de programmation pour votre première année. Alternativement, il peut être judicieux d'apprendre deux langues en même temps, à condition qu'elles soient / soient très différentes. Si votre première langue est le C #, je resterais certainement à l’écart de C, C ++, Objective C et Java; et probablement Python, Ruby et Javascript. Je recommanderais de combiner C # avec un langage fonctionnel comme Haskell, Scheme, F #, Erlang, Clojure ou peut-être Scala.

sergut
la source
5

Je pense qu’apprendre plusieurs langues à la fois est en fait préférable à un apprentissage à la fois, car si les langues sont suffisamment différentes, chacune vous donne une pause de l’autre. Essayez de les décaler pour que vous en commenciez un nouveau une fois que vous avez franchi l'étape de "débutant absolu" de la précédente; De cette façon, vous aurez une bien meilleure chance de retenir non seulement ce que vous avez appris sur la langue, mais comment vous avez appris une nouvelle langue. (Une compétence d'apprentissage du langage généralisée est une chose pour laquelle vous serez très reconnaissant plus tard dans la vie de programmation.)

Cela dit, l'apprentissage de votre langue maternelle nécessite un énorme investissement en temps et en énergie, et vous n'aurez tout simplement pas le temps d'assumer un autre grand projet au cours de ce processus. Si vous envisagez de commencer une autre langue parce que vous en avez marre du C ++, ne le faites pas! Cela vous encouragera à procrastiner. Si vous envisagez de commencer une autre langue parce que vous continuez de voir des mentions de projets écrits en (disons) Java et que vous êtes frustré de ne pas pouvoir facilement lire et analyser le code, faites-le! C'est une excellente raison d'apprendre une autre langue à tout moment.

Arkaaito
la source
2

J’ai découvert que l’apprentissage simultané de plusieurs langues pouvait conduire à prendre plus de temps à apprendre une langue en particulier (cela va sans dire, en réalité). Toutefois, dans mon cas, cela m’a permis de choisir les langues que je préfère et le style de codage que j’apprécie le plus.

Dans mon cas, j'ai commencé avec C #, puis je suis passé à Python et F #. J'ai vraiment aimé le style fonctionnel de fa # qui m'a amené à essayer Scala et Clojure. Maintenant que j'ai appris toutes ces langues, j'ai trouvé que Scala convenait parfaitement à ce que je fais. De plus, je suis maintenant très confiant dans la POO et les styles fonctionnels et je peux lire et écrire plusieurs langues avec compétence. C'est une grande compétence à avoir.

Richard Todd
la source