

Ask HN: Non-Technial learning to code - Big tomes or small guides? - vorbby

Hey guys,<p>I'm a non-technical guy who has launched a successful site with a coder-friend, and we sold it for decent money (as far as two teenagers are concerned).<p>I'm now looking to code. I went out and bought Learning Python by Mark Lutz, and have done a bit of Learning Python The Hard Way.<p>As experienced coders, do you guys recommend reading the big tomes of knowledge, or using the smaller guides and using the saved time to write more code?<p>One thing to note is that I have pretty good patience and am willing to work through 1000+ page books. I'd also love to have a VERY solid background in the languages I learn, and not just "enough to get things done".
======
nandemo
Python is a great language to get started.

In my opinion, at that stage you should definitely concentrate on smaller
texts, do all the exercises and additionally write a lot of small but complete
programs.

As soon as you start writing programs that take more than a couple of hours to
write, you should start using a source control system.

You should also read some high-quality source code, especially small utilities
and small web applications. This will help you learn not only to write
idiomatic code but also how to organize the code, how to write makefiles, how
to write documentation, etc.

To be a really solid programmer it's not enough to know a programming language
well. You must also learn about object-oriented design, databases, memory
management, computer architecture, algorithms, security and other topics. It's
a long road, and (again, in my opinion) it's not necessarily a road you want
to follow if your main goal is to be an entrepreneur.

Have fun.

------
pdenya
Run through almost any programming book once and do enough examples that you
have a handle on what you're reading. The point of this is to get familiar
with basic programming (syntax, conditional logic, etc).

Once you're through the book start a project with a specific goal in mind and
go about implementing it. If you get stuck search on google or stack overflow.

A solid background in a language is something acquired by getting things for
long enough. The goal should be knowing "enough to get things done" and
continuously putting that knowledge to use.

------
rfurlan
Books are great to get you started, but real-world problems will always be
your best tutors. Try to build something by yourself begin-to-end, Google
whenever you get stuck, rinse repeat for a while and before you know it you
will start to feel quite comfortable working with code. Once you get to that
point, then maybe it would be a good time to step back and starting reading
more to learn different, perhaps more sophisticated ways of thinking about
your code.

------
wattjustin
@nandemo (or anyone else) - Do you have any recommendations on small apps or
utilities written in Python to learn from? I've just started learning it as
well in the last 2 weeks. I'm learning from "How to Think Like a Computer
Scientist" and trying to learn it properly. Any recommendations would be
great. Thanks all!

------
2mur
Subscribe to the python tutors list [1]. Take a break from coding for 20
minutes a day or so and just read about the problems that other people have.

[1] <http://mail.python.org/mailman/listinfo/tutor>

