>>19I will have to disagree on some of this because the "hacking" culture goes far beyond just coding. But you are right: (computer) hacking require knowledge of the underlying technology. And knowledge of said technology require...passion (this one is true for all hacking you will want to do in your life).
Computer hackers are passionate fans. The kind of people who look up how garbage collectors work in Ruby "just because" when most users out there won't even try to think about it (or know it exists).
For buffer overflows (which are a staple of hacking and the basis of most exploits out there in the wild), the definite read is "Smashing the stack for fun and profit" by Aleph1 and published in issue 49 of Phrack: http://www.phrack.org/issues.html?issue=49&id=14#article
I also encourage you to just read everything you can put your hands on. If you want to learn to code, start with C and ruby. They are a bit similar, (somewhat) easy to understand and both got clearly defined uses.
However, all this will be for naught if you don't learn a (computer) hacker's first skill: research. This may sound condescending but everything you need is out there (yes, even how to write a shell though all major shells have been written more than ten years ago). To do that, you must learn how to break apart a big problem ("How do I hack my neighbor's computer?") into smaller pieces ("How do I get on his wifi anonymously?" then "How can I get inside his machine?") until you get to information you can easily find and learn.
To give you an example of a hacker, look up delroth from the Dolphin project (the GC & Wii emulator): he got a Wii for Xmas some years ago and had an exploit to run homebrew apps on it written right in time for Valentine's day. Sounds hard? Well, when you look at how he did it...not so much ;)