Quelle voie est la plus bénéfique et la plus productive?
Quelle voie est la plus bénéfique et la plus productive?
Réponses:
Je pense que vous avez besoin des deux. Vous devez vous concentrer sur vos compétences de base et améliorer votre compréhension de celles-ci, mais en même temps, il est avantageux de regarder à l'extérieur et de voir ce qu'il y a d'autre. L'exposition à d'autres approches et à d'autres langages est très importante pour faire de chacun un meilleur développeur dans son ensemble. Il existe de nombreuses façons de dépouiller un chat, pour ainsi dire, et en connaître autant que possible vous rendra un psychopathe plus apte à choisir le bon outil pour une tâche particulière.
Alors, passez la majeure partie de votre temps à améliorer votre compétence choisie et passez une partie de votre temps à apprendre quelque chose de nouveau.
Quelqu'un a dit: "Un langage qui ne change pas votre façon de penser la programmation ne vaut pas la peine d'être appris".
Donc, si vous connaissez Java, il y a peu de gain à apprendre C # (ou vice versa). Si ce n'est pas pour des raisons pragmatiques (c'est-à-dire que vous en avez besoin pour résoudre un problème), je vous suggère de vous en tenir à une langue par paradigme, et votre emploi du temps est encore assez rempli;).
La spécialisation, par contre, est dans mon expérience principalement réalisée «sur le terrain», c'est-à-dire lorsque je travaille sur un projet, donc cela vient naturellement.
Il y a beaucoup de très bons arguments des deux côtés. Il y a plusieurs années, on m'a posé cette question exacte ... concentrez-vous sur ma langue principale et essayez de devenir un "expert" OU choisissez une nouvelle langue et élargissez ma commercialisation. J'ai choisi de me concentrer sur une langue.
Il n'y aura vraiment pas de mauvaise réponse. Les deux ont des mérites, cela va vraiment se résumer à celui qui vous convient le mieux et où vous voulez que votre carrière aille.
L'apprentissage de nouveaux langages est principalement un moyen d'obtenir de nouveaux concepts et d'augmenter votre efficacité avec la programmation. Apprendre la programmation en soi est très différent de l'apprentissage d'une nouvelle langue pour programmer.
Vous devriez vous concentrer sur l'amélioration de vos programmes (et il y a beaucoup de paramètres pour mesurer cela, beaucoup subjectifs; peu importe, faites votre choix sur les paramètres et affinez-les au fil du temps, utilisez-les pour vos études).
Cela dit, l'apprentissage de langues `` plus récentes '' (disons Python
) sur votre liste plus ancienne (comme ` C
` disons ' ' et beaucoup d'autres) vous aidera à réfléchir plus efficacement et à vous concentrer sur les concepts fondamentaux qui devraient être améliorés. Prenant l'exemple plus loin, il peut ne pas apparaître immédiatement mais vous pourriez trouver votre C
programmation s'améliorant parce que vous avez pensé en Python. Vous pourriez même commencer à écrire Python au lieu de psudo-code pour C
. Maintenant, c'est un psudo-code beaucoup plus lisible et vérifiable.
Ce qui nous amène à résumer la question principale:
oui, vous devriez vous concentrer sur les langues que vous connaissez déjà et augmenter vos connaissances en elles - tant qu'elles sont encore utilisées pour vous. Et , vous devriez également essayer des langages plus récents pour donner à votre cerveau de nouveaux outils pour penser (peut-être même plus rapidement) des solutions à vos besoins de programmation.
Cela dépend du but pour lequel vous apprenez la langue. Si vous apprenez la langue car elle utilise un paradigme différent ou est adaptée à un domaine de problème particulier. Cependant, s'il s'agit d'un langage très similaire à celui que vous connaissez déjà et que tout ce que vous prévoyez de faire est de réécrire tout votre code existant dans ce nouveau langage, il n'y a probablement pas beaucoup de valeur (par exemple, réécrire une webapp python dans rubis).
Si vous vous sentez déjà très à l'aise dans la programmation d'un langage, connaissez tous ses idiomes et pouvez y écrire des programmes sans avoir à regarder dans la documentation pour chaque appel de bibliothèque, il n'y a probablement pas grand-chose de plus à apprendre à ce sujet. Si, d'autre part, votre connaissance de la langue n'est pas si profonde, il peut être utile d'en apprendre davantage. Quelques bonnes façons de juger si vous êtes dans l'ancien ou le dernier camp pour la langue X sont
Si vos réponses à ces questions se situent quelque part dans le sens de «beaucoup», «la plupart» et «oui, et ça devient ennuyeux», c'est une bonne indication que vous maîtrisez la langue et que vous devez passer à quelque chose Nouveau.
Si vous êtes déjà assez bon avec la langue que vous connaissez, il n'y a rien de bon à apprendre des trucs très détaillés et spécifiques pour un peu cool ... ce sera totalement une perte de temps. Cependant, lorsque vous n'êtes pas à l'aise avec une langue, la suggestion est de maîtriser cette langue en premier.
En plus des langues, il y a des cadres, des modèles ... pour apprendre un cadre, vous devez connaître une langue, donc pour des langues très similaires, les apprendre n'aide que d'amuser pas si drôle.
Mon opinion personnelle est que vous devriez toujours développer vos capacités pour créer des logiciels plus rapides, plus sûrs et plus robustes, pour plus de plates-formes, et raccourcir le temps, pour cela, vous devrez peut-être apprendre une nouvelle langue, un nouveau cadre, un nouvel IDE (c'est tout aussi important qu'une langue), et seulement lorsque vous êtes à cet effet, votre investissement en vaut la peine.
N'apprends pas au moins une nouvelle langue pour augmenter le nombre de langues que tu connais.