Writing code in a low-level programming language is considered to be more difficult, more error-prone, more time-consuming and expensive than writing the same code in a high-level language. A lot of software is implemented in low-level languages today, because it tends to produce efficient software. If this efficient code could be created through the use of a high-level language, many developers would probably prefer to use these types of languages more frequently.
One way to achieve this kind of efficiency in a high-level language is to produce a tool that translates code from one programming language to another. This tool could turn the code of a high-level language into the code of a low-level language. Java or Python could be translated to C or C++, for instance.
The creation of such a translation tool is by no means a small task, and several attempts and experiments have been carried out to figure out how it can be done. Attempts have been made to translate the high-level language of Python to the low-level language of C. None of the attempts that I am aware of have been able to solve this complex problem in full, but a few useful techniques and methods by which this problem can be solved can perhaps be deduced from these attempts. In this thesis I will take a look at what has been done in the field of code translation, and I will try to create a scaled-down implementation of a Python to C++ translator. I will also make investigations into how this translator could translate graphical user interfaces. In this regard I will look into how to translate Python to native C++ code for the Pocket PC 2002 operating system, a tiny version of Microsoft Windows that is designed to run on Palmtop computers.