Hmm, meant for the "Objective-C" thread, actually, but it
seems I'm still not certified, oh well...
Have you checked out the TOM programming
language ?
It has a syntax almost identical to Objective-C with
some nice features from
other languages, such as Java, Eiffel, etc.
TOM is a very dynamic compiled OO language (though
not quite as
"extreme" as Smalltalk) and the runtime library offers
garbage
collection (Very nice if used to try it "by hand" using
C++).
Other features:
- multivariant return types.
- nice tuple systax (e.g. "(int, int, int)")
- CLOS-like blocks
- pre/post conditions
- default parameters
- TOM classes are extensible (key feature, read
the FAQ!)
The Tesla compiler (written in TOM itself) produces C,
which
allows inline C (or even C++, hehe) for quick hack
language bindings
or code that needs extra speed. The complete TOM
object system/run-time
is accessible from C which would allow using the TOM
object
system in a C project such as Gtk+, I suppose. TOM
methods may be
implemented in C directly if necessary. Where these
features are not
used, the code is fully "cross-platform". Even a TOM
virtual
machine has been thought about.
TOM message passing overhead is close to
Objective-C, a global
optimizing compiler is in the planning IIRC.
Unfortunately the Gtk/GNOME bindings don't support
the latest
versions fully and a recent Debian package is also
lacking :^(
There is currently no native CORBA binding (so the C
binding has to
be used.)
From my point of view TOM is a suitable "successor" to
ObjC, and
would be a viable alternative to many other true OO
languages.
I'm using C++ most of the time and with a grown
community
TOM would certainly become my programming
language of choice.
Establishing a new language without support of a big
company won't
be easy, as has been pointed out. The basic features
are pretty
easy to learn, I'd say, ideal for switching from C to TOM
:O)
TOM/Tesla is GPL and LGPL.