"Marco Costalba" [off-list ref] writes:
On 9/23/07, Pierre Habouzit [off-list ref] wrote:
quoted
quoted
Object oriented languages creates black boxes: that's the reason
why object oriented exsists and also the reason why Linus hates
it ;-)
quoted
So please stop with this myth. And don't speak for people, I would
be very surprised that Linus would dislike "black
boxes". Abstractions are good, when used wisely, and I would be
much surprised to see Linus pretend otherwise.
From a Linus recent thread:
quoted
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.
Perhaps I have misunderstood, but the idea I got is that for Linus
OO brings in more problems than what it tries to fix.
I read that as OO bringing in more programmers capable of creating
problems than those capable of fixing them.
It is not the fault of OO in itself, but it is the bottom line that
counts: if it draws the wrong audience for the wrong reasons, it
better had great benefits to offset that. Not quite unsimilar with
communism: the idea is great in principle, but the idea has no
built-in self-check. Capitalism, in contrast, is a distasteful idea
at its heart, but it is rooted soundly in individual egoism. Which
does not make it any less distasteful, but at least it tends to work.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
On 9/23/07, David Kastrup [off-list ref] wrote:
quoted
Perhaps I have misunderstood, but the idea I got is that for Linus
OO brings in more problems than what it tries to fix.
I read that as OO bringing in more programmers capable of creating
problems than those capable of fixing them.
It is not the fault of OO in itself, but it is the bottom line that
counts: if it draws the wrong audience for the wrong reasons, it
better had great benefits to offset that.
Perhaps I'm wrong, but I think one of the advantages of big projects
written in C vs comparable size projects in an OO language (read C++)
it's exactly the opposite.
Because C lets a random developer to understand, quickly enough, and
do little local modifications also to big projects like Linux, it
attracts a lot of developers that have the possibility to start with
some janitorial work or some little patch without incurring in the
very steep learning curve you have understanding the object hierarchy
of a big C++ code base, an almost mandatory step, before to start
hacking as example in Firefox.
This is, IMHO, a big advantage: fresh meat is always welcomed, the
damage it can potentially create is more then compensated by the long
term benefit of a large and live developer community.
Marco
To me the methods that an OO class defines is the same thing as an API.
And you can screw up an API whether it is C++ or C. Both give you the
same opportunity to screw up the model and create code that needs to be
re-written.
Paul Franz
David Kastrup wrote:
"Marco Costalba" [off-list ref] writes:
quoted
On 9/23/07, Pierre Habouzit [off-list ref] wrote:
quoted
quoted
Object oriented languages creates black boxes: that's the reason
why object oriented exsists and also the reason why Linus hates
it ;-)
quoted
quoted
So please stop with this myth. And don't speak for people, I would
be very surprised that Linus would dislike "black
boxes". Abstractions are good, when used wisely, and I would be
much surprised to see Linus pretend otherwise.
From a Linus recent thread:
quoted
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.
Perhaps I have misunderstood, but the idea I got is that for Linus
OO brings in more problems than what it tries to fix.
I read that as OO bringing in more programmers capable of creating
problems than those capable of fixing them.
It is not the fault of OO in itself, but it is the bottom line that
counts: if it draws the wrong audience for the wrong reasons, it
better had great benefits to offset that. Not quite unsimilar with
communism: the idea is great in principle, but the idea has no
built-in self-check. Capitalism, in contrast, is a distasteful idea
at its heart, but it is rooted soundly in individual egoism. Which
does not make it any less distasteful, but at least it tends to work.
--
-------------------------------------------
There are seven sins in the world.
Wealth without work.
Pleasure without conscience.
Knowledge without character.
Commerce without morality.
Science without humanity.
Worship without sacrifice.
Politics without principle.
-- Mohandas Gandhi
-------------------------------------------