Memi.Reflection

Private members of memi's thoughts

The Real "Multi..." Platform

We've got used to the Java guys telling us miracles about the Java “Multi...” features: Multi-Platform, Multi-Vendor, Multi-Contributors, and so on.

However, when looking back to the recent years, it looks like actually Microsoft is the company to support the Multi-something.

In the early years of the JavaScript, MS has come with the DHTML idea. DHTML is not a language. It's a DOM - Document Object Model (although I've heard some developers argue heartily that it is a language, and I still see resumes that under the Languages section appear, side by side, VBScript, JavaScript and DHTML). You can access this model in any way you want - JavaScript, VBScript, COM. The NS guys, from the other side, support only JavaScript.

Then MS came with the COM. This was a big hit.One could write a C component, throw it somewhere on the web, and other developer could grab it, plug it into its VB or ASP app, and voila! there it works like a charm. And where is the Java in this story? Out of scope, actually. Java has its own ways of connecting to COM, but it requires 3rd party products. It is not inherent in the platform.

And finally, then came the .NET, which made the real seperation between the Platform and the Language. Here the Java has really nothing to say.

Now, why did I came to this subject in the first place? The first reason is an Email sent to me by the Java team leader in our company, titled: “Will Java become like .NET?” Inside it I found this link.

The other reason, and maybe the more important one, is that currently we are evaluating some EAI products for one of our projects. The environment that should be integrated includes AS/400, VB / Access, and .NET / Oracle. All the vendors, including IBM, BEA and, of course, MS, told us that the integration with the VB & .NET apps will be a snap, and the main focus should be on the AS/400. Now, if IBM tells me that they have no problem at all connecting to VB and .NET, this is, in my opinion, the real proof that MS did a good job with the “Multi...” issue.

Posted: Mar 17 2004, 12:16 AM by memi | with 2 comment(s)
Filed under:

Comments

Eli said:

You got it all wrong...
The .NET concept was accualy copied from Java.

E.g.: VB6 has a sea of staments anf functions. .NET, on the other hand got its great namespaces. But that came only after Java presented it packages.

And what about the CLR? Isn't it a duplication of the java bytecode?
# March 16, 2004 9:40 PM

Memi Lavi said:

Eli, I think you are the one who got it all wrong.

There is no doubt that many .NET elements were copied from Java, also it is arguable whether they were copied from C++ or Java.
However, the Java's CLR equivalent is not the bytecode, but the JVM. The bytecode equivalent is the MSIL. In addition, namespaces are really like packages, but while packages impose the directory structure, the namespace is only a name. Moreover, you can have multiple namespaces in the same file, which is sci-fi in Java.

There is a big different, though, between the CLR and the JVM. The JVM, because of its multi platform nature, can't depend on the OS resources, and should contain all the services usually supplied by the OS. The CLR, on the other hand, builds heavily on the Windows OS, and can use its resources. Some may say it's a good thing, while some will prefer the multi platform abilities of the JVM.

However, what I was trying to point out isn't the similar features of the Java and .NET, but the fact that while Java supposed to be open environment, the connectivitiy and sharing of MS technologies are much better.
# March 17, 2004 2:28 AM
Leave a Comment

(required) 

(required) 

(optional)

(required)