
Ask HN: What is the best resource to learn to code? - stevemcg
I&#x27;ve been learning JavaScript and wanted to come to HN to ask what people use.
======
bobwaycott
_Building things_. Above all, it is the best way to learn. Plenty of
sites/resources offer you canned exercises that help you gain familiarity with
some concepts, syntax, etc. But nothing beats taking an idea you can express
and grasp in human terms and turning it into a program. Here are some starter
ideas I give just about every new/aspiring dev I work with because just about
everyone knows how they work since they were kids (well, at least in the US):

\- Tic Tac Toe

\- Rock Paper Scissors

\- memory/matching game

You can easily ratchet up the complexity once you have these working. Tic Tac
Toe can be turned into Connect Four, for example. Similarly, you can increase
the complexity of a memory/matching game by increasing the board size, or use
what you learn there to create a rudimentary game of Go Fish.

There are some more typical types of things to build that feel less playful,
of course. Build a to-do app. Or a blog. Or a simple chat/messaging program.
Don't over complicate it. Keep it as simple as you can to learn what matters
here—CRUD operations with a database, client-server interaction, templating,
MVC, and so on.

~~~
k__
I learned that "reading books" and "building things" is good.

When I start with a new language, I read a few books about it and this really
helps getting some edge cases. But often some concepts feel rather arcane till
I tried them. So trying to get some of the default "projects" (for web: hello
world, todo-list, blog) working clarifies most things.

------
andrewstuart
The answer to your question is that it doesn't really matter which resource
you choose to learn from. You should be learning from everything you can -
there is an unbelievable array of learning resource on the Internet for
JavaScript, just get started.

The absolute very best way to learn to program is by actually building a real
project and trying to ship it. Not some sample thing, not some toy or
exercise, the real thing.

Nothing will teach you to program faster than the necessity of implementing
something.

Whilst you are building, just read, read, read read. Eventually some lights
will start to come on.

You need relentless drive and and total unwillingness to give up.

Programming is really only truly learned by doing.

And the learning experience will be extremely frustrating. It helps if you
know what to expect, which I wrote about here:
[http://fourlightyears.blogspot.com/2015/04/frustration-
and-e...](http://fourlightyears.blogspot.com/2015/04/frustration-and-
enlightenment-how-i.html)

------
googlecoder88
Ton of stuff online. But depending on where you are in your learning path,
it's hard to shuffle through it all.

I've had several friends/colleagues go through a coding bootcamp. Make sure to
do research and focus on outcomes-focused programs. Seeing you are wanting to
learn JavaScript, Couple of the top programs I know are MakerSquare (Austin,
SF, LA, and NYC) and Hack Reactor (SF). Your investment will be worth it --
however, only invest if you are serious about a career as a Software Engineer.

------
jackyb
[http://hello.processing.org/](http://hello.processing.org/) (probably too
basic if you already know how to code)
[http://learningprocessing.com/videos/](http://learningprocessing.com/videos/)
(more in-depth)

It teaches Processing (which is technically Java). It got me into programming
again and maybe it will help you too.

------
vinchuco
I spent a lot of time trying to solve the same riddle. The problem is not
specific enough.

It's like asking how one learns to do math.

You look at what technology is out there, and play with it.

Here is one list of common tech: [http://programming-
motherfucker.com/become.html](http://programming-motherfucker.com/become.html)

Time is better spent in getting the right resources to use given a goal.

------
kingsongchen
This is pretty good:
[http://eloquentjavascript.net/](http://eloquentjavascript.net/)

------
rman4040
I guess you are asking how to be a good developer. I suggest you to learn by
doing. Watching and reading tutorial in not enough. Go and check some
tutorials and try at least 2 hours everyday sit and code.

------
ViolentCheese
Sorry that this isn't an answer but I would also like some resources.

I'm learning C++

~~~
marvel_boy
Try Codility [https://codility.com](https://codility.com) it has tons of
material, and more important, challenges you can try and compare with
thousands of developers.

------
deeteecee
i would have to say "not javascript" and a more high-level language for a
beginner would be better to get one started off.

And then just start building stuff

------
homeslice
Free code camp is great for Javascript.

