On Fri, Feb 17, 2012 at 8:07 PM, Sturla Molden <stu...@molden.no> wrote:
> > Den 18. feb. 2012 kl. 01:58 skrev Charles R Harris < > charlesr.har...@gmail.com>: > > > > On Fri, Feb 17, 2012 at 4:44 PM, David Cournapeau <courn...@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
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion