Technical term: Obfuscation is sometimes used to make source code much harder to read and reverse engineer. This can be a significant concern for technology like Java and JavaScript that require source code to be exposed in order to function.