41

I am quite new in Python programming. While googling I found some of the Python related words. I just wanted to know what is the difference among Python, Jython, IronPython, and wxPython.

I know wxPython is for GUI programming. But what are Jython and IronPython? Please help me.

2
  • 1
    Wikipedia is your friend: IronPython allows easy interop with .NET (and is based on the DLR) and Jython can be compilded to Java bytecode. Commented May 14, 2012 at 8:35
  • 3
    @TimPietzcker this question is now a very good reference for anyone who is googling for similar Qs :) Commented Aug 22, 2015 at 11:22

1 Answer 1

73

Jython and IronPython are different python implementations, both of which run on different virtual machines. Jython runs on the JVM (Java virtual machine) and IronPython runs on the CLR (common language runtime). This means that programs using these implementations can take advantage of the libraries and ecosystem of the virtual machines. For example, using Jython, I can write a plugin for a Java application, and using IronPython I can use the .NET standard library. The downside to using a different implementation to CPython is that CPython is the most used python, and therefore has the best support from libraries and developers. For example, a popular library like NumPy will only work on CPython, as it relies on CPython's C api, which neither Jython or IronPython can provide.

Sign up to request clarification or add additional context in comments.

3 Comments

You could also mention the other implementation: PyPy which is a Python implementation written in Python and has the advantage of (mostly) running much faster than CPython.
I concidered it when talking about numpy, but I was trying to emphasise how people usually choose an alternative implementation for the ecosystem/libraries.
There is also GraalPy (graalvm.org/python) - also based on JVM, unlike Jython it is Python 3, it does support the C APIs, so it can run NumPy, and supports JIT compilation like PyPy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.