Visual J# .NET Released
Goalie_Ca writes: "Visual J# .NET was released at the Tech Ed 2002 Europe Developper conference today.
Visual J# .NET is not a tool for developing applications intended to run on a Java virtual machine. Applications and services built with Visual J# .NET will run only in the .NET Framework; they will not run on any Java virtual machine. Download it here; Microsoft J# .Net site."
Visual J# .NET
Wow, what are the marketing people at MS smoking these days? They've obviously moved onto hard stuff. Rember the says of MS Bob? Marketing is a gateway drug.
Friends don't let friends join Marketing!
Using your sig line to advertise for friends is lame.
It's designed to run on a Java Virtual Machine but will only work on the .Net Framework.... This sounds absurd, why not just use Java? I'll admit I'm not to informed on the whole '.NET' strategy (frankly, don't care), but can someone educate me on the possible use of J#?
Rick
Making something out of nothing : MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
With Java, one language can create a program that runs on many platforms.
With dotNet, many languages can create a program that runs on one platform.
So what happens if MS decides to create a CLR for other platforms. Than you have many languages that can run on many platforms.
From what I have seen in the business world, the big hurdle holding many companies back from upgrading to .NET is the cost of porting all of the legacy Java code to the new application framework. J# gives real customers a low-cost upgrade path that won't break the bank or the developers' backs.
.NET. Once you adopt .NET, you will be paying through the nose to Microsoft (in more ways than just paying with money). Anyone who sees .NET as anything other than a high-risk development platform is fooling themselves.
.NET is just another Microsoft product no different, in principle, than all the others.
1) Java is not "legacy."
2) There is no such thing as a "low-cost" upgrade to
Now that Sun is being given some real competition in the virtual machine market, maybe we'll see some genuine innovation.
.NET provides minimal innovation over anything that has come before it. Many flavors of the same language, established virtual machine ideas, one proprietary platform.
Vote in November. You won't regret it.
Microsoft released a new product today named BuggyWhip.NET, which they say will become the industry standard in "Horse Motivation Technology". A Microsoft spokesman was quoted as saying that the motivation behind this release was to prevent Visual J#.NET from becoming the most useless thing on the face of the earth.
Or you can see an Evil Plan. I'm usually skeptical of Microsoft conspiracy theories, but for once its moderately plausible. Any real Java compatibility (like a Java VM implemented on top of the .NET VM) just wouldn't do. Can't create a two-way migration path!
So you create a new Java-like language that compiles to .NET byte codes. This makes it easy to port existing Java software to .NET. But it's a one-way path, because nobody will use this language to create new .NET software. If they like Java-like languages, they'll use C#. Otherwise they'll use C++ or one of the other .NET-compatible compilers.
Uhm, maybe not. If they just want to seduce Java programmers, they could just write a Java-to-C# translater. The languages aren't that different.
Oh well, what do I know?
You will find the VMs are actually very fast. It is the java compilers (except IBM's and possibly others) that produce basically no optimisation. This could be fixed for sun by a cometent programmer in a week, but they wont do it, nor will they hire CS students like me to do it for them real cheap.
Agreed. This article has nothing to do with Java -- it should not be presented as a Java article on Slashdot. Microsoft wants to confuse developers to think they are programming Java -- that has been their approach all along -- and I find it sad that Slashdot editors decide to help Microsoft in achieving this.
This web services crap was basically smoke-and-mirrors. As someone else pointed out earlier in this topic, if MS or somebody else writes a CLR, suddenly, "Windows" programs will run on other operating systems without so much as a recompile. Given the DOJ problem which was looming large around the same time as the .NET unveiling, I think the "look at our web services" smoke-and-mirrors tactic intentionally diverted attention away from this potential portability option. Indeed, the portability concept was so important in their design phase, MS went as far as to segregate a great deal of highly-Windows-specific functionality in classes with names like Microsoft.xxxx (although this comprises only a tiny fraction of the full .NET model).
Don't get me wrong -- I like SOAP and have pushed for it (and used it, and early derivatives) inside my company for years -- but comparing .NET to "web services" is like comparing your desktop computer to one of those e-mail appliances for the computer illiterate. Sure it CAN do those things, but it's only a small fraction of the real story.
The .NET system object model is a top-down redesign of practically every part of the Windows API. Win32 is gone, GDI is gone, even COM/DCOM is gone (although still accessible). Instead you have this fantastically consistent MASSIVE system object model. Programming against this thing is pretty great. There are a few holes and a few decisions which strike me as stupid, but when you're talking about thousands of classes, everybody is bound to have a few pet peeves.
Unfortunately, it's hard to put an exciting marketing spin on a great new system-wide API strategy, and as I mentioned I don't think they wanted to play up the portability aspect at all, so we end up with the vague .NET marketing-speak hype machine.
There are other important and useful things in .NET, too, but to me the new comprehensive (and consistent) system object model is by far the most important (did I mention it was consistent?). People who compare it to Java either haven't compared them in-depth, are extremely Java-biased, or simply don't know what they're talking about. But that subject has been discussed to death in great detail all over the 'net, just search for it. (BTW, I was a professional Java programmer for over two years -- I'd say Java is merely "OK", not great -- I mention this as evidence that I'm not simply a MS-centric anti-Java nutcase, I did use it to make a living, for awhile.)
I think if .NET fails to gain momentum, it will be a great loss. Beyond the crappy marketing spin that seems to bury anything MS manages to do well, I think Microsoft itself may accidentally kill interest in .NET by only shipping it to the Great Unwashed as part of some new DRM-nazi consumer-unfriendly Windows -- call it WinDisney.
But from a purely technical perspective, .NET is pretty great.
Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005
it's really unnecessary to optimize in the compiler, the difference between optimized bytecode & unoptimized bytecode is insignificant, but more importantly a decent JIT should be able to optimize both outputs to similar native code anyway.
C# is so closely related to Java, that there is no need for J#. MS has already started up marketing to get Java developers to try C#. I am a Java developer, and if I was forced to use a .NET language, I'd chose C#. J# just seems like a redundant language. It makes no sense.
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
"almost-implemented-ok AWT"?
Are you serious?
Bill, your skirts are showing.
668: Neighbour of the Beast
Wrong.
The definition of "open source" includes several important points beyond simpy allowing people to see the code. Microsoft's insulting "Shared Source" license fails several of these points.
Most notable is free redistribution. As the OSI puts it:
Other notable trouble points with MS "shared source" include the OSI conditions of no discrimination against persons or groups and non-restriction of other software.
Since when has Microsoft ever competed on merits?
Microsoft has always competed on merits. Your mistake is that you equate "merits" with "characteristics that please the geeks on Slashdot".
It's my understanding that Microsoft isn't trying to push J# as a new platform, but rather to support small existing J++ users to migrate to .Net.
J# isn't meant to run on a JVM. It's just one of the .Net family of languages.
.Net languages are compiled to the same "bytecode" that MS calls MSIL. J# is no exception. It is compiled to MSIL, not to Java bytecode.
.Net framework in a thing called the "common language runtime", which is similar to a JVM, but designed from the start to *try* to accommodate as wide a range of source languages as possible.
.Net doesn't limit you to doing everything in a single language. (However, it *does* currently limit you to Windows only, quite unlike Java, but that's changing quickly.
.Net applications. When Ximian's Mono Project is fully up and running (Go Mono!), the MSIL output from J# will become executable on a Linux box. When that happens, a Java programmer who wants to deploy on Linux will suddenly have two excellent class frameworks to choose from: the Java standard and .Net.
All
Whether you prefer to write your source in Java (using J#), or C#, or VB.Net, or Perl.Net, or whatever, the source gets compiled to the same MSIL.
The MSIL code then runs on the
After they become MSIL, they are completely interchangable, regardless of their original source language. You could grab a cool C# utility class off the Web somewhere and use Java "extends" to write a subclass in Java. If you find it easier to parse text with Perl than with Java (who doesn't?), then you could write just the text parser classes in your Java app in Perl.Net.
The idea is that you get to work in a source language that you choose. Unlike the Java world,
The point of J# is to let Java lovers use Java to create
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
...some people aren't as flexible as you are when it comes to languages.
.Net and Java when using, well, Java.
.Net (the convenience depending on how much they rely on the Java class libs).
I'm with you. I think C# is Java-done-better (referring to the source languages only). It has all kinds of improvements over Java that many of us Java programmers have been asking for for years. I intend to use C# when using
But a lot of people learned Java as their first and only language and will drag their heels or spout sanctimonious anti-.Net rhetoric based on little more than a secret fear of having to leave the Java nest.
J# will help people like this (after they get comfy with J#, they'll be much closer to C#), it will help users of the old J++, and it may make it a bit easier to port various useful Java utilities over to
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
It's not necessary for MS to create .Net for other platforms. We're not at the mercy of MS.
.Net support and can't get it from MS, they'll get a huge headstart from the LGPL'ed Mono code.
Even Java gets support for most of its many platforms from entities other than Sun.
.Net on Linux is already well on it's way. It's called theMono Project by Ximian, the same people who created Gnome. If developers on other platforms want to have
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
It's that simple.
Many prominent language designers and experts such as Bertrand Meyer and Herb Sutter disagree with you...But I guess you know more than they do, eh?
I cannot but wonder what this topic has to do with Java... what the heck is J# to do with Java and what is the coffee cup doing in the story?
You're right; this could belong in "Developers", "Microsoft", and "Java. But certainly in "Java" and I'll tell you why... This is such an obvious attack on Java's beach head of developers that we need to keep apprised of it. We're not talking about switching to something entirely different like Python or Lisp; this J# stuff is SO conceptually and syntactically similar (but with some scary implications). Competition and alternatives to Java (especially one so obvious as this) should always be in the mind of a Java developer. Otherwise, you risk becoming an ignorant Java zealot, rather than using Java for the right reasons. And there are lots of right reasons, today, don't get me wrong!
Java wins my vote for certain projects today, simply because it has run time environments available for everything from PDAs to pagers to phones, multiple server and workstation OSs, inside cross-platform DBs, inside cross-platform web servers, etc. But that is likely to change and I need to know what's on the horizon, lest my clients be the ones to tell me!
Thousands of companies have met with disaster in various forms - products that have been abandoned underneath them - Visual J++ being a fairly recent, relevant example. J# is too late to help those companies. VB developers have been similarly screwed.
Also, the hidden costs of using MS platforms are high: Microsoft generally forces upgrades whether you want them or not, for reasons that are not technical. They unnecessarily interrelate products and generally bring the antitrust concept of "tying" to new heights. Just because the average business isn't aware of these costs, doesn't mean they don't exist. However, open platforms will continue to succeed in opposition to Microsoft, exactly because of issues like this.
Thousands of developers have made a very comfortable living with the "lock-in" of Windows developpment
I'm not saying that developers can't make a living developing for Windows - clearly, they can, although in the past, for smart developers, it's been a frustrating business because of lack of openness. It'll be interesting to see how much that really changes under .NET. Anyway, my point is that .NET is a big risk for businesses to take, since they become completely dependent on a single vendor in a way that goes beyond what was the case before - e.g. Microsoft didn't own the X86 instruction set.
The lock-in play is to get businesses more dependent on MS intellectual property than ever before, and in less of a position to choose alternatives. Ah well, I look forward to the next round of anti-trust litigation, which is bound to begin in the next few years, possibly depending on whether Dubya gets re-elected.
I don't care if they bullshit their own developer community. But I think they should stop there.
The point is not to help programmers out, it's to leverage programmers who feel that they're comfortable with Java and move them to a closed, propriatary environment.
May we never see th