Tu devrais apprendre… tous! Ou plutôt meta em> -apprenez toutes les langues. Lorsque vous connaissez deux ou trois langues, vous pouvez rapidement apprendre toute nouvelle langue similaire à celles-ci. Si vous connaissez suffisamment de langues, vous les connaissez "virtuellement" et, plus important encore, vous comprenez ce qui fait partie de la langue et ce qui concerne la programmation . indépendamment de la langue. En fin de compte, des langues spécifiques ne sont pas pertinentes.
Vous pouvez donc apprendre Java, C, Scheme, OCaml, Assembly (au moins deux architectures), Forth et un peu de Prolog, pas nécessairement dans cet ordre. La deuxième langue sera la plus difficile, car vous devrez à la fois apprendre de nouveaux concepts et oublier les concepts que vous avez appris avec la première langue, mais qui se sont avérés faux. Après, c'est facile et ne devient que plus facile.
Ensuite, lorsque vous travaillez sur une tâche de développement spécifique, utilisez le langage le plus adapté en fonction de la disponibilité et de la prise en charge des compilateurs et des bibliothèques, des connaissances des collègues, des contraintes de gestion de la part, etc. La flexibilité de l'esprit est la clé. Connaître de nombreuses langues confère cette flexibilité.