The Artima Developer Community
Sponsored Link

News & Ideas Forum (Closed for new topic posts)
Sun, Microsoft Officials Debate Java vs. .Net

4 replies on 1 page. Most recent reply: Feb 4, 2003 1:11 AM by Carfield Yim

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 4 replies on 1 page
Bill Venners

Posts: 2284
Nickname: bv
Registered: Jan, 2002

Sun, Microsoft Officials Debate Java vs. .Net Posted: Feb 2, 2003 3:05 AM
Reply to this message Reply
Advertisement
InfoWorld.com has published an article by Paul Krill that describes a recent debate between officials from Microsoft and Sun Microsystems on their respective web servics development platforms.

http://www.infoworld.com/article/03/01/29/hnwebservdebate_1.html

Here's an excerpt:

"The problem with multiple languages on top of a virtual machine kind of architecture is if the virtual machine doesn't support the feature the language wants to provide, the language doesn't have a real easy way to provide [the feature]," Martin said.

What do you think of the article?


Frank Sommers

Posts: 2642
Nickname: fsommers
Registered: Jan, 2002

Re: Sun, Microsoft Officials Debate Java vs. .Net Posted: Feb 2, 2003 8:18 PM
Reply to this message Reply
The article fails to mention that the Java VM also supports many programming languages (about 50, the last time I looked). There are compilers for those languages that generate Java bytecode. Also, the JVM allows anyone to build a layer of software to interpret and execute code written in any other language. So I just don't see the Microsoft presenter's point on that count.

I do think that Java could benefit if the JVM was integrated more with the OS. For instance, I'd like to see the JVM running all the time when the OS is up. When one wants to execute a Java program, instead of booting up the whole VM, that program's classes would just load into the running VM and execute. That would make executing client-side Java code incredibly fast. I don't quite understand why Sun (or some other JVM vendor) hasn't done something like that already.

As a next step, the OS could also have a "services browser" that would allow a user to explore Java programs - both in the local environment (local disk), the local network, and also on the Internet (perhaps browsing Web service registries). When a user clicks on any icon representing such a Java program (e.g., runnable Java object), that object would load into the running VM (observing security policies, of course), and execute (perhaps presenting a UI to the user, and contacting other Java objects on the network, as needed).

What does anyone think about that idea?

Ivar Vasara

Posts: 5
Nickname: ivar
Registered: Sep, 2002

Re: Sun, Microsoft Officials Debate Java vs. .Net Posted: Feb 3, 2003 3:21 PM
Reply to this message Reply
> I do think that Java could benefit if the JVM was
> integrated more with the OS. For instance, I'd like to see
> the JVM running all the time when the OS is up. When one
> wants to execute a Java program, instead of booting up the
> whole VM, that program's classes would just load into the
> running VM and execute.

There was talk of this ages ago (in the mid-90's), even going so far as to have articles like one below (used to be on java.oreilly.com, now all I could find is the google cache) about Java Application etiquette..
http://www.google.ca/search?q=cache:cBJ8riPy6PsC:java.oreilly.com/bite-size/java_0999.html+site:java.oreilly.com+system.exit()

> That would make executing
> client-side Java code incredibly fast. I don't quite
> understand why Sun (or some other JVM vendor) hasn't done
> something like that already.

linux (1.2?) had a kernel module for the JVM ages ago, but it got left in the dust..

> As a next step, the OS could also have a "services
> browser" that would allow a user to explore Java programs
> - both in the local environment (local disk), the local
> network, and also on the Internet (perhaps browsing Web
> service registries). When a user clicks on any icon
> representing such a Java program (e.g., runnable Java
> object), that object would load into the running VM
> (observing security policies, of course), and execute
> (perhaps presenting a UI to the user, and contacting other
> Java objects on the network, as needed).

that sounds something like webstart (or what it might evolve to..)

I.

Frank Sommers

Posts: 2642
Nickname: fsommers
Registered: Jan, 2002

Re: Sun, Microsoft Officials Debate Java vs. .Net Posted: Feb 3, 2003 11:44 PM
Reply to this message Reply
>
> There was talk of this ages ago (in the mid-90's), even
> going so far as to have articles like one below (used to
> be on java.oreilly.com, now all I could find is the google
> cache) about Java Application etiquette..
>
Yes, that's an interesting article. Aren't Google caches great? I also recall a discussion about that years ago, that's why I don't understand why Sun, or someone else, hasn't done that yet. Starting up a whole new VM just to run main() of a class is really ridiculous. The Jini starter kit, for instance, has had a way for several Jini service implementations (i.e., Java programs) to share a single VM. There was a huge savings on system resources as a result. It's a bit tricky to do that, especially because of the need to partition off those apps from a security view point. But it can, and has been, done. I even remember reading an article about that by Li Gong ages ago.

>
> linux (1.2?) had a kernel module for the JVM ages ago, but
> it got left in the dust..
>

Yeah, I recall that, too. Whatever happend to it?

> > As a next step, the OS could also have a "services
> > browser" that would allow a user to explore Java
> programs
> > - both in the local environment (local disk), the local
> > network, and also on the Internet (perhaps browsing Web
> > service registries). When a user clicks on any icon
> > representing such a Java program (e.g., runnable Java
> > object), that object would load into the running VM
> > (observing security policies, of course), and execute
> > (perhaps presenting a UI to the user, and contacting
> other
> > Java objects on the network, as needed).
>
> that sounds something like webstart (or what it might
> evolve to..)

I have in mind more like a Jini services browser. In other words, I can imagine Java-based objects that provide services, and that run forever on various machines available via the Web (perhaps in a peer-to-peer fashion). For instance. the filesystem would be such a service, or a credit card charging service would be another example. Even data objects could be represented as running service objects (e.g., my bank account could be represented by such an object, or a reservation I made on a flight). Those objects could be discovered, and their methods could be invoked at any time (after some security checks and authentication). So, if a bank wanted transfer money to my account, they'd just discover the object that represents my account, and invoke the depost() method on it (I'd allow anyone to make deposits, of course :)). Some of those objects would also have user interfaces attached to them, which, when invoked, could be presented to the user. That's what I meant by having a browser for such objects built into the OS.

I think that's what Microsoft's ultimate aim with .NET is. This XML-based Web service/SOAP businesses is a side show. Eventually, they'd want all objects to be represented by a proxy (written in C#), and have the .NET runtime be executing continuously inside the OS, downloading proxies for those objects as needed. That's also a logical extension and next step for the OS - because that's how most micro kernels work already. Instead to loading objects into kernel (or user memory) from disk, you load them from the network.

At that level, though, you will need to use a programming language to represent those objects, because those are full-fledged objects, not just data that can be represented in XML. So, sooner or later, XML will be relegated to the background, and more focus will be directed to the language-based proxies. At that point, it *will* boil down to Java vs. C#. I'd say Sun has maybe 2-3 years to try to have that happen with Java. If they miss the opportunity, all those objects will be written in C#.

So, at this point, I think Sun should start building an infrastructure, and then work with developers to gain a critical mass of useful services. Once the critical mass is reached, developers will have increasing interest in accessing, and contributing to, that object Web. By that infrastucture, I mean something like Napster - but, instead of music files, you'd have objects.

What do you guys think?

Carfield Yim

Posts: 32
Nickname: carfield
Registered: Sep, 2002

Re: Sun, Microsoft Officials Debate Java vs. .Net Posted: Feb 4, 2003 1:11 AM
Reply to this message Reply
> The article fails to mention that the Java VM also
> supports many programming languages (about 50, the last
> time I looked). There are compilers for those languages
> that generate Java bytecode. Also, the JVM allows anyone
> to build a layer of software to interpret and execute code
> written in any other language. So I just don't see the
> Microsoft presenter's point on that count.
>

The only source I know is http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html

Do you have other links about this?

> I do think that Java could benefit if the JVM was
> integrated more with the OS. For instance, I'd like to see
> the JVM running all the time when the OS is up. When one
> wants to execute a Java program, instead of booting up the
> whole VM, that program's classes would just load into the
> running VM and execute. That would make executing
> client-side Java code incredibly fast. I don't quite
> understand why Sun (or some other JVM vendor) hasn't done
> something like that already.
>

Someone told me MacOSX's VM already done this: http://developer.apple.com/java/
Which may be implemented in all Sun JVM in the future release...

Flat View: This topic has 4 replies on 1 page
Topic: Page Level Cache for Your J2EE Application Previous Topic   Next Topic Topic: An Analysis of JCP Effectiveness


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2017 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us