|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: The Browser Wars are Dead! Long Live the Browser Wa rs!
On Saturday, October 19, 2002, at 08:26 PM, Karl Waclawek wrote: > What is it that prevented CORBA from gaining more ground in the market? > The fact that there is no standardized way to get through firewalls? I think it was the development tools. They [expletive deleted]. To start with CORBA was developed in the golden age of C++. C++ is an extremely poor application development language with compile time static binding and no (useful) runtime metadata. To work around that, the CORBA people (who were also quite enamored with C++) invented IDL (Interface Definition Language). IDL looks a whole lot like C++ header files with some extensions. It also requires lots of labor defining all kinds of serialization calls because serialization of C++ objects isn't something you can generalize. Then you had to code-generate 3 versions each class (interface, proxy, and implementation) so the type checking compiler wouldn't freak out. (Blanchard's (yes thats me) law of software development - any system that develops code generation as a standard technique is insufficiently powerful to solve the problem at hand). Then you had all this stub code to generate and fill in. It took forever because every class you wanted to distribute had to have a custom built proxy. So while the underlying CORBA communications and services infrastructure was decent, the programming hoops you needed to jump through in order to take advantage of it were horrendous. Java RMI, uses the same insane development process. OTOH, take a look at HP Distributed Smalltalk or NextStep's PDO (Portable Distributed Objects). These languages (Objective C and Smalltalk) are *message passing* rather than function calling systems and their technique for addressing unhandled messages is to call a default message handler (#doesNotUnderstand: for Smalltalk, forwardInvocation: on Objective C) rather than simply crash (in the case of C++) or throw an exception (in the case of Java). In the default handler, you can then package up the message and ship it over the wire. You only need on kind of proxy with a little data about where the real object lives and you're set. No code generation, no idl, no hand coded serialization. Distribute an object of any class on demand. But the dynamic object people were out-shouted (and markted - ParcPlace was more interested in maximizing dollars per seat than in maximizing dollars overall and NextStep only ran on one kind of hardware) by the static typing crowd and so we have the nightmare static programming languages C++ and Java rather than the nice dynamic ones from 5-7 years ago. Its very sad to watch the deevolution of computer science over the last several years and we continue to lose new generations of developers to the static language mentality. Plus I work harder and harder every year to accomplish the same thing. Very sad indeed. Todd Blanchard System Architect
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








