Jonathan S. Shapiro wrote:
On Wed, Sep 23, 2009 at 9:45 AM, Tom Bachmann <[email protected]
<mailto:[email protected]>> wrote:
I strongly side with bas here. Even if you hate so many things about
C++ (which I'm not going to argue about), the syntactic sugar for
non-fancy OOP (i.e. class and method structure, single inheritance)
is a sufficient reason to use C++ IMHO.
That is certainly a credible argument for application code.
For microkernel code, I can only tell you that we downgraded from C++
back to C in Coyotos, and that doing so simultaneously reduced
complexity and increased performance.
That's interesting to hear. Any specific reasons? (When looking at the
pistachio source every now and then, I think I can somewhat imagine why.)
For application code, the hazard is that all implementations of
abstraction involve indirection, indirection is slow, and all OO
languages have as a primary objective the seduction of young programmers
into an abiding love of gratuitous abstraction. And they succeed!
Oh dear, I'm busted. Guess what language I learned first *g*. (Yes, it
is C++, and yes, I subscribe to the "abstract whenever it makes your
code look nicer" paradigm. But I think I also know when and how to
break, or to omit in the first place, abstractions for performance.)