1. OOP Features (was euFAQ request for comment)
- Posted by Ray Smith <smithr at ix.net.au> Apr 10, 2002
- 386 views
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
2. Re: OOP Features (was euFAQ request for comment)
- Posted by Ken Rhodes <ken_rhodes30436 at yahoo.com> Apr 10, 2002
- 375 views
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 > > > > > >
3. Re: OOP Features (was euFAQ request for comment)
- Posted by jbrown105 at speedymail.org Apr 10, 2002
- 382 views
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 >
4. Re: OOP Features (was euFAQ request for comment)
- Posted by tone.skoda at siol.net Apr 11, 2002
- 373 views
----- 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).
5. Re: OOP Features (was euFAQ request for comment)
- Posted by Mike Nelson <MichaelANelson at WORLDNET.ATT.NET> Apr 11, 2002
- 396 views
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). > > > >
6. Re: OOP Features (was euFAQ request for comment)
- Posted by Mike Nelson <MichaelANelson at WORLDNET.ATT.NET> Apr 11, 2002
- 391 views
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
7. Re: OOP Features (was euFAQ request for comment)
- Posted by petelomax at blueyonder.co.uk Apr 11, 2002
- 378 views
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
8. Re: OOP Features (was euFAQ request for comment)
- Posted by rforno at tutopia.com Apr 11, 2002
- 360 views
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 > > > >
9. Re: OOP Features (was euFAQ request for comment)
- Posted by Mike Nelson <MichaelANelson at WORLDNET.ATT.NET> Apr 11, 2002
- 371 views
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