dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [DotGNU]random question


From: Thong \(Tum\) Nguyen
Subject: RE: [DotGNU]random question
Date: Sat, 8 Feb 2003 21:33:57 +1300

> -----Original Message-----
> From: j_post [mailto:address@hidden
> Sent: Saturday, 8 February 2003 6:10 p.m.
> To: Thong (Tum) Nguyen
> Cc: address@hidden
> Subject: Re: [DotGNU]random question
> 
> On Friday 07 February 2003 07:03 pm, you wrote:
> >
> > OOP is more than just "structs with methods"
> 
> True. It's a new paradigm.
> 
> > and it requires language level support.
> >
> False. The first C++ compilers merely translated C++ source into C
source.
> Obviously someone could have written the same program directly in C if
> they
> chose to do so.

OOP does require language level support.  What you just said doesn't
contribute anything against that.  Do you think that you can write
"logical" programs in C because Prolog compilers compile down to C?

And so what if C++ source is translated to C source?  Are you saying
that Intel ASM is "OOP" because Java code eventually ends up as Intel
ASM?

We're talking about OOP here not theory of computation.

> 
> The important point here is that all Turing complete languages are
> equivalent
> in that anything that can be done in one can be done in another. This
fact
> is
> mathematically provable and therefore, IMHO, not debatable. One
> interesting
> (though not necessarily the best) text on the subject is "Introduction
to
> Computer Theory" by Daniel Cohen, John Wiley & Sons. Check it out.
> 

Well that's not what we're talking about here are we?  We're talking
about whether you can write OOP code in C and NOT whether you can write
a functionally equivalent OOP program in C.

You can write "OOP code" in C if you are willing to do vtable pointers
(etc) yourself -- just like you can write "OOP code" in ASM.  But I
think that's really stretching it...

I personally don't think C is suitable for OOP.

^Tum



reply via email to

[Prev in Thread] Current Thread [Next in Thread]