All young #CS and #IT practitioners should study, in-depth, at least the following #programming paradigms and pillar languages:
Imperative:
• Mechanical—Forth
• Procedural—C
• Objective—Smalltalk
Declarative:
• Functional—ML
• Relational—SQL
• Logical—Prolog
Theoretic:
• Computability—𝜆-Calculus
• Polymorphic—Hindley-Milner
• Dependent—Martin-Löf
The above is only "my" short-list. Every experienced programmer has "his" short-list of favourites. Regardless, dedicating oneself to the study of one such short-list would equip a young technologist with both practical and theoretical foundations for the rest of his career—provided he does not switch into the MBA lane, upon the first opportunity.
There is a caveat, though. Each of the above subjects stands atop decades of #theoretical research and #practical advances in #computing. For example, Forth, perhaps the simplest one of the lot, could be viewed as a programmer-readable summary of computing history, from von Neumann's seminal paper (1945) at least up to ANSI Forth (1994). And Martin-Löf intuitionistic type theory (1972), arguably the most complex of the lot, was created with the aim to serve as a new foundation of mathematics, possibly reaching back to Euclid. Dependent type theory, even after more than half-a-century, is still a vibrant (HoTT, as it were) research area.
It is plain to see that "mastery" of computing is an endeavour that demands more than life-and-a-half of dedication. So, none of us are true masters thereof. Indeed, for most of us, just to become barely competent in this field requires a careerlong dedication. Hence, the admonition against switching lanes.
Oh and, #practice maybe careerlong, but #learning is lifelong.

