IronPython (Python running on .NET)
Jython (Python running on the Java Virtual Machine)
PyPy (A fast python implementation with a JIT compiler)
Stackless Python (Branch of CPython supporting microthreads)

Do we have to write different codes for those different python implementations (aka compilers ,right?) << If I download windows x86 windows install,which implmentation will I be using

The default implementation is called C python. It is the main flavor of python, compiled from C. I would recommend C python unless you have specific needs in your apps.

In practice, code written for IronPython will access microsoft .net classes, code written for Jython will access java classes, code for Stackless python will use microthreads, so it all depends on which libraries your python code is using. In the same way, some libraries are available in C python and not in the other pythons.

General python code using standard libraries should run in all versions (however, read the docs).

so is the Cpython compiler written in C ?

and Jython is written in Java etc.....??

Jython is written in Java,

yes, and PyPy is writen in Python (or limited subset RPython), but IronPython is .Net friendly implementation, written in C# (thanks, Gribouillis!).

According to wikipedia, ironpython is entirely written in C#.

commented: Thanks for checking it out! +12