Marco Arment, creator of Instapaper and cofounder of Tumblr, on getting started with programming:
The best way to get started is to rethink the question to be more pragmatic:
What do you want to make first?
Be specific. The answer isn't "iPhone apps" or "websites". An iPhone app or a website to do what, exactly?
(...)
Once you have that specific idea, the other questions become much easier to answer...