Conspiracies: OODB, CORBA, etc...

It really bugs me when people say "technology-X was not adopted because 1) there is a conspiracy against it, or 2) corporations are too slow, stupid, conservative to try anything new, 3) MS tried to kill it, etc". Usually they say this about their pet technology, and they can't believe that there were fundamental problems with the idea, so they invent conspiracies or assume other people are too stupid to appreciate the beauty of the idea. I have more confidence in the intelligence of other people and companies -- so that I think ideas that have failed do so because there is something wrong with them. Usually the problem is that they solve a problem in theory, but they miss some practical details, or they are too complex. Example that come to mind are Object-Oriented Databases, CORBA. Sometimes there is just a terrible flaw in a system that is otherwise great; for example, I will never use Smalltalk again for anything other than prototyping because it is too hard to liberate a program from the clutches fo the development environment. I know that tight integeration is one of the benefits of the Smalltalk environment -- it's great for prototyping -- but I always want to ship my systems, not just debug them.

Rise and Fall of CORBA

I recently got into a little argument with Michi Henning about his article Rise and fall of CORBA. This is too bad, because we mostly agree with each other. I think CORBA is dead too. My only point is that I think it is dead for much more fundamental reasons than he does. That is, I am not sure that tranparent distributed objects are a good idea at all -- which is why I am interested in web services. My paper on this topic, Web Services versus Distributed Objects: A Case Study of Performance and Interface Design, is meant to explain some things to people who think CORBA is great and web servcies are just a bad implementation of distributed objects. The ideas presented shouldn't be surprising to experts, but I hope the presentation is a clear explanation of the issues. Also, the wrappers I develop are ceratinly better than the standard one's you get from Axis -- and they are perhaps a useful model when working in RMI as well.
I posted to a thread on Javalobby: Language Wars Redux - the imminent approach of LINQ (see page 4). Most people just don't seem to understand the issues involved in connecting databases and programming languages... most seem to think that things are fine the way they are, but if that were true why do we have a new OR mapper every year? Also, Java people seem to be very conservative, not even willing to consider that there might be any way to improve Java.

I am hosting a panel on Objects and Databases at OOPSLA in Portland this year, on Oct 24th. Here is the working abstract:

Java and C# have brought Object Oriented Programming to the masses, yet programmers continue to struggle with persistent storage of objects. Juggling object persistence with requirements for simplicity, flexibility, maintainability, transparency, scalability and five-nines uptime can rattle even the most hardened architect. Solutions are still evolving rapidly and increasing in complexity, with no end in sight. At the same time developers continue to experiment with alternatives, both old and new.

This panel will discuss the state of the union between objects and databases, as seen from the trenches, with focus on current trends in object-oriented databases and object-relational mapping.

Panelists include:

* Robert Greene, Versant
* Patrick Linskey, BEA
* Erik Meijer, Microsoft
* Ken Rugg, Progress Software
* Craig Russell, Sun Microsystems
* Bob Walker, GemStone Systems
* Christof Wittig, DB4objects

It should be a lively and interesting discussion. I hope some of you will consider attending. I may add a customer representative or two.