Types, Cython, program readability

Tim Golden mail at timgolden.me.uk
Mon Mar 17 05:14:30 EDT 2008


Tom Stambaugh wrote:
>> I'm not entirely sure why you think Pyrex should "contain a compiler".
>> It certainly works well enough with the free [beer] MS VS 2008 Express
>> and I'm fairly sure it's fine with MingW. Both of those are readily
>> available and I don't imagine anyone who's going to use Pyrex / Cython /
>> ShedSkin is going to baulk at downloading a compiler set :)
> 
> Anything like this is a lot more attractive to me if I can download and 
> install a binary without *needing* a compiler. Most of the time, I just want 
> something to run -- I don't want to risk diving in compiler-hell if I can 
> avoid it. It isn't downloading the compiler set that worries me, it's that I 
> almost never even want to think about it.

I certainly sympathise with the compiler-hell syndrome here: the
subject of compiling Python itself and its extensions under
Windows has long been a source of questions and qualified answers
on the Python lists. This cuts both ways: Python itself is effectively
only buildable with the MS tools [1] (notwithstanding some valiant
efforts to provide patchsets so that it builds under MingW [2]). On
the other hand, some useful libraries, say ffmpeg, only *won't* build
with the MS tools[3]. Both sides of that debate have a valid position,
but it doesn't ultimately help the developers. Which is probably why
avbin/pyglet[4] took the decoupled route and used ctypes to join the
two together!

In the case of a general extension (like simpleJSON or PIL etc.)
I'm usually just after a binary. In the case of Pyrex, though, the
Pyrex code *itself* is pure Python; it's the code it generates which
is C -- one step further away. Granted, it might be possible to produce
some sort of bundle which shipped a MingW-based extension along with
the Pyrex release bundle, but my own philosophy is that, if you've
got to the point of using Pyrex then downloading a compiler isn't
going to be too much work.

It's clear, though, from the posts in this thread, that other
people don't necessarily agree. Admittedly I have the advantage
of being a professional programmer who is therefore bound to know
what a compiler *is*!

TJG

[1] 
http://coding.derkeiler.com/Archive/Python/comp.lang.python/2006-04/msg03627.html
[2] http://jove.prohosting.com/iwave/ipython/pyMinGW.html
[3] http://ffmpeg.mplayerhq.hu/faq.html#SEC36
[4] http://code.google.com/p/avbin/



More information about the Python-list mailing list