Personnellement, je pense que je suis à un très bon niveau en Python et je veux passer à un nouveau langage de programmation, quel langage dois-je apprendre ensuite?

La fixation avec l’apprentissage des langues est décevante. Tout langage de programmation est un outil. Pour développer vos compétences en tant que programmeur, vous avez besoin d’une maîtrise raisonnable d’un ou plusieurs langages de programmation… mais MAÎTRISE de nombreux concepts, principes et techniques accessibles à partir de n’importe quel langage de programmation.

Cela dit… les meilleurs langages à avoir sur votre CV et à saisir suffisamment pour programmer des entretiens sont Python, Javascript, SQL, C / C ++, Java et, à partir de là, peut-être Ruby, Go (lang), Rust, etc. .

Si vous ne connaissez pas Javascript (et HTML5 et CSS3), vous devriez les apprendre ensuite. Ce sont des compétences qui sont extrêmement demandées. La capacité de gérer la programmation frontale (HTML / CSS / JS) et le backend (JavaScript / Node.js, Python, Java ou bien d’autres… et SQL) est la façon dont vous pouvez revendiquer le titre tant vanté de «développeur de pile complète. ”

Qu’avez-vous construit avec python? Si votre objectif principal est d’être bon en programmation, mettez-vous au défi en faisant des trucs sympas en utilisant python.

Vous pouvez essayer d’en savoir plus sur les structures de données et les algorithmes . Une fois que vous êtes assez bon avec les structures de données de base comme les tableaux, les arbres, les listes et que vous connaissez certains algorithmes fondamentaux, principalement le tri des données, vous pouvez essayer de rivaliser en allant sur des sites comme Sphere Online Judge (SPOJ) ou Topcoder .

Sinon, si vous voulez collecter des langues, le C est un autre bon défi. Cela vous donnera des enseignements au début car vous passez d’un python qui n’est pas aussi sévère que C. Mais une fois que vous vous sentez à l’aise avec C, en sachant assez sur les types et les pointeurs, de nombreux autres langages seront faciles à apprendre.

À tous égards, les langages de programmation ne devraient pas avoir autant d’importance. Vous devriez vous concentrer davantage sur ce que vous voulez faire. Les langues ne sont que des outils à utiliser pour gagner en productivité tout en construisant des choses.

Vous devriez construire quelque chose en Python.

Si vous avez déjà créé un logiciel approprié, ignorez le reste de cette réponse et envisagez d’apprendre un langage typé statique comme Swift ou Java.

Si vous n’avez rien construit, croyez-moi, vous n’êtes pas à un très bon niveau.

Vous devez choisir un projet, quelque chose de difficile, mais pas impossible, et commencer à le construire. Il peut s’agir d’un site Web ou de tout ce que vous aimez, mais vous devez réellement créer un produit fini.

Ne soyez pas le gars qui connaît 10 langues mais ne peut rien construire.

Gagnez-vous votre vie avec Python? Apprenez ensuite celui que votre employeur souhaite que vous appreniez.

Non? Alors ça n’a vraiment plus d’importance. Un langage ou un macro-assemblage de type python serait tout aussi bon. Et tout aussi facile à apprendre si vous avez appris la programmation. (Si ce n’est pas le cas, chaque langue que vous essayez d’apprendre est un nouveau départ – vous commencez à zéro. Si vous connaissez la programmation, tout ce que vous avez à apprendre est la syntaxe et quelques astuces. Donc, à moins que vous n’ayez appris la programmation avant d’apprendre Python, arrêtez d’apprendre les langues et commencez à apprendre à programmer – en anglais. Commencez par les algorithmes et les structures de données. [Si c’est trop difficile de vous comprendre, vous n’êtes pas «très bon en Python», vous savez écrire un peu de choses en python mais vous ne connaissez pas la programmation. Et apprendre la programmation n’est pas apprendre un langage de programmation, pas plus que devenir médecin en France commence et finit par apprendre le français.)

Si vous avez d’abord appris Python, ensuite apprenez quelque chose de très différent, comme Haskell ou Smalltalk.

Si vous avez appris Haskell en premier, ensuite apprenez quelque chose de très différent, comme Smalltalk ou Java.

Si vous avez d’abord appris Smalltalk, apprenez ensuite quelque chose de très différent, comme Java ou Prolog.

Si vous avez d’abord appris Java, apprenez ensuite quelque chose de très différent, comme Prolog ou assembleur.

Si vous avez d’abord appris Prolog, ensuite apprenez quelque chose de très différent, comme l’assemblage ou le Postscript.

Si vous ne ressentez pas encore de modèle, apprenez ensuite autre chose, comme les mathématiques ou la littérature anglaise.

Chaque langue a sa propre façon d’aborder la tâche de programmation et nécessite une façon de penser différente que vous n’apprendrez qu’en faisant. Ce que vous apprenez avec chaque langue influencera votre approche de la programmation en général, même si vous n’utilisez pas ce langage particulier.

Comme d’autres l’ont souligné, la meilleure façon d’apprendre une langue est d’y faire un problème non trivial, peut-être quelques-uns. La partie amusante est que vous pouvez faire les mêmes projets dans chaque langue et découvrir les différences avec du matériel familier.

Comme Python fonctionne assez bien avec C, commencez à apprendre le C standard ensuite! (Pas C ++, juste C!) Essayez de faire interagir vos codes Python et C! Consultez également le Manuel de référence de l’API Python / C pour plus d’informations.

Si vous êtes vraiment aussi bon que vous le pensez, vous devriez chercher une autre langue le mois prochain… C peut être assez facile à apprendre si vous restez concentré uniquement sur la langue.

HTML? Vérifier.

MATLAB? Vérifier.

Un article mentionnait Scala quelque part – je devrais probablement aller le vérifier également dans ma liste.

Ne regardez pas les langages de programmation et les outils comme des éléments pour cocher une liste. Comme l’a dit Moray, construisez quelque chose. Si vous l’avez déjà fait, revenez sur vos projets préférés.

Si vous avez utilisé Python en conjonction avec un cadre Web comme Django et inspiré votre développeur Web intérieur, vous trouverez peut-être que JavaScript est intrigant.

Si vous avez utilisé Python pour l’analyse des données, vous voudrez peut-être consulter R.