Slashdot Mirror


Microsoft to Take on Java Again With J#

CptnKirk writes: "Many people liked Visual J++ as an IDE. The settlement with Sun, following it's Java suit, pretty much stopped this development. Apparently Microsoft is back at it again, with another attempt to bring Java development back to the Windows platform. J# (Jay Sharp), will be part of Visual Studio .Net, and provides "an implementation of the Sun Java spec". It however has IMHO some very severe limitations. It's not actually Java(TM) compliant, doesn't product bytecode, or read Java raw bytecode, or run in a VM. It also doesn't support Java runtime features past 1.1.4. The InfoWorld article is here. As a Java developer, to me creating a product that is supposed to be some sort of Java tool that doesn't support any of Java's useful features or even latest language spec, doesn't cut mustard. I liked VJ++, it was a solid IDE and if it supported JDK 1.4 I'd be all for it. I wish Microsoft would just produce a good IDE, and not screw with the language."

3 of 49 comments (clear)

  1. Re:Why? by CptnKirk · · Score: 3, Interesting
    You've got me. This seems a lot like GCJ, only dumber.

    Actually I think their reason is this. Microsoft would like to treat Java as a programming language, nothing more. Sun would like Java to be a platform, including language, VM, cross OS platform compatability and so on. I assume that if Microsoft were to implement various Java 2 features they'd have to comply to the Sun JCK, which they of course do not want to do. If you treat Java as a language you can add to the language and aren't bound to what Sun thinks Java2D (used in JFC) should look like.

    I think that Microsoft could implement the platform if they felt like it, but this doesn't gain them anything. By adopting what they consider to be the language itself, they can use this to beat the platform which Sun has built.

    I personally don't think this will happen, but I think this is what Microsoft is after.

  2. Re:Why? by babbage · · Score: 3, Interesting
    Why do this?

    Easy -- developers want to be able to code in Java, but Microsoft is legally forbidden to develop a newer, noncompliant version of the language environment due to their settlement with Sun a few months ago. Result?

    "You want Java syntax, fine, our .NET framework can do that, and you'll even get to take advantage of all the benefits .NET has to offer."
    "Yeah, but what about the JVM? Why not keep up with the spec? Java is past 2.0 now, and you're trying to get me to use 1.1.x..."
    "Eh? Pardon me? Didn't quite catch that, sonny." *wink*

    If MS can't ship a full fledged version of Java, I don't think trying to support the syntax (or a crippled version of it) is such a bad idea on their part. Developers with Java experience will be able to quickly get up to speed with .NET, and can then be encouraged to migrate over to C#. It's not good for Sun, but then hey that's not MS's job.

    They didn't get to be the borg by being morons, guys...

  3. .NET has it's own architecture by hughk · · Score: 3, Interesting
    First, this is not intended to be either a troll or flamebait. Please differentiate between MS and the technoly where there is an open alternative.

    Microsoft compiles output from C# and J# to an intermediate code that is given, in turn to a JIT compiler. There is no virtual machine, but what the code is allowed to do is well defined (you can only make certain defined calls to a special environment. You can not self modify the code or execute data so calls outside the box are prevented.

    There is no particular advantage to this approach as opposed to the JVM/JIT compiler combinations used for Java except that the execution environment is a lot friendlier to Windows type programs.

    J# is just a way to lever Java code onto .NET, the same with COBOL# and FORTRAN#. As the C# language spec, the intermediate code and the execution envionmrnt spec is being passed to ECMA, I begin to feel more comfortable about this side of .NET (see also the Mono project). Hailstorm sucks big, but that is just BillG's normal attempt at world domination. The architecture doesn't need Hailstorm and some OS developers like what they see.

    Of course, the reason behind .NET was to fight SUN, however, SUN openned themselves up to this by not properly opening up Java quickly enough. Frankly, SUN doesn't have the muscle to run the Java project by itself (having lived with the bleeding edge of Java betas, I see that). MS is no better but by giving it to ECMA, the standards are under public control/scrutiny so it is difficult for them to embrace/extend.

    --
    See my journal, I write things there