Why cant the source code of proprietary software be "decoded"?Isn't the computational power and technology at the moment capable of accomplishing such a task?If a software is closed sourced then is there no means to understand the code behind it?A software being closed source absolutely guarantees that no one can see the code running it?<p>Note:I am not a programmer or a technically sound person,I am just curious to know.
There are various nuances to this question. It is certainly possible to decompile an executable program into source code with equivalent behavior, but that code may not be easy to understand. Well-written source code contains a lot of information — such as variable names and comments — that is not strictly necessary for the program to work (and thus is typically thrown away by the compiler) but makes the code easier to understand. Understanding code written in an unfamiliar style is difficult enough, but understanding code with no variable names or comments is usually not worth the effort.
A lot of software can be disassembled or decompiled, but you generally lose variable names and comments (especially if the code has been intentionally obfuscated). And generally the compiler that produced the code did optimizations which obscure the function of the code. Trying to decipher anything but trivial software from disassembled code is much more difficult than deciphering the code itself, which is often a non-trivial task on its own without good documentation.<p>See: <a href="http://en.wikipedia.org/wiki/Disassembler" rel="nofollow">http://en.wikipedia.org/wiki/Disassembler</a> and <a href="http://en.wikipedia.org/wiki/Decompiler" rel="nofollow">http://en.wikipedia.org/wiki/Decompiler</a>