1. A computer implemented method of transforming a source code written in a source programming language into multiple target modules written in multiple different target programming languages, said computer implemented method comprising the steps of: parsing a source code written in a source programming language into multiple source modules; selecting multiple target programming languages suitable for transforming each of said multiple source modules of said source code into multiple target modules, wherein all of the multiple target programming languages are different from one another; a processor looking up, for a source function of each of said multiple source modules, an equivalent target function that is performed using a target programming language from selected said multiple target programming languages; the processor transforming each of said multiple source modules into multiple target modules that all perform said equivalent target function of said source function, wherein each of the multiple target modules is written in a different language selected from the multiple target programming languages; and the processor ranking said multiple target modules transformed from each of the multiple source modules according to their relative efficiencies, wherein a highest ranked target module is more efficient than other ranked target modules derived from said each of the multiple source modules.