1. A system for generating source code, comprising: a processor configured to: receive a source binary representation encoded using a first programming language, trace the source binary representation to determine an intermediate representation of the source binary representation, optimize the intermediate representation, and use the optimized intermediate representation to generate a target source code in at least a second programming language that does not require a virtual machine to execute, wherein the target source code has not been compiled; wherein optimizing the intermediate representation includes using an intermediate programming language to functionally modify an object-oriented programming model object reference into a procedural programming model version; and a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions; wherein functionally modifying the object-oriented programming model object reference includes functionally flatting the object-oriented programming model object reference by resolving and relinking an object-oriented look-up into the procedural programming model version, generating a renamed procedural programming model method by prepending a fully qualified class name to a name of a corresponding oriented programming model method, and modifying the intermediate representation to use a chained tail recursion to approximate a multithreading not directly supported by the second programming language.