Re: WinClass OO Library vs Diamond

new topic     » topic index » view thread      » older message » newer message

Al Getz wrote:

> I think the WinClass Library is fundamentally different
> then Mike's nice library, but perhaps he could respond with
> some brief specs on what his library does and what its
> purpose is.

I'd be happy to.  Al's excellent WinClass Library is an object-oriented
alternative to Win32Lib. Al provides classes implementing Windows GUI
features and defines the technique for extending these classes (although his
concepts could be used for non-Windows purposes).

Diamond, on the other hand is a fully general-purpose OOP system for
Euphoria.  It does not handle Windows GUI programming, although you could
use it to define your own library of Windows GUI classes.

In comparison with WinClass (considered for use as a general purpose OOP
library--which is not Al's intention), Diamond automates more of the OOP
process and handles more bookkeeping at the cost of higher overhead.

Diamond is conceptually based on Java and is very full featured.  A list of
features from the Diamond docs:

JAVA-style Object Oriented Programming with single inheritance and
interfaces.

Automatic run-time polymorphism.

Method overloading.

Exception handling for error recovery.

Normal, final (cannot be subclassed), and abstract (must be subclassed to be
used) classes.

Normal, final (cannot be overridden by subclasses), and abstract (must be
overridden by subclasses) methods.

Properties and methods may have public, protected, or private access.

Read access and write access for properties are specified separately.

Instance and class properties and methods.

Objects can only be accessed through the routines provided by Diamond,
direct access is impossible, providing excellent security.

Packages for classes to provide globally unique class names.

Classes as well as instances are accessed by references, and can take
advantage of Euphoria namespacing.

Objects can be converted to and restored from coded byte sequences for
storage in a file, transmission over a network or the Internet, etc.

Improved type checking, allowing types that throw an exception in case of
failure rather than aborting.

A null class which can be used for error reporting.

Extensive information functions.

A Do_Not_Clone interface to prevent copying objects of a class.

Automatic method calls for special purposes.

Built-in event handling with multiple event handlers.

-- Mike Nelson

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu