Hi Isran,
if u want to write software for multi platforms (linux, mac, windows), than you can use c/c++, java and so on.
If you only want to write programs for windows, u can use c# (.net languages). .net works with mono on mac/linux too, but is still under development.
You want to be a geek? Use c/c++, there u have the most possibilities and freedom, but it's harder to learn (pointers, no garbage collection out of the box...).
My opinion is: U can use the language u prefer. Once u know what you are doing, switching to a other one is like to switch a car if u have learned to drive. I can give you a hint: choose a object oriented language, cause this is the state of the art of programing. There are lots of tutorials on the net, but i think a good book is the best way to learn it.
The way is long and hard, you need years of experience to learn how to develop safe software which really works u want. Don't know if you like to hear that, but learning to program is not like installing some software, write a little bit of code and have fun. It's really really hard!
Greets, roy