If you're starting from the very beginning, learn a good text editor. (Editing is such a huge part of programming and has so many other payoffs that it is a very good first step.)
Use a forgiving and simple language like Python, and ideally an operating system where the tools you need are already installed.
Learn the documentation systems for your language of choice. For instance, in Python, you can go to http://www.python.org, run the command-line "pydoc" tool, and use the "help" function in an interactive session.
Use things like StackOverflow and Google (i.e. learn how to find answers and ask questions). These days, help isn't too far away.
Choose some programming goal, even that goal is something arbitrary like reading 20 lines of a text file and printing all the words that start with A. Make yourself write programs that achieve arbitrary goals so that you're satisfied with how well you're learning the language. Do this for a few weeks before you attempt anything remotely related to the "real" reason you learned programming.
Also, get a mentor, and some like minded people to share code reviews with.
And not only write code, but also read code.
And debugging is actually a more useful skill than writing new code, and comes in handy far more often. It also tends to be more painful. But where there's mud, there's brass.
Use a forgiving and simple language like Python, and ideally an operating system where the tools you need are already installed.
Learn the documentation systems for your language of choice. For instance, in Python, you can go to http://www.python.org, run the command-line "pydoc" tool, and use the "help" function in an interactive session.
Use things like StackOverflow and Google (i.e. learn how to find answers and ask questions). These days, help isn't too far away.
Choose some programming goal, even that goal is something arbitrary like reading 20 lines of a text file and printing all the words that start with A. Make yourself write programs that achieve arbitrary goals so that you're satisfied with how well you're learning the language. Do this for a few weeks before you attempt anything remotely related to the "real" reason you learned programming.