A loooong time ago - I taught myself how to write software in the BASIC Programming language on a Radio Shack TRS-80 in middle-school. From there -- I moved up to an Apple II+ computer -- and still continued to write programs in BASIC. (and don't knock BASIC, back-in-the-day, Bill Gates started his Microsoft empire from the humble roots of the BASIC Programming language and DOS...but that's another story)
"Basic Computer Games" by David Ahl was how I taught myself to code when I was about 11 years old. I loved that book.
On these simple machines - you turn on the computer, and just start typing. You had everything you needed to let your imagination run wild writing stuff. Life was good.
Now -- The computer world is over-whelming. The "Introductory" Java book we use for our Java classes is 1000 pages long. ONE THOUSAND PAGES! Plus all the tools, frameworks and servers...Integrated Development Environments, compilers, and Web Containers. Phew...Life is now complicated.
Well - somebody has recognized this to be a problem for the beginner and created a self-contained learning environment that even a child could use called Hackety Hack. Learn to program in a friendly environment again! (you know its friendly because it has a cute cartoon character) - Hackety Hack will step through multiple lessons that teach you (or a child) how to write small computer programs. Ever want to write your own WebLog program?
Check it out!