rleyton writes: "javaworld has an article on Microsoft J#.net - offering developers a migration path to .net for their VJ++ projects. JDK 1.1.4, and Windows platform support only, of course..."
This discussion has been archived.
No new comments can be posted.
Microsoft offers yet another way for people to change from Java and into some kinda system which only works on Windows.
Why would anyone care ? Is there a lack of windows-only products from Microsoft ? Isn't that the default for everything they make ? Why would a nerd possibly care about possible ways to defeat portability ?
In Sun Java 2 on Win32, there's a Java Bean <-> COM/ActiveX bridge [sun.com], so it's perfectly possible to do Java/COM interop the "Sun" way (which, I suppose, might mean some code changes, but it still works, and it's FAR cleaner than the MS way.) . In fact, this bridge is the way the Java 2 Plugin works with new versions of IE.
Well -- I am afraid there <i>is</i> an answer to your question, but it's not a nice one: management/customer. When the company you work for is sold for example, and the new company decides to do it 'the Microsoft way'. Or a new, big customer demands you to rewrite your existing software using 'Microsoft standards', and you just need the money/can't afford to loose the customer...
These reasons, not convincing as they are for a developer, can be put together under the name 'real world'...
<br>
Of course, we would all love to be working in a open source world, with open standards, competition in implementation, not in standards, but that's (still) a dream we'll have to fight for...
ack! Java 1.1.4?! This is completely unacceptable in my mind.
Java 1.2+ has improved greatly over 1.1.x: the collections API, better beans, drag'n'drop, very cool reference objects (e.g., weak references), better general performance, etc.
There is nothing (except themselves) stopping Microsoft from producing a Java compatible product. The injunction prevents them from using Sun's JAVA trademark.
Actually, JDK1.2 was significantly slower than 1.1 on the client side because of Java2D which requires a lot of overhead even when not used.
I'm always up for microsoft bashing, but despite all the horrible things they tried (mostly unsuccessful) to do to Java, they did one good thing - the infamous Microsoft VM (the one comes with IE) is still (4 years later) the fastest one at executing bytecode. Try it, run a simple loop which adds, multiplies and puts the result into an array. Microsoft's VM will do it at least 1.5 faster than Sun's 1.3 Hotspot. Hell, it even makes Swing usable.
For a clean, fast application that runs on microsoft's VM and uses swing, see Jin [hightemplar.com] - a client for a chess server.
The MSVM is real good.. however.. this person did say general performance. I would not consider a mindless for loop something that people *generally* do (unless just learning BASIC, of course). Also you might want to look at the IBM JVM for 1.3, which - without a hotspot engine - is easily on par with MS *and* Sun's JDK 1.3. And have you looked at the JDK 1.4 betas yet? Apparently there are some real nice Swing-oriented performance enhancements to be had there. That might be well worth taking a look at.
Also, is the Java 2D API the VM's fault? Or is that the fault of developers writing flabby code?? The Swing implementation that you can run with the MS-VM, IIRC is the JDK 1.1-specific release and is rather different from the version that ships with 1.3 (including the J2D-API, I think).
BTW, your Jin interface is nice. Obviously a good example of how to write clean high-performance code.
Look, Java bigots can like it or not, but VJ++ was *liked* by MS-bigots.. a lot. So much so that VJ++ is *still* being used by a large group of MS developers out there. Any why not? It does what it's advertised to do -- it makes it possible for people who like Java to write MSWindows-based applications. And at the time, it was the *best* Java IDE available. If you wanted to write MTS components, you wanted to write Windows applications that talked and played nice with the Windows API and Windows controls: no problem!! Just use VJ++. And if you wanted to use Swing (non Java-2 version of course), or write an application that you could deploy with the Sun JDK - again that was no problem. I was certainly able to do it, as were many other Java developers. Fortunately JBuilder and like tools have stepped up in their quality and deployment capabilities and now we can look back on VJ++ as a nice tool for it's time.
I personally never thought it was going to be a threat to Java (and clearly it's never going to be since Sun and Microsoft can't come to a licensing agreement with respect to the Java 2 technologies). Also when they tried to directly compete in the Java space they pissed *everyone* off, even a lot of MS-specific shops. Hence the reason J# is coming out. VJ++ for.Net is to make the MSJava people happy and provide them a stepping stone over to J#. It won't impact anyone but shops who are already dedicated to providing MS-solutions. It's not going to make people leave J2EE (certainly not a my company, anyway), but if anything, it'll help keep their existing customers happy. Kinda like.. oh.. what Sun is doing with the JCP and JDK 1.4.
Why is this news ? (Score:2)
Why would anyone care ? Is there a lack of windows-only products from Microsoft ? Isn't that the default for everything they make ? Why would a nerd possibly care about possible ways to defeat portability ?
Re:Why is this news ? (Score:1)
Re:Why is this news ? (Score:1)
These reasons, not convincing as they are for a developer, can be put together under the name 'real world'...
<br>
Of course, we would all love to be working in a open source world, with open standards, competition in implementation, not in standards, but that's (still) a dream we'll have to fight for...
Java 1.1.4 (Score:2)
Java 1.2+ has improved greatly over 1.1.x: the collections API, better beans, drag'n'drop, very cool reference objects (e.g., weak references), better general performance, etc.
Sun even has a page detailing the differences between 1.1.x and 1.2 [sun.com].
Not only that, but 1.3+ has some nifty things over 1.2.x: timer (task), shutdown hooks, improved networking, etc.
Re:Java 1.1.4 (Score:1)
Perhaps you forgot that Sun sued Microsoft so they can't use any recent versions of Java.
Re:Java 1.1.4 (Score:2)
--jeff
Java (tm) (Score:2)
There is nothing (except themselves) stopping Microsoft from producing a Java compatible product. The injunction prevents them from using Sun's JAVA trademark.
http://java.sun.com/lawsuit/index.html
Re:Java 1.1.4 (Score:1)
Actually, JDK1.2 was significantly slower than 1.1 on the client side because of Java2D which requires a lot of overhead even when not used.
I'm always up for microsoft bashing, but despite all the horrible things they tried (mostly unsuccessful) to do to Java, they did one good thing - the infamous Microsoft VM (the one comes with IE) is still (4 years later) the fastest one at executing bytecode. Try it, run a simple loop which adds, multiplies and puts the result into an array. Microsoft's VM will do it at least 1.5 faster than Sun's 1.3 Hotspot. Hell, it even makes Swing usable. For a clean, fast application that runs on microsoft's VM and uses swing, see Jin [hightemplar.com] - a client for a chess server.
Re:Java 1.1.4 (Score:1)
Also, is the Java 2D API the VM's fault? Or is that the fault of developers writing flabby code?? The Swing implementation that you can run with the MS-VM, IIRC is the JDK 1.1-specific release and is rather different from the version that ships with 1.3 (including the J2D-API, I think).
BTW, your Jin interface is nice. Obviously a good example of how to write clean high-performance code.
Just making MS Customers happy... (Score:1)
I personally never thought it was going to be a threat to Java (and clearly it's never going to be since Sun and Microsoft can't come to a licensing agreement with respect to the Java 2 technologies). Also when they tried to directly compete in the Java space they pissed *everyone* off, even a lot of MS-specific shops. Hence the reason J# is coming out. VJ++ for