As many of you know me and Kurt attended SciPy 09. Four Cython-related
events were held:

  - An introductory tutorial to Cython (by me)
  - A talk about Cython for numerics (by me again)
  - A talk on Fwrap (by Kurt)
  - A Cython BoF

You can find links to slides and videos for the three first on
http://conference.scipy.org.

An intensive week like that makes me reflect on what Cython is good
about, lacking, etc. etc.

First of all, there seems to be quite a lot of interest in Cython, many
thinks it is excellent, and many thanked me personally for our efforts.

One thing that's also very interesting to me personally is that there's 
some talk of porting parts of NumPy over to Cython for easier Python 3 
support.

Beyond that, I've got a nice list of topics for further improvement. For 
instance one thing that is very possible to fix was a real dealbreaker 
that some complained about, and in one case stopped somebody from 
recommending it to co-workers. It's always nice to get the "outside" 
perspective that I get when I present Cython to lots of people.

BUT, I'm going to wait a little with presenting that list. It simply 
feels too depressing to discuss lots of new ideas etc. without dealing 
properly with how such ideas can ever be brought to life. In the end, 
what matters right now is to stabilize -unstable, get the GSoC work 
merged in, and get 0.12 released; which at the current pace should keep 
us busy for some months to come.

On that note though: It seems to me that many has the impression that

a) Cython is complicated technology which takes much work
b) A lot of effort is put into steadily improving it

BUT, I feel the reality is that

a) Core developers can implement new features or fix bugs rather quickly
b) Relatively little time is spent in total on Cython, compared to some
other projects

I don't mean to belittle the efforts Robert and Stefan and others have
put into Cython; I just feel that the amount of work going on in Cython
is really less than people think it is.

Or put another way: Putting relatively little in can, at least at this 
point in Cython's development, yield high returns.

Example: Profiling was a feature many at SciPy was anxious about
getting and was asking about a lot. That's in trunk now, mainly because 
Robert had an intercontinental flight (!!). (That admittedly might say a 
lot more about Robert than Cython, but still.)

In a year things might have changed; I think this is a perfect time to 
evaluate whether Cython should solicit help of some form.

The best would be CS master students ready to work on Cython (perhaps 
they can come to Oslo for their MSc :-)). Donations towards employing 
one of the core devs (Robert or Stefan, if at all possible...) for one 
day every week could do wonders for the whole project and likely 
energize everyone else as well as one sees bugs fixed and releases made, 
but is probably not realistic?

Cython can thrive without this too though! Looking at the coming 
half-to-three-quarter year, here's what I'm guessing will happen:

  - I might get the new memoryviews from summer finished and merged with
trunk
  - Cython might run properly in Python 3 (w/ 2to3)
  - Get -unstable stabilized and released (significant portion)
  - Closures
  - Fwrap released
  - Better C++ support merged
  - Perhaps some pyximport improvements

Not bad at all! But, there's also a long list of projects we already 
badly want to have done that we can't possibly reach now, IMO:

  - Fix the bugs, complete the test suite
  - Speed up compilation speed, break up compilation units/utility code
  - Control flow analysis!
  - Convenient debugging, line-by-line profiling
  - SIMD
  - Many rather low-hanging fruit CEPs which would make using Cython a 
nicer experience
  - Full Python semantics compatability for untyped code
  - Type inference/a better pure Python mode

It is this last list I don't want to make longer just now by coming with 
all the ideas and input I got during SciPy 09 :-)

Thoughts on the picture I'm painting?

-- 
Dag Sverre


_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to