A problem for "Web as distributed programming paradigm"

David Orchard orchard@pacificspirit.com
Fri, 24 Aug 2001 07:42:50 -0700


I think you've hit on a key area of disagreement about distributed 
programming, whether it should be transparent or not.

I believe that a true distributed programming paradigm forces the developer 
to deal with the distribution, instead of ignoring it.  It's almost like 
object-oriented programming.  In O-O, we "ignored" where/how the data was 
actually persisted.  And lo, this didn't scale for many systems (where are 
all the object/rdbms bindings out there, hmm?), and we had a whole bunch of 
oddness to deal with persistence.  Seems like like you are asking that we 
also ignore where/how far away the processing takes place.

One of the facets I find interesting about REST is that it flips the coin 
around.  The simple thing for REST is to build distributed systems, and the 
complex thing is local ipc.  So it keeps the distribution simple, but let's 
the complex thing be possible.

I've been involved in using http/soap for local IPC, and it's not as 
atrocious as you might think.  Biggest problem was tweaking the 
stubs/servers to re-use and keep connections open, and that was close to 
trivial.  The connection re-use is yet another example of why 
encapsulation/transparency aren't desirable for performance reasons, in 
this case.

Cheers,
Dave

On Thursday, August 23, 2001 9:06 PM, Russell Turpin 
[SMTP:deafbox@hotmail.com] wrote:
<snip>
>
> In answer to the second question, and approach
> to the first, let me offer one criterion of a true
> distributed programming paradigm: the distribution
> is transparent to the programmer. Linda has
> this quality. So, to an extent, does DCOM. In
> both cases, you can use the formalism to write
> programs that are never intended to be distributed.
> And this works, not just as a novelty. I could use
> either to write -- say, a program for simulating
> the growth of anthills -- that runs just on my PC.
> There are numerous COM objects that will never
> execute anywhere but in-process, yet the code
> that uses them does so exactly as if they
> reside on a dusty Pentium box in Timbuktu.
> Linda and COM both provide useful ways to
> think about how to structure a system into
> reusable components, even in a non-distributed
> environment.
<snip/>