I'd recommend you not start with programming, learning things such as networking would be more useful(don't go too far though, learning the inner workings of tcp is good.. but not for a beginner). A solid grip of command lines(cmd/bash) is also a plus, learning how to use different OS's(backtrack should take care of your linux needs).
Learning to use tools like metasploit/nmap/nc, sniffer/MITM, vuln scanner, etc..(whatever comes with backtrack) is an excellent way to start, unless you wish to delay hacking for a while. You pick the tools, alot of choices.
The tools you choose will have a wiki/documentation, read it. There are also books available for the more popular ones, there was the nmap book and I saw recently released "metasploit the penetration tester's guide".. Haven't read it, have a long to-read list. Quick scan of it though looks good.
As for hacking techniques, there are many websites to consult. Read the papers, tutorials, etc.. Most of the sites have useful tools as well, since I'm on EZ I'll say start with this sites tutorial section.
As for languages you may wish to focus on easier to use, more often encountered languages like sql, bash. Basic PHP, JS/HTML & a scripting language of your choice. Also not only languages, protocols: HTTP should be the first.
Diving straight into Java or C++ right away will not help you. You'll find all you need has already been coded, although if you wish to take the opposite route(from the ground up), C & asm under linux.
IMO, haven't done this in a while.
> Evilzone should have a sticky for this question, it's a very popular one and for a very good reason. One made by several members, with a big ass collection of links.