On 02/28/2012 11:05 AM, John Hunter wrote: > On Sat, Feb 18, 2012 at 5:09 PM, David Cournapeau <[email protected] > <mailto:[email protected]>> wrote: > > > There are better languages than C++ that has most of the technical > benefits stated in this discussion (rust and D being the most > "obvious" ones), but whose usage is unrealistic today for various > reasons: knowledge, availability on "esoteric" platforms, etc… A new > language is completely ridiculous. > > > > I just saw this for the first time today: Linus Torvalds on C++ > (http://harmful.cat-v.org/software/c++/linus). The post is from 2007 so > many of you may have seen it, but I thought it was entertainng enough > and on-topic enough with this thread that I'd share it in case you haven't. > > > The point he makes: > > In other words, the only way to do good, efficient, and system-level and > portable C++ ends up to limit yourself to all the things that > are basically > available in C > > was interesting to me because the best C++ library I have ever worked > with (agg) imports *nothing* except standard C libs (no standard > template library). In fact, the only includes external to external to > itself are math.h, stdlib.h, stdio.h, and string.h. > > To shoehorn Jamie Zawinski's famous regex quote > (http://regex.info/blog/2006-09-15/247). "Some people, when confronted > with a problem, think “I know, I'll use boost.” Now they have two > problems."
In the same vein, this one neatly sums up all the bad sides of C++. (I don't really want to enter the language discussion. But this list is a nice list of the cons, and perhaps that can save discussion time because people don't have to enumerate those reasons again on this list?) http://yosefk.com/c++fqa/defective.html Dag > > Here is the Linus post: > > From: Linus Torvalds <torvalds <at> linux-foundation.org > <http://linux-foundation.org>> > Subject: Re: [RFC] Convert builin-mailinfo.c to use The Better String > Library. > Newsgroups: gmane.comp.version-control.git > Date: 2007-09-06 17:50:28 GMT (2 years, 14 weeks, 16 hours and 36 > minutes ago) > > On Wed, 5 Sep 2007, Dmitry Kakurin wrote: > > > > When I first looked at Git source code two things struck me as odd: > > 1. Pure C as opposed to C++. No idea why. Please don't talk about > portability, > > it's BS. > > *YOU* are full of bullshit. > > C++ is a horrible language. It's made more horrible by the fact that a lot > of substandard programmers use it, to the point where it's much much > easier to generate total and utter crap with it. Quite frankly, even if > the choice of C were to do *nothing* but keep the C++ programmers out, > that in itself would be a huge reason to use C. > > In other words: the choice of C is the only sane choice. I know Miles > Bader jokingly said "to piss you off", but it's actually true. I've come > to the conclusion that any programmer that would prefer the project to be > in C++ over C is likely a programmer that I really *would* prefer to piss > off, so that he doesn't come and screw up any project I'm involved with. > > C++ leads to really really bad design choices. You invariably start using > the "nice" library features of the language like STL and Boost and other > total and utter crap, that may "help" you program, but causes: > > - infinite amounts of pain when they don't work (and anybody who tells me > that STL and especially Boost are stable and portable is just so full > of BS that it's not even funny) > > - inefficient abstracted programming models where two years down the road > you notice that some abstraction wasn't very efficient, but now all > your code depends on all the nice object models around it, and you > cannot fix it without rewriting your app. > > In other words, the only way to do good, efficient, and system-level and > portable C++ ends up to limit yourself to all the things that are > basically available in C. And limiting your project to C means that people > don't screw that up, and also means that you get a lot of programmers that > do actually understand low-level issues and don't screw things up with any > idiotic "object model" crap. > > So I'm sorry, but for something like git, where efficiency was a primary > objective, the "advantages" of C++ is just a huge mistake. The fact that > we also piss off people who cannot see that is just a big additional > advantage. > > If you want a VCS that is written in C++, go play with Monotone. Really. > They use a "real database". They use "nice object-oriented libraries". > They use "nice C++ abstractions". And quite frankly, as a result of all > these design decisions that sound so appealing to some CS people, the end > result is a horrible and unmaintainable mess. > > But I'm sure you'd like it more than git. > > Linus > > > > > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
