Ви повинні навчитися ... всі вони! А точніше, мета - вивчити всі мови. Коли ви знаєте дві-три мови, ви можете швидко вивчити будь-яку нову мову, схожу на цю. Якщо ви знаєте достатньо мов, ви "практично" знаєте їх усі, і, що ще важливіше, ви розумієте, що є частиною мови , і те, що стосується програмування незалежно від мови. Зрештою, конкретні мови не мають значення.
Тож ви, можливо, захочете вивчити Java, C, Scheme, OCaml, Assembly (принаймні дві архітектури), Forth і трохи Prolog, не обов'язково в цьому порядку. Друга мова буде найважчою, тому що вам доведеться як вивчити нові поняття, так і забути поняття, які ви засвоїли з першої мови, але виявилося, що вони неправильні. Згодом це легко і лише стає легше.
Потім, займаючись конкретним завданням розвитку, використовуйте найбільш адаптовану мову, засновану на доступності та підтримці компіляторів і бібліотек, знаннях співробітників, обмеженнях політики з боку управління тощо. Гнучкість розуму - це ключ. Знання багатьох мов надає цю гнучкість.