Inappropriate Abstractions?
Sean McGrath quotes Anders Hejlsberg on distributed development and OO:
The problem with that type of programming OO is: it works great in a single process; it works quite well across processes; it works fairly well in a small intranet; but then it completely sucks thereafter.
...Whereas, we know precious little about how to scale CORBA systems in a geo-scalable fashion. We just don't. There's just no knowledge about it, and I've never heard of anyone being particularly successful doing it.
I'll agree that you can't treat distributed objects "just like" any other objects - doing so will cause problems. That doesn't mean that OO is inappropriate though. I've got a number of customers with nice CORBA based systems - Enron, and now the various successor firms, have a very nice distributed system, in both VisualWorks Smalltalk and java. Having received numerous emails from the developers - and seen the system - I know that it can be done. I also know that it's far easier in Smalltalk - these guys tried it both ways.
Anders' problem is that he's committed to doing distributed systems in a statically typed system, and statically typed systems make it very, very hard to do proxies in a reasonable way. Smalltalk just shines there (I'm sure that Lisp, Python, or Ruby would as well, I just haven't tried). Anders simply has a hammer, and he's stumbled across something that clearly isn't a nail. Thus far, it's apparently baffled him


Comments
Re: Inappropriate Abstractions?
[Michael Lucas-Smith] December 22, 2003 16:00:55.520
Comment on Inappropriate Abstractions? by Michael Lucas-Smith
There is another proven model for doing distributed OO. A common serialisation format. Yep, you guessed it. 'document' based transfers, using XML. There is plenty of baggage here, but if you're using something like Smalltalk, it's all a breeze.