I am not a programmer, I am into network security for example pen-testing, vulnerabilities social engineering etc. Any who i would like to learn language so i can make my own payloads and small program's and such (for testing of course).
I know windows, Linux, Unix and MAC OS use C , C++ and some other languages to create their OS. I wanna have a little knowledge on it so i was reading around and I saw people saying to learn C first instead of C++.
I just want to get more opinions also please recommend any other languages you think might be helpful.
I would say it all depends on what and how you would like to test
If you simply want to create exploitation vectors and payloads, I suggest you contribute to the Metasploit project. That project was originally written in Perl, but the latest version is in Ruby. If that tool would be useful for you, I suggest you learn those languages as you would then be able to contribute to the project and save yourself the trouble of recoding tons of stuff other people already created.
If you want low-level control over the machine or even do kernel programming, the C is definitely the language you want to get familiar with.
If you want a general-purpose programming language with lots of built-in API functions, then I suggest either Perl or Java (or similarly Groovy). Each of them have pros and cons, I suggest you use the one that might already be more widespread where you are working. For example, I know a few companies that use Perl as part of their network monitoring infrastructure so for you it might serve a dual-purpose.
Well I really want to protect against other people I figure if i can hack your system anyone can. So I am going after all OS and I do want to create exploits and payloads. I been using Metasploit and KarMetasploit. Also would liek to make my own recon program like nessus.
I was leaning more towards C in the beginning because I know its written in a lot of OS so I figured if I learn C I can write something that will affect OSX, Windows and Linux etc.
But after reading your comment I might look into Perl little more