[OT] Re: [Mplayer-cvslog] CVS: main/libmpdemux demux_mkv.cpp,1.2,1.3

D Richard Felker III dalias at aerifal.cx
Thu May 15 05:49:24 CEST 2003


On Thu, May 15, 2003 at 12:45:24AM +0200, Felix Buenemann wrote:
> On Sunday 11 May 2003 20:21, D Richard Felker III wrote:
> > On Sun, May 11, 2003 at 12:48:52PM +0200, Attila Kinali wrote:
> > > On Sat, 10 May 2003 19:39:33 -0400
> > >
> > > D Richard Felker III <dalias at aerifal.cx> wrote:
> > > > If this is true, I rest my case that the Matroska developers are
> > > > idiots....
> > >
> > > Why ? Operator overloading is one of the best features of C++.
> > > it makes the code much more readable if you have to handle complex
> > > objects.
> >
> > IMO it makes code unreadably confusing, at least when you overload
> > certain operators. Even worse still is when you overload == but not
> > !=, + but not +=, etc. so that it's inconsistent!
> 
> I must admit that operator overloading is not easy to handle, but it really 
> has nice uses eg. when working with complex numbers.
> Anyways you can't compare C to C++ as they have different uses.
> C is used for system near programing with high level of code control, while 

Yes.

> C++ is good for abstracting processes and data giving an easy to use/human 
> friendly api for accessing those from other places without needing to know 
> stuff about the coding internas.

No, a good object oriented language is good for this, as is a very
high level language. ocaml comes to mind, and python is prolly ok too
for more script/prototyping type tasks. IMO C++ is not good for
anything. It's just the worst of both worlds...

> Eg. I prefer object oriented approaches for bigger database driven projects, 
> where code speed doesn't play a primary role. In such case I can have an 
> object keeping track of my database connections and associated data without 
> me needing to keep an eye when to open or close a connection etc.

I agree here. Object oriented languages have their place where, and
ONLY WHERE, data is the center of focus. When the process is the
center of focus, a procedural language makes sense. Trying to make
procedures into objects (with a few settings to control their behavior
as the 'data' for the class) is nonsense!

Rich




More information about the MPlayer-cvslog mailing list