
Ask HN: What steps do you take in learning a new programming language? - alltakendamned
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 ?
======
Havoc
[Amateur hour alert]

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.

Any type of new tech - I usually start by spinning up a Ubuntu VM.

...because I've realised something always goes horribly wrong on first attempt
& I'll need to sh!tcan the VM.

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 _try_. Noob attempting to roll with a beta of a tech he/she doesn't know is
a very conscious & deliberate reach.

>What exercises do you go through

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.

>programs do you implement

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

------
wglb
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.

Picking a good tutorial can help a lot. For Python, I have both the
introduction and the recipes book.

Also, I try to read a lot of code from github.

------
rurban
First I read all the documentation.

Then I read the source code.

Then I check some tutorials.

Then I try it out with simple examples, nothing fancy.

