compromising in the sense the softwares(especially security) that are not meant to be open source but they become one cause of reflection.
Does it mean that one can get the source code for almost all applications? And find the vulnerabilities Or just educate themselves?
What if one makes an app in the "reflective" languages and they don't want to give away the source code?
You don't get the original source code with decompiling. You get only something that comes close to it if you decompile .NET languages.
Most companies will prohibit reverse engineering. And additionally a lot of programs these days are obfuscated or packed to hide the source code from reverse engineers. That makes it harder to reverse engineer. But in the end, you have never a 100% protection from reverse engineering, no matter which language implementation you use.