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)?<p>How much time does it take?<p>How do you judge the merits and demerits of the language?<p>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?<p>For example:<p>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?<p>Or do I read the Python source code?<p>P.S: For PL theory people what book/course do you recommend for that mental framework?
In my experience, it’s the ecosystem far more than the language that matters.<p>How good is the documentation? How well designed are the standard libraries? How good is the tooling?<p>Are there any great community libraries? Are these well documented? Is there a good place to find people online that are willing to help you solve problems?<p>Learning a new syntax is trivial and takes a couple hours to a couple days. Learning the ecosystem of libraries and tools to know the best way to solve problems takes years.<p>In general, I’ve found the best way to get started is to scratch an itch building something you want or need. Learning by doing is best.