This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Inappropriate Abstractions?
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
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