Well, to tell the differences in language you need to know some basic syntax of each language. As for what operationg system it compiles and runs on, for me i just look at the code and you can usually tell by what file systems it modifies or if it includes any OS specific header files or packages.

But just as a cardinal rule dont cut, paste and run any code that you dont know what it does. especially if it is an exploit. Because you could really jack up your OS.