1. A method for providing anti-piracy protection for a software application, comprising: providing a language specification for a programming language, a library to implement the language, a compiler to compile the language into byte codes, and an interpreter to execute the byte codes using the library; and providing the language specification, library, compiler, and interpreter, in conjunction with instructions to a software publisher, wherein the software publisher embeds the library and interpreter in the application, selects and prepares application code portions for conversion to byte codes, compiles the prepared portions into byte codes using the compiler, and executes the application using the interpreter and library, wherein during execution of the software application, the interpreter interprets the byte codes, thus obfuscating the application's execution path.