Difference between CPython, Python for .NET and IronPython?

C

Carl Johan Rehn

What is the difference between CPython, Python for .NET, and IronPython?

For example, if I'm running IronPython, can I access modules such as Numeric
and numarray?

As I understand it, interoperability with C# and .NET works in both
directions with IronPython, but CPython modules cannot be imported, or?

With Python for .NET I can import the .NET Framework and continue using
CPython modules, or?

What is the roadmap for IronPython, will it be possible to import CPython
modules in the near future?

One last question, is IronPython cross-platform. That is, can I use
IronPython with Mono?

Carl
 
C

Claudio Grondi

Carl said:
What is the difference between CPython, Python for .NET, and IronPython?

For example, if I'm running IronPython, can I access modules such as Numeric
and numarray?

As I understand it, interoperability with C# and .NET works in both
directions with IronPython, but CPython modules cannot be imported, or?

With Python for .NET I can import the .NET Framework and continue using
CPython modules, or?

What is the roadmap for IronPython, will it be possible to import CPython
modules in the near future?

One last question, is IronPython cross-platform. That is, can I use
IronPython with Mono?

Carl
I have asked similar 'question' some weeks ago in the German Python
newsgroup.
It seems, that that Pythonistas have generally not much interest in
IronPython waiting for at least release 2.0 of it which is _perhaps_
expected to support Mono.
It seems, that usage of IronPython is currently limited to Windows
platform, but I was not able to attract any expert on it to give a clear
answer to that.
My own short test has shown, that compiled DLLs (extension modules)
don't work in IronPython and the created .exe-s of simple Python scripts
fail to run.
Curious to hear if there will be any expert response to your posting
here (except replies from people like me, who have no idea about the
subject themselves).

Claudio
 
D

Diez B. Roggisch

For example, if I'm running IronPython, can I access modules such as Numeric
and numarray?

AFAIK not. You can run pure python modules, but not extensions
containing native code.
As I understand it, interoperability with C# and .NET works in both
directions with IronPython, but CPython modules cannot be imported, or?

If they are pure python they can. However, there isn't e.g. a os-module
in IronPython (at least on mono under MacOSX) - so I guess the situation
is similar to Jython: you are basically limited to what the host-runtime
delivers.
With Python for .NET I can import the .NET Framework and continue using
CPython modules, or?

Yes. It's a bridge. Problem is: you can't use Python-Objects in
..NET-code, which is at least theoretically possible in IronPython (not
sure if it has something like the jythonc of jython that makes that
possible for jython, or if it can be done more automagically)
What is the roadmap for IronPython, will it be possible to import CPython
modules in the near future?

I doubt it - it's just not the goal, after all you want the CLR
precisely for _not_ needing bindings for C-libs on various platforms.
However, I guess a goal is that you get all python modules in IronPython
that are availablein the standard dist to make pure-python modules run
out of the box. But I don't have any insights on that.
One last question, is IronPython cross-platform. That is, can I use
IronPython with Mono?


Yes, I did so under mono/MacOSX.

Diez
 
I

Ian Bicking

Claudio said:
I have asked similar 'question' some weeks ago in the German Python
newsgroup.
It seems, that that Pythonistas have generally not much interest in
IronPython waiting for at least release 2.0 of it which is _perhaps_
expected to support Mono.

My understanding is that Mono developers are trying to make each
release of Mono support whatever the last release of IronPython was.
So there might be a lag, or you have to run a version behind, to use
Mono. But it is supported. At least, I think I read something to that
effect in the IronPython archives; I haven't tried it.

My more vague impression is that most Python people are happy enough
with CPython (because they better be happy, because that's what we've
had), and at least people like myself dread nothing more than trying to
install software or platforms. I suppose there's also a group who are
interested in these interpreter/runtime level issues, but are working
away on PyPy. PyPy has stolen away at least one major developer from
Jython (though in all fairness I think he'd mostly left anyway).

That said, I think concrete instructions on exactly how to get
IronPython up and working -- for someone with no .NET experience or
familiarity with that toolset -- would be an excellent way to bring
more attention to IronPython from the existing Python community.

Ian
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,756
Messages
2,569,540
Members
45,025
Latest member
KetoRushACVFitness

Latest Threads

Top