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.

3 comments:

Steven Kelly said...

"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."

Sounds like another category of reasons why good technologies fail: people try one implementation and find a significant flaw with it. That flaw is then misinterpreted as applying to all versions of all implementations.

Deployment is not drop dead simple in Smalltalk, at least not in VisualWorks (although more recent versions are definitely better). Some other Smalltalk implementations make it much easier.

To be fair, my experiences deploying C++ and Java applications have shown that there are significant learning curves there: MSVCR*.dll, classpaths, JRE versions, security settings etc.

orcmid said...

I agree that deployment can be problematic in many programming-language systems. But I think there is more to it than whether you can deploy a Smalltalk application. Can you deploy a Smalltalk application without the development/debugging environment in the form of a production, user-ready application?

Or put another way, could exporting a Smalltalk application as a .NET assembly be a real option that provides the equivalent of a platform-native (i.e., .NET hosted) application?

I don't know enough about Smalltalk to have an answer, but I do think this should be an important question. And then, if possible, is anyone willing to do it. I do think that without that ability (naming any favorite platform you choose), Smalltalk will remain a niche language system.

Anonymous said...

The OODB case is really simple.
I can talk because I used two OODB (ObjectStore and Versant) and found 2 things.
1rst) They are Very fast , and development is very easy.
2nd) There is very bad propaganda and my boss always telling me that this technology is Dangerous.

So propaganda is very important , and I think bad propaganda to OODB was encouraged by RDBMs vendors ...
Conspiracies ?? perhaps not
Bad propaganda encouraged by RDBMs ?? certainly YES...