Return-Path:
To: gnu-objc@gnu.ai.mit.edu
Subject: GNU Distributed Objects, CORBA, and Smalltalk
Date: Mon, 22 Feb 93 14:49:03 -0500
From: rs05@gte.com
X-Mts: smtp
[a brief advocacy statement]
I think GNU ObjC and Distributed Objects will be even more valuable additions
to the GNU family if they are capable of implementing OMG's CORBA (Common Object
Request Broker Architecture) specification.
I have no clue as to what's involved, only that what you are discussing (minus
the forwarding stuff) is related work. If you want GNU ObjC to be taken as a
SERIOUS alternative to C++ (and I hope and pray that it will come to pass) you need:
(1) 'free' or unencumbered class libraries (a la NIHCL) to bootstrap developers
and win converts;
(2) a dozen sample applications to demonstrate useful features and to aid
cannibalization during the early prototyping phases;
(3) remote object access (a la NeXT Distributed Objects).
So far so good; I know from reading discussions here that various people are
working on these things.
But if the rest of the industry gets busy building services and applications
using a CORBA-compliant C++ layer (it is just now starting to happen), you
need to be interoperable. I would like to see an OMG IDL (Interface Definition
Language) binding for GNU ObjC.
To realize the practical utility of such a thing, see "Building Distributed
User Interfaces with Fresco", by Mark Linton (of Interviews fame) and Chuck
Price, in THE X RESOURCE, Issue 5, page 77, from the 7th annual X Technical
Conference. This is an X Consortium effort to create a robust framework for
building interoperable applications, including compound documents, based upon
the OMG IDL (yes!) and C++ (yick!). Seems to me that ObjC would be a more
natural choice due to its more flexible and "self-aware" run-time.
And yes, CORBA does believe in dynamic binding; the spec supports both static
and dynamic interfaces, as does the HP implementation. So you can do the remote
equivalent of either "id foo" or "struct List *foo". This definitely plays to
ObjC's strengths.
I also think that GNU ObjC has the chance to do what no C++ implementation will
ever be able to do: provide a relatively seamless transition between the
interpreted and compiled layers of an object-oriented application. I think that
GNU Smalltalk should be able to run on top of a GNU ObjC run-time; and that the
objects from both sides should be mutually interoperable.
After all, the syntax of ObjC is based on Smalltalk, and it would seem to be a
natural re-marriage of the two languages. Perhaps GNU Smalltalk could be provided
as an ObjC class library that could be linked into any application, making it
easier for users to customized apps without having to dig down into the guts of
each app and recompile it. In essence, GNU Smalltalk could function as a universal
'scripting language'.
Incidentally, HP just announced 'Distributed Smalltalk', which is not a Smalltalk
system but a set of objects that bring CORBA compliance to ParcPlace's VisualWorks
system.
those are my thoughts for the day. keep up the good work;
I thoroughly enjoy the discussions on this list.
--Russ
rs05@gte.com
|