A good beginner language would be python. Easy to pick up an learn, also really easy to toss up something quickly.
I think C, C++, Obj-C, or any C language would be a good mid level language. C is often used in programs with common vulnerabilities like malicious string formats, heap sprays, buffer overflows, etc. Learning that will be invaluable.
If you get really serious about it, in a few years consider studying x86 assembly. If you get into exploit development, debugging, reverse engineering, then you WILL need to know it. But its also great to know as it teaches you a great deal how your computer works under the hood.
This is just my opinion on what you should do. Everyone has their own preference for languages to learn, these are just mine.