1. OOP Features (was euFAQ request for comment)

Chris Bensler wrote:

>    I don't agree that EU lacks OOP. It lacks native OOP support, but 
> there are quite a few good OOP libraries in the archives. Same for DB 
> support, but I don't even agree that it should be supported natively.
> 
>    I think cdecl_ DLL support should be in there, and COM support.

Do any of the OOP libraries support full "OOP" techniques?
Namely:
* Inheritance,
* Polymorphism, and
* Constructors and Destructors 


With the DB comment, I agree they shouldn't be supported natively
but I see very little add on support for DB's at all.
MySQL, EDS and ODBC are supported ... but there are many more DB's not
supported. I can't see DB support being a strength of Euphoria.

I'll wait for you and Matthew to finish your discussion on 
cdecl_ DLL support before adding that to the list.

Thanks,

Ray Smith
http://rays-web.com

new topic     » topic index » view message » categorize

2. Re: OOP Features (was euFAQ request for comment)

Ray,

Check out Mike Nelson's new OOP Library - Diamond,
recently posted. It is full featured to say the least.

Ken Rhodes


--- Ray Smith <smithr at ix.net.au> wrote:
> 
> 
> Chris Bensler wrote:
> 
> >    I don't agree that EU lacks OOP. It lacks
> native OOP support, but 
> > there are quite a few good OOP libraries in the
> archives. Same for DB 
> > support, but I don't even agree that it should be
> supported natively.
> > 
> >    I think cdecl_ DLL support should be in there,
> and COM support.
> 
> Do any of the OOP libraries support full "OOP"
> techniques?
> Namely:
> * Inheritance,
> * Polymorphism, and
> * Constructors and Destructors 
> 
> 
> With the DB comment, I agree they shouldn't be
> supported natively
> but I see very little add on support for DB's at
> all.
> MySQL, EDS and ODBC are supported ... but there are
> many more DB's not
> supported. I can't see DB support being a strength
> of Euphoria.
> 
> I'll wait for you and Matthew to finish your
> discussion on 
> cdecl_ DLL support before adding that to the list.
> 
> Thanks,
> 
> Ray Smith
> http://rays-web.com
> 
>
> 
> 
>
>

new topic     » goto parent     » topic index » view message » categorize

3. Re: OOP Features (was euFAQ request for comment)

I believe at least one OOP library does, and I believe that some of the
other
OOP libs could be combined to provide full-featured support.

I'm playing with Dot write now, actually. I've added classes
(seperately,
not builtin to Dot) and I'm trying to modify Dot to support redefining
operators (such as +-*/&[..], etc.) although I'm far from complete (atm
at least).

jbrown

On  0, Ray Smith <smithr at ix.net.au> wrote:
> 
> 
> Chris Bensler wrote:
> 
> >    I don't agree that EU lacks OOP. It lacks native OOP support, but 
> > there are quite a few good OOP libraries in the archives. Same for DB 
> > support, but I don't even agree that it should be supported natively.
> > 
> >    I think cdecl_ DLL support should be in there, and COM support.
> 
> Do any of the OOP libraries support full "OOP" techniques?
> Namely:
> * Inheritance,
> * Polymorphism, and
> * Constructors and Destructors 
> 
> 
> With the DB comment, I agree they shouldn't be supported natively
> but I see very little add on support for DB's at all.
> MySQL, EDS and ODBC are supported ... but there are many more DB's not
> supported. I can't see DB support being a strength of Euphoria.
> 
> I'll wait for you and Matthew to finish your discussion on 
> cdecl_ DLL support before adding that to the list.
> 
> Thanks,
> 
> Ray Smith
> http://rays-web.com
>

new topic     » goto parent     » topic index » view message » categorize

4. Re: OOP Features (was euFAQ request for comment)

----- Original Message -----
From: "Ray Smith" <smithr at ix.net.au>

> Do any of the OOP libraries support full "OOP" techniques?
> Namely:
> * Inheritance,
> * Polymorphism, and
> * Constructors and Destructors

What is polymorphism? I already heard of it, can you explain it a little
(clear).

new topic     » goto parent     » topic index » view message » categorize

5. Re: OOP Features (was euFAQ request for comment)

Adapted form the documentation for my Diamond OOP library:

Assume Alpha is a class and Beta is a subclass of Alpha. Whenever an Alpha
instance or the Alpha class may be used, a Beta instance or the Beta class
may be used in its place. The definiton is not reversible: it may be
possible to use an Alpha instance or the Alpha class in place of a Beta
instance or the Beta class, but this is not required.

In a polymorhic OOP system, X.myMethod(z) will call Class Alpha's myMethod
if X is an alpha object and will call Beta's myMethod if X is a Beta object.
The OOP system resolves this at run time and the programmer who writes the
method call needn't know which class X belongs to--the correct method will
be called.

-- Mike Nelson

.
----- Original Message -----
From: <tone.skoda at siol.net>
To: "EUforum" <EUforum at topica.com>
Sent: Thursday, April 11, 2002 6:47 AM
Subject: Re: OOP Features (was euFAQ request for comment)


>
>
> ----- Original Message -----
> From: "Ray Smith" <smithr at ix.net.au>
>
> > Do any of the OOP libraries support full "OOP" techniques?
> > Namely:
> > * Inheritance,
> > * Polymorphism, and
> > * Constructors and Destructors
>
> What is polymorphism? I already heard of it, can you explain it a little
> (clear).
>
>
>
>

new topic     » goto parent     » topic index » view message » categorize

6. Re: OOP Features (was euFAQ request for comment)

Ray,

Diamond provides polymorphism, (single) inheritance, constructors, copy
constructors, and destructors.  The constructors and destructors are written
and called as normal methods--this allows  for error handling as no new
object is created or needs to to be deleted if the constructor fails.  Also
destructors can take parameters and have different behavior in different
circumstances.  Try my approach o constructors and destructors and I think
you will like it.

Additional features:

Java-style OOP with abstract and final classes and interfaces.
Method overloading.
Public, protected, and private access to properties and methods.
Properties have separate read and write access.
Full exception handling including exception-throwing type checks.

-- Mike Nelson

new topic     » goto parent     » topic index » view message » categorize

7. Re: OOP Features (was euFAQ request for comment)

On Thu, 11 Apr 2002 08:26:37 -0700, Mike Nelson
<MichaelANelson at WORLDNET.ATT.NET> wrote:

<snip>
>The OOP system resolves this at run time and the programmer who writes the
>method call needn't know which class X belongs to--the correct method will
>be called.

 A neat shortcut perhaps;

but PERHAPS reverberates round my brain.

The programmer should know EXACTLY which routine is being called,

Just my 0.10c & why I really don't want oop nonsense in std Eu.

Actually, that will sound way too harsh; I've learnt ALOT from oop,
but personally I don't need it forced down my throat.

Pete

new topic     » goto parent     » topic index » view message » categorize

8. Re: OOP Features (was euFAQ request for comment)

Mike:
Do you have an idea of how a program written using Diamond fares against a
Java program for the same machine, regarding performance?
This is not for me, but for a guy here that I am trying to convince to try
Euphoria.
Regards.

----- Original Message -----
From: "Mike Nelson" <MichaelANelson at WORLDNET.ATT.NET>
To: "EUforum" <EUforum at topica.com>
Subject: Re: OOP Features (was euFAQ request for comment)


>
> Ray,
>
> Diamond provides polymorphism, (single) inheritance, constructors, copy
> constructors, and destructors.  The constructors and destructors are
written
> and called as normal methods--this allows  for error handling as no new
> object is created or needs to to be deleted if the constructor fails.
Also
> destructors can take parameters and have different behavior in different
> circumstances.  Try my approach o constructors and destructors and I think
> you will like it.
>
> Additional features:
>
> Java-style OOP with abstract and final classes and interfaces.
> Method overloading.
> Public, protected, and private access to properties and methods.
> Properties have separate read and write access.
> Full exception handling including exception-throwing type checks.
>
> -- Mike Nelson
>
>
>
>

new topic     » goto parent     » topic index » view message » categorize

9. Re: OOP Features (was euFAQ request for comment)

Pete wrote:

<snip>
Just my 0.10c & why I really don't want oop nonsense in std Eu.

Actually, that will sound way too harsh; I've learnt ALOT from oop,
but personally I don't need it forced down my throat.
</snip>

I would agree with the last statement. Unlike most any other langauge, in
Euphoria OOP can be done quite sucessfully through libraries with no core
language support.  This means those who don't want it can omit it without
any loss and the OOP overhead is zero for programs that dont use it.

-- Mike Nelson

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu