[Python-ideas] stdlib with its own release cycle ?

geremy condra debatem1 at gmail.com
Mon Oct 26 02:21:22 CET 2009


On Sun, Oct 25, 2009 at 8:56 PM, Guido van Rossum <guido at python.org> wrote:
> On Sun, Oct 25, 2009 at 5:12 PM, Michael Foord <fuzzyman at gmail.com> wrote:
>>
>>
>> 2009/10/25 Guido van Rossum <guido at python.org>
>>>
>>> On Sun, Oct 25, 2009 at 4:38 PM, Michael Foord <fuzzyman at gmail.com> wrote:
>>> > Well, you can use Python C extensions with Ironclad [1]. The maintainer
>>> > hopes to port the core to Jython at some point as well.
>>>
>>> What do you personally think of Ironclad? And (separately) of those hopes?
>>>
>>
>> It seems like it ought to be an impossible task - reimplementing the Python
>> C API for another platform. It actually runs surprisingly well
>> (astonishingly) and I know of at least one bank in London now using it in
>> production. The Ironclad implementation reuses the Python C source wherever
>> possible in order to minimise the core that actually needs implementing.
>>
>> A *large* number of the Numpy and SciPy tests pass with it (~1000 of each
>> last time I checked) and *generally* performance is pretty good. I'd like to
>> see Ironclad in wider use.
>>
>> The hopes of the Ironclad maintainer to reimplement the core for Jython is
>> certainly *plausible*, but it of course depends on him finding time in the
>> future.
>>
>> Personally when I write IronPython code I try to avoid a dependency on C
>> extension modules as it seems to me that the *point* of IronPython is to
>> make use of the .NET framework (otherwise you might as well just use
>> CPython). Where Ironclad is being used is where people want to interface
>> existing Python systems to existing .NET systems and that makes a lot of
>> sense (you'd rather avoid rewriting chunks of either if you can and Ironclad
>> acts as a bridge).
>
> Hm. In the Java world, there are many target environments where
> depending on C extensions would not fly at all, since the only
> commonality between platforms is the JVM interface. (And sometimes not
> even that -- e.g. Android uses a different VM to run Java.) I'm
> guessing that in the .NET world this is much less of an issue, since
> (a) the platform is more homogeneous and under control of Microsoft
> (Mono notwithstanding) and (b) .NET explicitly targets other languages
> (though it prefers "managed C++", it supports plain C++). Have I got
> this right? I see the prospects for an IronClad-like thing in the Java
> world as pretty slim because of this.
>
>> Michael

You've always got the JNI. I wrote the better part of a system to
wrap Android's Java libraries for Python using it last summer, and
although I stopped when I had enough working to use the Android
components I needed from Python, I think it would have been
comparatively easy to finish the job.

Geremy Condra



More information about the Python-ideas mailing list