Programmers (academic and/or industrial) who have programmed in quite a few languages and paradigms, how do you learn or pickup a new programming languages (maybe against your choice but the domain you are working in requires that language)?
How much time does it take?
How do you judge the merits and demerits of the language?
Do people who know some PL theory judge it in a different way than those who don't? Like do they have a mathematical framework in mind and map the language docs to that framework to see what is bad or what is good?
For example:
Suppose I am to learn Python. I go to the official website and go to the docs page: https://docs.python.org/3/. I see a Tutorial section and a Language Reference section. I go through the tutorial. It is just a sneak peak. Then the Language reference?
Or do I read the Python source code?
P.S: For PL theory people what book/course do you recommend for that mental framework?