On Fri, Feb 17, 2012 at 9:29 PM, David Cournapeau <courn...@gmail.com> wrote: > > Le 18 févr. 2012 00:58, "Charles R Harris" <charlesr.har...@gmail.com> a > écrit : > > >> >> >> >> 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. > > There are two arguments here: that c code in numpy could be improved, and > that c++ is the best way to do it. Nobody so far has argued against the > first argument. i think there is a lot of space to improve things while > still be in C. > > You say that the compiler would take care of a lot of things: so far, the > main thing that has been mentionned is raii. While it is certainly a useful > concept, I find it ewtremely difficult to use correctly in real > applications. Things that are simple to do on simple examples become really > hard to deal with when features start to interact with each other (which is > always in c++). Writing robust code that is exception safe with the stl > requires a lot of knowledge. I don't have this knowledge. I have .o doubt > Mark has this knowledge. Does anyone else on this list has ? > >>> >>> I would much rather move most part to cython to solve subtle ref counting >>> issues, typically. >> >> >> Not me, I'd rather write most stuff in C/C++ than Cython, C is cleaner ;) >> Cython good for the Python interface, but once past that barrier C is >> easier, and C++ has lots of useful things.
What happened with the IronPython implementation of numpy that was translating into cython, as far as I understood. (just as curious bystander, I have no idea about any of the low level stuff.) Josef >>> >>> The only way that i know of to have a stable and usable abi is to wrap >>> the c++ code in c. Wrapping c++ libraries in python has always been a pain >>> in my experience. How are template or exceptions handled across languages ? >>> it will also be a significant issue on windows with open source compilers. >>> >>> Interestingly, the api from clang exported to other languages is in c... >> >> >> The api isn't the same as the implementation language. I wouldn't prejudge >> these issues, but some indication of how they would be solved might be >> helpful. > > I understand that api and inplementation language are not the same: you just > quoted the part where I was mentioning it :) > > Assuming a c++ inplementation with a c api, how will you deal with templates > ? how will you deal with exception ? How will you deal with exception > crossing dll/so between different compilers, which is a very common > situation in our community ? > > david > >> >> <snip> > > >> >> Chuck >> >> >> _______________________________________________ >> NumPy-Discussion mailing list >> NumPy-Discussion@scipy.org >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion