У першій главі «Прагматичного програміста» перша мета навчання:
Вивчайте принаймні одну нову мову щороку. Різні мови по-різному вирішують одні і ті ж проблеми. Вивчивши кілька різних підходів, ви можете допомогти розширити своє мислення і уникнути потрапляння в колію. [...]
Щоб досягти цього протягом кар’єри, список мов, ймовірно, буде досить довгим (особливо, якщо ви не хочете "прогресувати" в управлінні). Зрозуміло, що освоєння програміста (або будь-якої іншої форми) змусить вас розпочати роботу з ядром комерційно корисних мов (звичайний список з публікації роботи: C, C ++, Ruby, Python, JavaScript, C #, Java, VB, .. .). Крім того, формальна чи неофіційна програма навчання, ймовірно, має охоплені функціональні підходи (через щось на зразок Haskell, LISP або мови, похідної від ML)
Але як тільки буде вивчено розумний підмножина цього списку - що далі, і чому ?