There are many aspects in becoming a "Hacker", "Cracker", or "Coder"... Your first step is to learn how things work, the best way to exploit anything is knowing the in's and outs... UGN Security recommends that everyone learn how certain things work dependant on what you're wanting to do...
- If you're wanting to "hack" websites we recommend researching web languages (PHP/MySQL, Perl, etc).
- If you're wanting to learn how to "exploit" windows or other operating systems we recommend that you read up on desktop programming (such as C++, Visual Basic, etc).
By learning some types of programming you're making strides in learning other languages as well as most languages tie into, and have a likeness of, other languages. For example, by learning PHP you'll likely be able to pickup Perl and C++ easier than by not having any experience.