[cap-talk] OO interoperation via OCap, presentation level issues
John Carlson
john.carlson3 at sbcglobal.net
Tue May 20 22:36:52 CDT 2008
> Jed wrote:
> At 09:48 PM 5/19/2008, John Carlson wrote:
>
>> It seems like marshalling and unmarshalling has been
>> done many times, with such as things as Web Services, HTTP, MIME,
>> EDI,
>> CORBA, RMI, XDR/RPC,DCOM, JSON,
>> Lisp s-expressions etc. etc. No need to reinvent the wheel. You
>> just
>> have to find something that everyone can read and write. My personal
>> favorite right now is JSON.
>>
>> http://en.wikipedia.org/wiki/JSON
>
> Hmmm. I agree JSON seems focused close to the right problem,
> but I don't see a complete solution there and I also don't yet
> see how it could avoid the combinatoric explosion of translations
> between methods and systems.
What's going to stop the combinatoric explosion is the expense of
writing translations. You have to have at least one implementation
to begin communication. If people want to interoperate, they will
use the standard. You want the standard to be language "neutral"...
that is, you can define libraries in each programming language to
read an write the standard. There are two things to standardize.
The first one is marshalling and unmarshalling (syntax parsers).
The content or types (semantics) is the second thing to standardize.
Then you need to map the semantics (abstract specification)
into the syntax (encoding).
In general, there will only be a two to three "systems" that you will
need to write for. The rest will be "off the net" and in proprietary
systems.
I don't see a problem with standardizing on a few operations, like
what HTTPS&REST (web calculus) did. CRUD is a pretty good standard.
Is there
something else that I am leaving out? A way to define new operators?
>
>
> Do others on this list accept the "Object" definition from JSON:
>
>> Object (collection of key/value pairs, comma-separated and enclosed
>> in curly brackets)
>
> to satisfy the OCap need? To me it seems to widely miss the mark.
>
What is missing? Do you want a scripting language like Caja as
part of the standard? Downloading new behavior is not new either. It
was
done with NeWS, DisplayPostScript, JavaScript, and Java. Are
you wanting a standard behavior language? Java is starting to support
more
and more languages, with Rhino, JRuby, Jython, Scala, Sleep (perl).
I'm sure
others can name all the languages supported by .NET. I would like
to know if E can transmit behavior.
Do you want a type-safe language? I thought you were trying to get
away from types.
I guess the important thing is to do it the right way first, and leave
the
way open for upgrades and backward compatibility. Ethernet did it
the right way by providing a pipe for communication.
So when is XML going through a revision? Anytime soon?
John
More information about the cap-talk
mailing list