Dans le chapitre un de "The Pragmatic Programmer", le premier objectif d'apprentissage est:
Apprenez au moins une nouvelle langue chaque année. Différentes langues résolvent les mêmes problèmes de différentes manières. En apprenant plusieurs approches différentes, vous pouvez élargir votre façon de penser et éviter que le getter ne soit frappé dans une ornière. [...]
Pour y parvenir au cours d'une carrière, la liste des langues risque de s'allonger (surtout si vous ne souhaitez pas "progresser" dans la gestion). De toute évidence, l'éducation d'un programmeur (ou quelque forme que ce soit) va vous permettre de démarrer avec un noyau de langages commercialement utiles (la liste habituelle des offres d'emploi: C, C ++, Ruby, Python, JavaScript, C #, Java, VB, .. .). De plus, un programme d'apprentissage formel ou informel est susceptible d'avoir couvert des approches fonctionnelles (via quelque chose comme Haskell, LISP ou un langage dérivé du ML)
Mais une fois qu'un sous-ensemble raisonnable de cette liste est appris, quelle est la prochaine étape et pourquoi ?