OU blog

Personal Blogs

ExLibris

The Oracle Sun Scenario

Visible to anyone in the world
Edited by Martin Thomas Humby, Wednesday, 10 Feb 2010, 17:32

For some time I have wondered how Sun's heavy support of free stuff stacked up against a strategy for profitability. Jonathan Schwartz 2009 blog reveals what it is (was?) all about.

So where does this leave Java? No worries apparently, everything is going to be all right: pdf here.

Fortunately there are other guarantees: the EU's MySQL intervention with subsequent assurances from Oracle; IBM's substantial commitment to Java in application server middleware - presumably backed by firm contractual arrangements in view of their previous experience with externally contracted software licensing. Do these changes indicate a bright and perhaps more targeted future for Java?

If anything Java is now even more squarely aligned against similar stuff from Microsoft. In my native language - Delphi pascal, the advent of .NET woke-up Borland after years of almost no innovation on the language side but too late to retrieve the level of superiority they had when Visual Basic was the main competition. We can hope that Oracle will not make the same error and perhaps something exciting is on the horizon.

Targeted innovation

Oracle's revenues have shown steady growth in recent years up to the current downturn and currently they lie third in world rankings for software sales. Their record for innovation includes applied bitmaped indexing (at least they hold some US patents) and the Exadata Storage Server - the driving incentive for their acquisition of Sun.

Initally Exadata ran on Hewlett-Packard hardware and for a surprisingly lucid sumarry of some of its workings look here. This contrasts nicely with the unveiling of Exadata 2 running on Sun's hardware reported here. Thankfully a more down to earth white paper is available in pdf format with an initial scan of pages 12 - 17 recommended. At this level Exadata must be seen as innovative. Putting purpose specific software closer to suitable hardware may seem pretty obvious but Exadata is entrepreneurial in an area where any proffered improvement is greeted with disbelief and suspicion. Will Oracle bring a similar drive to developing Java?

Java is now Oracle's C# and bringing it up to the richness of that language must be to their good. Java also has the advantage of not having to deal with .NET excess baggage. The downside for Oracle is that any basic improvements are also gifted to their arch rival IBM but we can hope that they can come to some arrangement.

The alternative is that the Java language will enter a period of stagnation similar to Delphi's with any improvement centred on extended and additional class libraries. Some may see this as no bad thing but the danger is that such additions are targeted towards a particular user problem resulting in ever more ways of doing much the same thing. Another symptom is the bolt-on syndrome: language additions that are not well integrated, of dubious utility and become an excuse for not putting a proper solution in place.

Some examples: initially Delphi got operator overloading using custom variants - over complicated, useless for any practical purpose and it took the .NET revolution to get a less half-baked implementation in place, an archetypal example of a bolt-on. Closures are now a feature of various OOP languages and are proposed for Java but how well do they fit in? Seems to me that either methods should become a first class data type (two actually) complete with closures, providing a fully integrated and substantially simpler solution to requirements that currently need a class or interface, or things are best left as they are.


Where do we get from here

Java's generics show how a new and powerful language feature can be integrated into an existing object model, maintaining code consistency and readability. On the other hand, while simple C# LINQ examples and operators are easy to comprehend, things do not look quite so good in relation to what this stuff is supposed to achieve: removal of the 'impedance mismatch' between code and database storage, according to Microsoft. I'm no expert but in the first example from this link can't see how the LINQ is fully equivalent to the SQL it is supposed to replace. More importantly: which alternative is easier to read?

Looking at how LINQ can be used shows the distance at least one aspect of Java would need to be taken to provide equivalent language richness. Currently the only Java provision I have come across is the for-each loop with an implied each and a hieroglyphic substituted for an in keyword. LINQ uses 14 keywords familiar to all SQL users - not necessarily getting 100% equivalent results, but LINQ looks a long way from providing an OOP replacement for SQL.

The Delphi solution from years past - hiding the SQL inside a TSQLQuery component solves one part of the problem but does not provide query language integration. Seems to me that full integration of database storage with OOP requires design of the object model from the bottom up to cater for runtime class creation and field access. In view of its age Java is excused. Microsoft have no excuse at all!

Currently an open verdict on LINQ seems justified but the danger is that if Java does not move forward it may be sidelined for some applications as happened to Delphi. A more telling example results from comparing code complexity Delphi / Java for a single-form (frame) database application with say a data grid, navigation and edits for the fields. The figure comes out at about 1/3 the lines of code. No doubt C# would show a similar ratio. Mutch of the difference relates to availability of off-the-shelf data aware components in Delphi but is also down to the way events are handled using methods assigned to component fields - not an option in Java.

Another danger for Java: .NET variants have the same potential for cross-platform application as Java with Microsoft showing a warm and friendly attitude to the Mono project. Can Oracle compete against Microsoft and Delphi's chief architect Anders Hejlsberg now leading their C# team? Based on current and past performance I think they have every chance.

 

The competion:


Relative worth / performance of high tech companies:

here

 

Impedance mismatch:

Two old Borland buddies discuss cutting-edge terminology at length. Oops! Might be inapplicable in view of recent findings and no excuse from immediacy. Seem to recollect apparent faster than light transmission in coax being reported in Wireless World letters about 25 years ago - mind you the writer was using some cable and an oscilloscope in his back garden to test the theory, not up to current experimental rigour no doubt.

 

More competion:

We must hope for success of the Sun Oracle Exadata server, but there is hardware and then there is Hardware!


IBM QS22

IBM Cell Broadband Engine-based BladeCenter QS22 (photos Research Daily and IBM) Are those heat sinks solid gold or just copper?

Cell vs Xeon

Permalink
Share post