
Ask HN: How did you master a programming language? - Kaladin
What would you suggest to a newbie getting his feet weight into programming?
======
simonblack
Give yourself a non-trivial project. It doesn't really matter what it is,
you'll be 'building it to throw away' anyway.

Now start building it, with one hand on a good reference, and the other hand
on the Google search page.

It'll be terrible code, but you'll be learning as you go. By the time you've
built that program to your satisfaction, you'll have learned a lot.

So much so, that you will _want_ to throw that first piece of crap programming
away and to rewrite it properly.

------
juaniux
If you want something practical that you can get a job with I highly suggest
Fee Code Camp they offer various certifications including JavaScript
programming language:
[https://www.freecodecamp.org/](https://www.freecodecamp.org/)

If you just want to learn programming I suggest Python as a starting language,
there are ton's of resources and YouTube videos on the subject. Just look for
a tutorial that works for you and start there.

Biggest point, don't just read about it, type our the examples, run them. Code
here, code there, code in your sleep, the only way you'll learn is by doing.
Specially by running into problems.

I have 20+ yrs of dev experience and I still have my google page up to lookup
errors, examples, and references.

------
carapace
Those are two different questions.

> What would you suggest to a newbie getting his feet weight into programming?

Learn assembly.

(Something tidy like the AVR chip used in Arduinos: ATMega328P
microcontroller, or the PIC.)

Then learn a little about C _and the asm that it compiles into_. (Again, don't
try to learn e.g. x86. It's a monster. Most C compilers can target AVR or
PIC.)

If you start at the bottom and go _up_ you'll do fine.

Do NOT start with e.g. Javascript or PHP or even Ruby or Python, it'll wreck
you.

> How did you master a programming language?

Someone once said to Yoyo Ma, "I'd give my life to play like you do." To which
he replied, "I did."

"Do it every day."

------
simonblack
For the 'feet wet' question:

Some people have suggested assembly. That would be a good idea if we were
still back in the simpler, less complex, 8-bit era of the Z80 or 6502 CPUs.

In today's world, I'd go for the "high-level assembly language" or in proper
terminology, the C programming language.

To learn that, I'd buy the book of the same name: "The C Programming Language"
by Kernighan and Ritchie.

Then follow the procedure laid out in my other comment.

