Interview with Stroustrup

Luke Gorrie luke@REDACTED
Thu Sep 18 12:09:53 CEST 2003


Richard Carlsson <richardc@REDACTED> writes:

> On Thu, 18 Sep 2003, Peter-Henry Mander wrote:
> 
> > It's curious to read that Bjarn is, from an Erlang point of view at
> > least, trying to reinvent the wheel wrt distributed computing.
> >
> > Having pretty much dropped C++ in favour of Erlang due to the vast
> > simplification of code for most of my work, I find this mildly amusing.
> 
> Well, it's a terrible interview for sure, but that particular part juat
> sounds like he is implementing the Java RMI thing in C++. I don't think
> this kind of guy would even appreciate a laguage like Erlang - he'd
> probably feel that it's like cheating somehow.

But cheating is quite popular in distributed-OO circles. Here's an
excerpt from a very popular book called "The Pragmatic Programmer":

  We once worked on a project that required that a certain body of
  Java code run both locally on a server machine and remotely on a
  client machine. The alternatives for distributing classes this way
  were RMI and CORBA. If a class were made remotely accessible using
  RMI, every call to a remote method in that class could potentially
  throw an exception, which means that a naive implementation would
  require us to handle the exception whenever our remote classes were
  used. Using RMI here is clearly not orthogonal: code calling our
  remote classes should not have to be aware of their locations. The
  alternative - using CORBA - did not impose that restriction: we
  could write code that was unaware of our classes' locations.

Of course, in both cases it _will_ throw an exception when
communications are down. The CORBA binding just makes it easier to
ignore this by not declaring to the compiler that a communications
error can happen and must be handled. So with CORBA you can be
Pragmatic and write simple code that works just fine provided nothing
fails :-)

Of course, making the compiler check that you have acknowledged the
exceptional cases is far from solving the problems of distributed
computing, but the RMI guys did understand the issues very well:

  http://citeseer.nj.nec.com/waldo94note.html

Cheers,
Luke




More information about the erlang-questions mailing list