[Python-3000] Ctypes as cross-interpreter C calling interface (original) (raw)
Jean-Paul Calderone exarkun at divmod.com
Mon Aug 14 19:20:00 CEST 2006
- Previous message: [Python-3000] Ctypes as cross-interpreter C calling interface
- Next message: [Python-3000] Ctypes as cross-interpreter C calling interface
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, 14 Aug 2006 09:09:49 -0700, Guido van Rossum <guido at python.org> wrote:
On 8/14/06, Jean-Paul Calderone <exarkun at divmod.com> wrote:
On Mon, 14 Aug 2006 08:31:31 -0700, Guido van Rossum <guido at python.org> wrote: >After thinking about it some more, IMO for most purposes ctypes is >really quite sub-optimal. I think it would make more sense to work on >Parrot support for Python. Sure, in the short term ctypes is more >practical than Parrot -- in its most recent incarnation, the latter >doesn't even list Python as a supported language -- a regression from >last year when Python support was among the best. But in the long >term, Parrot (like .NET or Jython do in other contexts) offers >cross-language interoperability, and perhaps even (like .NET and >Jython) automatic generation of wrappers. >
This is a joke, right? No. Why would it be a joke? Because it's a Perl thing? Because it doesn't acknowledge Python's obvious supremacy in the universe of languages? Because it admits that other projects sometimes have good ideas?
Heh. Strawmen, all. I assure you, none of these objections ever entered my mind.
Because it's a good idea to have to write separate wrappers around every useful library for each dynamic languague separately?
If a project has done this successfully, I don't think I've seen it. Can you point out some examples where this has been accomplished in a useful form? The nearest thing I can think of is SWIG, which is basically a failure.
This is not to say that it is not a noble goal, but I think it remains to be shown that Parrot is actually a solution here.
Because Parrot isn't real? IMO it's pretty real already -- the 0.4.6 release supports Ruby, Javascript, Tcl, and a bunch more (possibly even Perl 6 :-). I wouldn't be surprised if Parrot reached maturity around the same time as Py3k.
Parrot has been around for quite a while now without accomplishing anything much of practical value. Does anyone use it for Ruby, JavaScript, or Tcl? (I know no one uses it for Perl 6 ;)
For five years of development by a pretty large community, that's not showing a lot. The reason I suspected a joke is that you seem to want to discard a fairly good existing widely used solution in favor of one that's just vapor right now. Granted Py3k is a ways off, but it's not /that/ far off. We're talking about a year or two here. Is Parrot going to be as solid in a year as ctypes already is? I doubt it.
If you /really/ want to look outside of the Python community for solutions here, the lisp community has thought about this for a long time. Instead of looking at Parrot, you should look at the ffi provided by almost any lisp runtime.
Jean-Paul
- Previous message: [Python-3000] Ctypes as cross-interpreter C calling interface
- Next message: [Python-3000] Ctypes as cross-interpreter C calling interface
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]