Teh WomenzI'm rolling my eyes right now, just so you know. I'm sure EVERY programmer should really be interested in "teh womenz."
OTHER HOBBIES FOR FUCK SAKE
Now my head is firmly planted in the palm of my hand. You seriously can't tell them apart they're so embedded. I don't know when that started happening, but it's really quite remarkable.
People program as a hobby. It's how a lot of free software gets written. It's how people learn.
Here's a simpler guide to "becoming a hacker":
1. Read a tutorial (note: not a big honking book or anything listed on in the article. not yet.)
2. Implement the most simple possible number guessing game
3. Think of ways to improve the game and implement them
4. Get stumped on something, refer to the language documentation, or google as a last resort
5. Repeat 3-4 until you've exhausted all your ideas
6. Find a slightly more ambitious program to write. An address book is a good start. Repeat 3-4 until you have a decent address book program
7. Repeat 6 until you have a handful of small programs under your belt
8. Now pick a book to read, pick the parts that interest you, do the exercises if there are any, and take notes
9. Apply what you've learned to improve your programs; if you notice some marked improvement (readability, performance, your own productivity), retain that theory. if there was nothing gained; repeat this step or abandon it and move on
10. Start building non-trivial programs, forking open source projects, and write more code. Do some coding puzzles once in a while
For any new language, start at 1.
I am generally against starting with books. Especially for people who are interested in programming but haven't already figured out how to write and compile a few simple programs on their own. These sorts of people aren't even sure that they will like it, so throwing a thick meaty book filled with a whole bunch of nonsensical programmer-speak isn't going to really entice them. I say wait for the books until you've gotten a taste and are committed to learning more. The effect is much more impressive when you just run some code and see the computer "do stuff." That's when you realize it's not rocket-science and anyone can do it.
Heck, it's they're really, really not sure... give them Logo or http://docs.racket-lang.org/quick/index.html
Bad ass hackers just do it. Learning all the theory first is just a barrier and a big downer.