wiki:SciPy2009

Version 1 (modified by flip, 10 years ago) (diff)

--

Philip - What I Gleaned at SciPy 2009

I focused on learning about two things while at the conference: packages that could help us talk to other languages (C, C++, Fortran) and packages that could help us speed up code.

Cython

Cython falls into both categories. For wrapping code, Cython could challenge ctypes and SWIG for some uses. I don't want to get into a compare/contrast of Cython, ctypes and SWIG here, but that would be a useful document to write at some point.

Cython can also provide a small code speedup with little investment.

I don't remember hearing anyone mention SWIG.

At a BoF meeting, I learned that most of the main developers on Cython are distracted with other things for the foreseeable future (12 months or so). They won't be AWOL but we should not expect many changes to Cython except for bug fixes. Dag speculated that the next source of dedicated effort will most likely come from a Google Summer of Code student.

fwrap

I also learned about fwrap, a Fortran-to-Python convertor. I spoke to the lead developer (Kurt Smith) at a BoF session and he told me something interesting. Fortran has had an unusual growth pattern. Most languages add features as they age making them more difficult to parse. That's not the case with Fortran.

F77 has roots in the wild & wooly days of computing. The specification had holes and compiler writers filled them as they saw fit. F90 tightened up the language and added features to make it easier for Fortran to talk to other languages. As a result, it's easier to parse F90 code than F77, and his project has focused mostly on the former. He said that fwrap cannot yet challenge f2c for handling edge cases in F77 code. fwrap isn't exactly flush with developers, and so it might never outdo f2c for F77 code.

Misc

I was pleased to see so many developers working together. Most (all?) of those developers were there on someone else's dime, so by extension I can also be pleased that so many companies are willing to fund open source.