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."
Microsoft's download is http://msdn.microsoft.com/visualj/jsharp/beta.asp.
---
http://slashdot.org/moderation.shtml
Why do this? Why bother coming out with a castrated, nearly unusable product that only supports an obsoleted version of the product that they're trying to kill? Especially when it's going to be competing for developer mindshare with the language that they really want to push to kill Java (C#, if you've been under a rock for the past year or so)?
I mean, maybe MS is hoping that people will try to use it so that they get pissed off at Java and go with C#? Do they really think that developers, even Windows ones (-: j/k, I'm a Delphi guy myself), are too stupid to look up non-MS Java information? What do they think will happen when those developers realize that they're getting the shaft to try to push them away from Java?
Anywho... Makes me wonder...
Pax, Ardax
So much speculation and nothing has been proven yet. The best way to cut through this hype is to wait and let the .NET platform (along with all the #'s) prove itself...if it can. When I see a full scale application running on Unix, I'll take it seriously. I'm still waiting to see an enterprise scaled (stable!) application using COM, MTS, or COM+.
For the time being, I can't see J# making much of an impact. If someone is going to write an application using Java syntax, why would they not gear it for the proven JVM rather than something that has done nothing and could fall to the same fate as J++?
I agree MS can make quality IDEs. I personally find Vi to be the most efficient place to write code, but can see how a good IDE would go far.
For all the conspiracy theorists, there is a very good reason for J#... porting existing J++ code over to .Net. Also, as a side benefit(!?) you can port most Java code over to .Net. Some bright person in our organization decided that we were going to move to .Net going forward, and our port has saved us weeks of development time.
Personally, I would NEVER use it as a primary development language. There are quit a few issues with it, but its a life saver for people porting.
Yeah, I'm confused. I thought C# was basically MS's replacement for Java. Why would developers work with J# since its just another Java look alike that is not Java?
Someone you trust is one of us.
Windows.NET will, XP is just Windows 2000 with a modified UI and additional support applications. In fact the kernels (2000 vs. XP) are surprisingly similar - XP's version number is 5.1 (2000's is 5.0).
.NET, there was a language called COM+ (not the COM mananger they shipped) which was never released (although there are two articles in msj now msdn).
.NET comes into play.
Microsoft probably uses a "custom" C/C++ compiler (not the old VC++ one) - I'm not sure if you remember, but before
For years microsoft has had the ability to target multiple platforms - they've had the "MSIL" for years - read "debugging the development process".
Microsoft will move to other platforms, but to do so developers will need to make their code portable, which is where
Besides allowing the J++ developers to port their code to .Net, this leaves the doors wide open and make it easy (easier anyway, they are massive) for a third party to implement the Java APIs (e.g. the J2EE family on top of .Net. To my way of thinking, that could have a lot of value.
.Net by making sure the language syntax isn't a barrier. Sure C# isn't all that far from Java, but now the language is no excuse at all. (The API learning curve may be a barrier but Microsoft has made that easy to get into through Intellisense, wizards, etc.)
To use a hockey analogy:
So Microsoft isn't allowed to score with the Java puck on the Sun goal anymore. But are they prohibited from making an assist? Nope.
Also, there is the idea that they may simply be trying to lure Java developers as a whole into
You know it's funny.. I just went to the MS DevDays conference this last week and no mention was made of J#. Hmm....
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
My only confusion with J# is that it looks the same as C#. C# is Java with a few keywords modified. What is different between the two? From looking at a page of code, I couldn't tell you which is which! They've even made VB look the same. Why would anyone prefer one over the other?
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
forget about C#, Java, VB, C++, etc - these are just the "tools" - I written code in assember, c, c++, java, perl, vb, basic, etc for years - too many people worry about the language and not the solution.
.NET micorosft could target solaris, linux, mac, x-box, mobile devices with the same code base, the same wide application support. COM will die, Java will run in .NET with .NET wrappers to the .NET platform os, Linux will be a great server OS but have limited desktop support.
We need to look at microsoft differently - we see them as "Windows" when in fact they're more than that - Microsoft makes most of it's money from applications like office, exchange, sql, vc++, vb, vstudio et al. Microsoft needs to move away from the OS to grow (home appliance, large systems, etc) - windows is the common platform, just the way ".NET" will be the platform beyond windows.
Think of it this way, if microsoft can abstract it's applications to "virtual" platform, it can then start moving across platforms - very different from Sun's java. The JVM method is cool, but application based - ".NET" is a platform, whether it's on windows or not. As much as I disagree with microsoft's policies, they do understand application (not os)development more than most others. With
Does this make sense?