[Numpy-discussion] Proposed Roadmap Overview

Charles R Harris charlesr.harris at gmail.com
Fri Feb 17 23:03:21 EST 2012


On Fri, Feb 17, 2012 at 8:07 PM, Sturla Molden <sturla at molden.no> wrote:

>
> Den 18. feb. 2012 kl. 01:58 skrev Charles R Harris <
> charlesr.harris at gmail.com>:
>
>
>
> On Fri, Feb 17, 2012 at 4:44 PM, David Cournapeau <cournape at gmail.com>wrote:
>
>> I don't think c++ has any significant advantage over c for high
>> performance libraries. I am not convinced by the number of people argument
>> either: it is not my experience that c++ is easier to maintain in a open
>> source context, where the level of people is far from consistent. I doubt
>> many people did not contribute to numoy because it is in c instead if c++.
>> While this is somehow subjective, there are reasons that c is much more
>> common than c++ in that context.
>>
>
> I think C++ offers much better tools than C for the sort of things in
> Numpy. The compiler will take care of lots of things that now have to be
> hand crafted and I wouldn't be surprised to see the code size shrink by a
> significant factor.
>
>
> The C++11 standard is fantastic. There are automatic data types, closures,
> reference counting, weak references, an improved STL with datatypes that
> map almost 1:1 against any built-in Python type, a sane threading API,
> regex, ect. Even prng is Mersenne Twister by standard. With C++11 it is
> finally possible to "write C++ (almost) like Python". On the downside,
> C++ takes a long term to learn, most C++ text books
>

Are crap ;) Yeah, that is a downside.


> teach bad programming habits from the beginning to the end, and C++
> becomes inherently dangerous if you write C++ like C. Many also abuse C++
> as an bloatware generator. Templates can also be abused to write code that
> are impossible to debug. While it in theory could be better, C is a much
> smaller language. Personally I prefer C++ to C, but I am not convinced it
> will be better for NumPy.
>
> I agree about Cython. It is nice for writing a Python interface for C, but
> get messy and unclean when used for anything else. It also has too much
> focus on adding all sorts of "new features" instead of correctness and
> stability. I don't trust it to generate bug-free code anymore.
>
> For wrapping C, Swig might be just as good. For C++, SIP, CXX or
> Boost.Pyton work well too.
>
> If cracy ideas are allowed, what about PyPy RPython? Or perhaps Go? Or
> even C# if a native compuler could be found?
>
>
>
Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20120217/5fc85923/attachment.html>


More information about the NumPy-Discussion mailing list