Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Difference between CPython, Python for .NET and IronPython?

115 views
Skip to first unread message

Carl Johan Rehn

unread,
Feb 18, 2006, 10:02:46 AM2/18/06
to
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

Claudio Grondi

unread,
Feb 18, 2006, 10:19:14 AM2/18/06
to
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

Diez B. Roggisch

unread,
Feb 18, 2006, 10:41:35 AM2/18/06
to
> 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

Ian Bicking

unread,
Feb 20, 2006, 5:47:25 PM2/20/06
to
Claudio Grondi wrote:
> 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

0 new messages