I don’t know (but wanna learn) programming, but, for example, can’t you inspect the code of an app if it’s installed?
(yeah this is kind of a stupid question.)
EDIT: Thanks for the clarification, guys!
I don’t know (but wanna learn) programming, but, for example, can’t you inspect the code of an app if it’s installed?
(yeah this is kind of a stupid question.)
EDIT: Thanks for the clarification, guys!
Kinda. What you’re referring to is “decompilation”, which is the process of taking the output of a compiler and trying to reverse-engineer the code that produced it. But decompiled code is really hard to read and modify, because it isn’t what humans wrote, it’s what the compiler translated it into, and that can have some unexpected changes than are mostly irreversible. And, since it’s closed source, if you somehow manage to make a change, you can’t re-release it – you don’t have the license to do so.
With open source, you see the same code as the maintainers, so it has the high-level programming concepts and good variable names, and you have permissions to fork and release your own version.
The other thing is that on modern platforms, decomplied code can and will be ludicrously complex and probably rely on several levels’ worth of abstraction layers, external libraries, API’s, and sandboxes provided by the OS or whatever other platform it’s meant to run on. Outside of microcontrollers and some embedded applications, the days are long gone where you just have relatively simple machine code running directly on the bare metal of the computer’s processor and unprotected memory.
This is a very good addition!
Assembly is a difficult beast