

What is the best way to learn to program/hack from scratch? - deltapoint

What is the best language?
What is the best book?
What software is needed?
======
run4yourlives
1\. Build an application

2\. Go to 1.

I'm not being a dick. That's actually the best way to learn. You can read
books (and certainly will while doing number 1) but if you don't actually take
the time to sit down and build something, you'll never get a good enough feel
for how to program.

Once you've iterated that loop a couple of times, you'll realize you've done
it all wrong. But that's what learning is all about.

------
dood
Step 1. Buy whichever 'Learn Python' book you like the look of. Read book,
while hacking up little programs to amuse yourself and solve your problems

Step 2. Read some tutorials on the net to expand your knowledge. Investigate
open source programs like BeautifulSoup. Use open source stuff to build toy
programs with (e.g. RSS reader or screenscraper).

Step 3. Implement a project of moderate complexity, while reading more
advanced books, and browsing Python blogs to get a broader understanding of
how things work.

I assume this process would work for Ruby or PHP, but I think Python is the
perfect language for learners.

~~~
Shooter
I actually get asked this question quite a bit, and I'd like to be able to
offer a more informed answer. Depending on the specific interests of the
person that asks, I usually always recommend Python or Scheme and the standard
list of starting books.

I learned Scheme first, but I think Python is an equally great starting
language. In fact, I would be very curious to hear everyone's opinions on
Python vs. Scheme as a starting language...preferably without having your
standard language flamewar. I know about the MIT switch to the Zelle book and
their reasoning. What are some other pros and cons? I still lean towards
Scheme a bit, because I think the functional approach to problem-solving can
be more powerful...at least it was more eye-opening to me. (But, then, I'm not
a person that was especially gifted at mathematics.) Ideas?

~~~
dood
I've hardly looked at Scheme as I came to programming with an unacademic get-
stuff-done attitude. Which probably explains why I find Python so appealing,
and why I recommend it to others who want to learn a language to use as a
tool: it is immediately useful, fairly user-friendly, teaches good mental
habits, has abudant tutorials and soforth, a large helpful community, and lots
of active hackers hacking away and sharing their ideas.

------
german
Hmm, thats a very difficult question to answer... I think it depends on what
are you trying to create.

If it is a webapp I recommend learning JavaScript, for that you will have to
learn HTML and CSS before you start writing JavaScript code.

What you really have to do is to pick a simple programming language and start
coding with it. For me, the way to learn programming is by creating code,
first pick your programming language, then start reading about it, be sure to
start with a simple book or tutorial, don't look for advanced books.

What I'm saying is: Read a lot, code a lot, and have fun!

Good Luck.

------
ptn
1\. Write code 2\. Read code

You should go with Python, the syntax is really easy and the code it produces
is sexy.

To get you started right away, figure out what and how this does:

for i in range(5): print i

~~~
euccastro
You're doing both deltapoint and Python a bit of a disservice by choosing this
example as a starting point. I imagine if I had never seen python I would
expect something like

    
    
      12345
    

It's quite arbitrary that what you see is different, and while there is some
rationale to it, it's not very enlightening. Definitely not the kind of thing
I'd have a newcomer focus on.

------
ptn
1\. Write code 2\. Read code

You should go with Python, the syntax is really easy and the code it produces
is sexy.

To get you started right away, figure out what and how this does:

for i in range(5):

