What process do you follow to acquire and start using a new programming language?<p>What exercises do you go through, or what experiments or programs do you implement ?
[Amateur hour alert]<p>I spend some time thinking about which version. Not a language, but recently - tensorflow. v1 has epic documentation but is about to die, v2 has no documentation but is the future. Made a conscious choice to accept pain & suffering by struggling with (temp) lack of support.<p>Any type of new tech - I usually start by spinning up a Ubuntu VM.<p>...because I've realised something always goes horribly wrong on first attempt & I'll need to sh!tcan the VM.<p>And second I like to try to push all the tech to latest beta (but not alpha/nightly). Not because I need the latest but because it lets me touch base with where the current community pain points/issues/thinking is. Emphasis on <i>try</i>. Noob attempting to roll with a beta of a tech he/she doesn't know is a very conscious & deliberate reach.<p>>What exercises do you go through<p>On the actual programming side - I make a bee line for the debugging equivalent of "print". It's all a black box to me until I can pipe output to something.<p>>programs do you implement<p>I find the classic example that is simple yet not hello world and dissect that. e.g. for ML the classic MNIST set. The code to get that to 90%+ accuracy is like 10 lines...you can dissect the hell out of that for understanding
First, I get the tools installed. Then, I follow an introductory tutorial, paying particular attention to the concepts that I am least familiar with, and doing any exercises that are part of the tutorial. I then pick an example of a problem that I know, such as parsing a log file, writing a lisp interpreter, a simple web server, maybe a problem or two from the Euler site.<p>Picking a good tutorial can help a lot. For Python, I have both the introduction and the recipes book.<p>Also, I try to read a lot of code from github.
First I read all the documentation.<p>Then I read the source code.<p>Then I check some tutorials.<p>Then I try it out with simple examples, nothing fancy.