Well ASM is the language to understand, but actually coding in ASM is allmost impossible from my point of view. Understaning ASM is another thing, but writing it - hmm I dunno on that one.

Well impossible is a bit harsh its just im too lazy to dedicate my head to it I prefer knowing what to look for when debugging/hooking applications than to actually learn its raw code outline.

My personal choice would be C++ sofar because as stated in another post up there its the only language which I have been exposed too and also because I love its relevance to Java, which makes Java a whole lot easier to understand if you know C++.

But since I am spending more and more time on *nix platforms now I really am wanting to get aquainted with C. But lets see everything with its time.

And C# is something I will definately invest in learning cause from what I have seen what .net apps are able to do I am totally for it.

Ohh and Seph, what they mean is that C as it is a predecessor to C++ (C with classes) it has more power over the manipulation of the system itself, you can write C code that will be understood by, I guess, allmost all platforms but C++ is much more architecture sepcific, for example, Coding C++ under Linux will be different to coding C++ under Windows - why? Cause those platforms are already compiled with their default Header file names and so on, accessing a system resource or a shared driver/kernel file would be handled differently under the two platforms. Whereas C is more of a universal language that requires more in depth programming but will achieve in allmost every case the same results under the two platforms.

Bah I think I explained that allright but I think i mixed up a point there somehere, someone have a look!
The use of "hacker" to mean "security breaker" is a confusion on the part of the mass media. We hackers refuse to recognize that meaning, and continue using the word to mean, "Someone who loves to program and enjoys being clever about it."
"Its not a bug, its a feature" (Epic Games)