1. Object Euphoria
Some info about Object Euphoria:
Object Euphoria is very full-featured and secure--it is also god-awful slow.
Some benchmarks:
Euphoria Object Euphoria
1,000,000 writes 0.01 s 37.80 s
1,000,000 reads 0.01 s 38.06 s
1,000 routine calls 3.08 s 3.13s
These are for Object Euprhoria v1.0 on Recent Contributions-- some simple
optimiztions have cut the read and write numbers to about 27 seconds. I
will agressively optimize the code and publish v1.1 with benchmarks ASAP.
OE will still be slow, and any full-featured OOP system will be.
If Rob implements namespaces and structures I can and will write a MUCH
faster OOP system.
I must mention Rod Jackon's excellent Quartz. Quartz does not provide
access control-- all data members are public and can be read/written to
directly without using the Quartz routines. (Rod's documentation warns not
to do this.) So I don't consider Quartz to be full-featured. But it is
fast: benchmarks are 1.54 s,1.05s, and 3.08s for writes, reads, and calls.
--Mike Nelson
2. Object Euphoria
------=_NextPart_000_0007_01BF4A6D.7FD01FE0
boundary="----=_NextPart_001_0008_01BF4A6D.7FD7C100"
------=_NextPart_001_0008_01BF4A6D.7FD7C100
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Object Euphoria is a comprehensive, Java-like Object Oriented =
Programming (OOP) system. Features include:
JAVA-style OOP with single inheritance and interfaces.
Run-time polymorphism.
Exception handling is provided for error recovery.
Normal, final (cannot be subclassed), and abstract (must be subclassed =
to be used) classes.
Normal, final (cannot be redefined by subclasses), and abstract (must be =
redefined by subclasses) methods.
Members, methods, constructors, and destructors may have public, =
protected, or private access.
Read access and write access for members may be specified separately.
Write access for members may be READ_ONLY, allowing a member to be =
initialized but not changed later.
Object and class members and methods.
Objects can only be accessed through the routines provided by Object =
Euphoria, direct access is impossible, providing excellent security.
Namespaces for classes to avoid name clashes in OOP code.
All this in a 45KB include file!
Let me know what you think about this.
-- Mike Nelson
-- Mike Nelson
------=_NextPart_001_0008_01BF4A6D.7FD7C100
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>
<META content=3Dtext/html;charset=3Diso-8859-1 =
http-equiv=3DContent-Type>
<META content=3D'"MSHTML 4.72.3110.7"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2>Object Euphoria is a comprehensive, Java-like Object =
Oriented=20
Programming (OOP) system. Features include:</FONT></DIV>
<DIV><FONT size=3D2></FONT> </DIV>
<DIV><FONT size=3D2>
<DIR>
<DIR><FONT size=3D2>
<P>JAVA-style OOP with single inheritance and interfaces.</P>
<P>Run-time polymorphism.</P>
<P>Exception handling is provided for error recovery.</P>
<P>Normal, final (cannot be subclassed), and abstract (must be =
subclassed to be=20
used) classes.</P>
<P>Normal, final (cannot be redefined by subclasses), and abstract (must =
be=20
redefined by subclasses) methods.</P>
<P>Members, methods, constructors, and destructors may have public, =
protected,=20
or private access.</P>
<P>Read access and write access for members may be specified =
separately.</P>
<P>Write access for members may be READ_ONLY, allowing a member to be=20
initialized but not changed later.</P>
<P>Object and class members and methods.</P>
<P>Objects can only be accessed through the routines provided by Object=20
Euphoria, direct access is impossible, providing excellent security.</P>
<P>Namespaces for classes to avoid name clashes in OOP=20
code.</P></FONT></DIR><FONT size=3D2>
<P> All this =
in a=20
45KB include file!</P></FONT><FONT size=3D2>
<P>Let me know what you think about this.</P></FONT></DIR></DIV><FONT =
size=3D2>
<P>-- Mike Nelson</P></FONT>
<DIV>
<DIR><FONT size=3D2>
------=_NextPart_001_0008_01BF4A6D.7FD7C100--
------=_NextPart_000_0007_01BF4A6D.7FD01FE0
name="objecteu.zip"
3. Re: Object Euphoria
On Sun, 19 Dec 1999 22:07:54 -0800, Michael Nelson <mike-nelson-
ODAAT at WORLDNET.ATT.NET> wrote:
>Object Euphoria is a comprehensive, Java-like Object Oriented Programming
(OOP) system. Features include:
>
Mike:
Indexed_sequence is type defined in both stdcont.ec and demo.ex
so when the stdcont.ec is included in demo.ex it causes an error
4. Re: Object Euphoria
------=_NextPart_000_0018_01BF4BF6.968E2800
charset="iso-8859-1"
I inadventenly included an old version of stdcont.ec in objecteu.zip--the
new version works correctly.
-- Mike Nelson
-----Original Message-----
From: Bernie Ryan <bwryan at PCOM.NET>
To: EUPHORIA at LISTSERV.MUOHIO.EDU <EUPHORIA at LISTSERV.MUOHIO.EDU>
Date: Monday, December 20, 1999 7:18 AM
Subject: Re: Object Euphoria
>On Sun, 19 Dec 1999 22:07:54 -0800, Michael Nelson <mike-nelson-
>ODAAT at WORLDNET.ATT.NET> wrote:
>
>>Object Euphoria is a comprehensive, Java-like Object Oriented Programming
>(OOP) system. Features include:
>>
>
>Mike:
>
>Indexed_sequence is type defined in both stdcont.ec and demo.ex
>
>so when the stdcont.ec is included in demo.ex it causes an error
>
------=_NextPart_000_0018_01BF4BF6.968E2800
name="objecteu.zip"
5. Object Euphoria
------=_NextPart_000_0058_01BF1803.1FAD8FE0
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
For anybody out there still interested in OOP, I have just completed =
coding Object Euphoria, a very comprehensive Java-model OOP system for =
Euphoria. Features include:
1. Java-style classes with single inheritance and interfaces.
2. Exceptions for error handling--vast improvement over my previous =
submissions in this area.
3. Object and class members (data) and methods (routines).
4. Normal, abstract (must be subclassesed to create objects), and final =
(cannot be subclassed) classes.
5. Normal, abstract (must be overridden), and final (cannot be =
overidden) methods.
6. Public, protected, and private access for members and methods.
7. Separate read and write access for members.
8. Special read-only write access for members to define constants.
9. Optional constructors and destructors with access control.
10. All this in a 39K include file!
I am currently doing testing, coding standard classes, writing =
documentation, and working on demo ideas. I will upload to RDS when I =
have it finished. I eventually plan to write an Object Euphoria
wrapper for VEL, similar to David Cuny's Llama for Win32. I may also =
try a preprocessor version of Object Euphoria with dot notation,etc.
-- Mike Nelson
------=_NextPart_000_0058_01BF1803.1FAD8FE0
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>
<META content=3Dtext/html;charset=3Diso-8859-1 =
http-equiv=3DContent-Type>
<META content=3D'"MSHTML 4.72.3110.7"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000 size=3D2>For anybody out there still =
interested in OOP, I=20
have just completed coding Object Euphoria, a very comprehensive =
Java-model OOP=20
system for Euphoria. Features include:</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT> </DIV>
<DIV><FONT color=3D#000000 size=3D2>1. Java-style classes with =
single=20
inheritance and interfaces.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT> </DIV>
<DIV><FONT color=3D#000000 size=3D2>2. Exceptions for error=20
handling--vast improvement over my previous submissions in this=20
area.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT> </DIV>
<DIV><FONT color=3D#000000 size=3D2>3. Object and class members =
(data) and=20
methods (routines).</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT> </DIV>
<DIV><FONT color=3D#000000 size=3D2>4. Normal, abstract (must be =
subclassesed=20
to create objects), and final (cannot be subclassed) =
classes.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT> </DIV>
<DIV><FONT color=3D#000000 size=3D2>5. Normal, abstract (must be =
overridden),=20
and final (cannot be overidden) methods.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT> </DIV>
<DIV><FONT color=3D#000000 size=3D2>6. Public, protected, and =
private access=20
for members and methods.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT> </DIV>
<DIV><FONT color=3D#000000 size=3D2>7. Separate read and write =
access for=20
members.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT> </DIV>
<DIV><FONT size=3D2>8. Special read-only write access for members =
to define=20
constants.</FONT></DIV>
<DIV><FONT size=3D2></FONT> </DIV>
<DIV><FONT size=3D2>9. Optional constructors and destructors with =
access=20
control.</FONT></DIV>
<DIV><FONT size=3D2></FONT> </DIV>
<DIV><FONT size=3D2>10. All this in a 39K include =
file!</FONT></DIV>
<DIV><FONT size=3D2></FONT> </DIV>
<DIV><FONT size=3D2>I am currently doing testing, coding standard =
classes, writing=20
documentation, and working on demo ideas. I will upload to RDS =
when I have=20
it finished. I eventually plan to write an Object =
Euphoria</FONT></DIV>
<DIV><FONT size=3D2>wrapper for VEL, similar to David Cuny's Llama for=20
Win32. I may also try a preprocessor version of Object Euphoria =
with dot=20
notation,etc.</FONT></DIV>
<DIV><FONT size=3D2></FONT> </DIV>
------=_NextPart_000_0058_01BF1803.1FAD8FE0--