“The struggle between Microsoft and Java advocates for the hearts and minds of application developers is moving to its next battlefield–and this is a phase in which the number of installed licenses could eventually outnumber everything else to date by an order or magnitude. In the rounds fought so far, Microsoft comfortably repulsed Java’s aspirations to displace it on the desktop (at least for now). The struggle for the server looks likely to be an uneasy standoff between entrenched .Net and Java 2 Enterprise Edition camps. But on mobile devices, everything is still in play. The battle to be the platform of choice across this wide range of devices has barely begun, but it already looks like the primary candidates to cover a large portion of the space will be Microsoft .Net Compact Framework and Java 2 Micro Edition.” Read more at InformationWeek.
If they could squeeze down everything in size properly it would be really great to have .NET on devices like mobile phones and PDAs. The Java you have on mobile phones today are pretty much a laugh. Go over to Nokia.com and download their SDKs and try to develop something and you will know what I am talking about.
I look forward to more .NET and C# ^_^
It must be some good stuff you’re smoking to think that more systems under Microsoft’s thumbs is a good thing.
Enough is enough already.. Why can’t M$ just play fair? Oh, I forgot.. they want world domination. I’m not kidding.
Bill Gates won’t stop until he controls every computer on the planet.
Java’s number one problem is Sun. Sun is not really ready to compete with Microsoft head to head on this issue. They have created something great, but they couldn’t proceed after that.
Now Microsoft came with C# and .net, I don’t know what they will do. For Sun, java is kinda tool to sell more hardware, they can’t make much money out of java. Everybody is making money out of java, except Sun.
Another problem Sun has is that, Sun tries to make Java run everywhere, but this is also a disadvantage sometimes, because to make that happen Java has to sacrifice on some issues, such as performance.
Security is a big plus for Java in competition against C# and .net. But I am not sure what people really want, because as it was in the cars people want more features rather than the safety. So Microsoft may win.
For developers I believe that C# is slightly better as a language, but there are lots of java programmers who really used to it, and I don’t think that they will easily give up their language.
For the server, the only thing that makes Java alive is the support of IBM, Oracle and other companies to Java. Otherwise Sun by itself is not capable of sustaining that superiority over .net on the server side. In this case Microsoft’s push on the .net may eventually convince IBM and other companies to also support .net and c# on their platforms. Support for .net and c# is already under development in linux.
Overall Java seems to loose some ground to c# and .net hype, and if Sun doesn’t put some nice features into java, it may loose the control to microsoft.
It is kind of hard to stick up for Java when it is not only not standardized but proprietary. Between the constantly deprecated APIs and the closed nature of the language, I have slowly rewritten all of the code at my job in other languages.
Wish that Sun would grow up and standardize it so that I would know that my Java code would not break with the next release – then I might coding in it again.
Phones, like we know them today, have hardware that make hosting anything but very simple C or ASM programs not really worthwhile. If phones all had hardware that was similar to PocketPCs or even the newer Palm OS devices, there wouldn’t be a problem. Exceptions are the various phones running PocketPC or Palm OS and generally those with a real share of RAM and CPU speed. Anywho, the hardware behind most phones now suck for .NET or Java. Even if you had a fancy Java-On-Chip to handle speed of bytecode execution, you still have to deal with the fact that Java has a huge library that manages to have a gigantic memory overhead. Similar situation with .NET.
WinCE 4.0 is called WinCE.NET for a reason- one of the central components is a mobile .NET runtime. I’ve not seen details about how “.NET” the mobile .NET runtime is, but I imagine it does more than the current Java-For-Phones. MS intends that developers write full-on PocketPC/WinCE apps using it, so it has to have a fair share of tasty features.
Along the same lines, there is also <a href=”http://dynapad.swiki.net/1“>Dynapad [1], a project that I am working on to create an easy to use, extensible, dynamic and fun environment for PDAs. Current target platform is an iPAQ 3100, the 16 MB of RAM and 206 MHz processor is a lot more than most phones have, but it’s what I am using.
So far, in about 6 MB (including the virtual machine and all library and app code), Dynapad features: email client, web browser, irc client, calculator, simple function plotter, rudimentary PIM applications- Names, Dates, Todo, Notes, a second Note/Script manager, an Object Oriented Database system, Graffiti-like Character Recognition, and a full Smalltalk scripting and development system using the Morphic GUI toolkit. There are also a ton of libraries for to assist you in developing new applications.
And of course, Dynapad is extremely portable. The base system and applications currently run on PocketPC/WinCE and Linux-based PDAs, and as far as the desktop, on Mac OS 9/X, BeOS, almost all Unices, Windows, Risc OS, &c.
[1] I’m considering changing the name of the project to MethodPad – most people don’t like the name Dynapad.
Wish that Sun would grow up and standardize it so that I would know that my Java code would not break with the next release – then I might coding in it again.
How does deprecating an API “break” your code? Deprecating is not the same as removing.
Anyway, at this early stage of their game, it remains to be seen how far MS will take the ECMA charade with .NET once mono begins nipping at their bank accounts. I expect their patents to trump ECMA eventually. It would be out of character for Microsoft to do anythng else. It would be no skin off Bill’s nose to lose the ECMA rubber stamp of approval once all the ex-VBers are locked in.
Did you ever demand that MS “grow up” and standardize VB? Are you going to demand that MS “grow up” and standardize ther rest of .NET?
The struggle for the server looks likely to be an uneasy standoff between entrenched .Net and Java 2 Enterprise Edition camps.
Is there really an “entrenched .NET camp” at this point? If .NET has a “camp,” it seems to me that J2EE has a small city.
On the other hand, thankfully they have NOT standardized Java yet.
The problem you’re talking about is a library problem, not necessarily a language problem.
The difficulty here is that Sun presents Java as a platform, not simply a compiler and a runtime.
However, imagine if they HAD standardized the original platform, then we’d still be stuck with some of the older apis that deprecated for a reason, not simply because they’re ugly. People already complain about the multiple IO apis as it is.
The benefit of standardization is that it locks in the specification. The downside of standardization is that it locks in the specification.
Considering Sun has had issues in the past focusing Java (I mean, for cying out loud, we have a system designed for home consumer electronics that exploded into a core operations system for large enterprise. Who knew!), it wasn’t really worth their time to spend on the standardization process.
Plus, most stadards evolve out of a community of interests, rather than a single entity.
Also, in truth, the JVM has been pretty stable, and that’s the key to Java anyway, although it’s rarely seen by most coders.
Look how long C was around before it started to be standardized, and the Standard Library on top of that.
Microsoft rushes it’s .NET technologies to a standards committee, even before it has any real field experience. Who even knows if the implementation they are proposing is adequate to the tasks? Who’s to say that as soon as the ink dries on the standard, something won’t come along and need to extend the standard? Have they even identified all of the issues that would make a standard useful in this case? I don’t know.
“Official” standards don’t make a lot of sense when there is a single implementation of the specification. Java has several JVM implementations now, and perhaps the JVM can be more finalized by a standards committee, and maybe even some of the core platform.
Python, Ruby, Perl, etc don’t have standards because they don’t have competing implementations, so their’s no community developed that needs consolidation. .Net doesn’t have much of one either, MS and Mono, but they’re both young and untested. Does MS take into account any issues that Unix platform programmers may run into? What if .Net was ported to the AS/400, or something else?
Java is developing a large and diverse community, and may benefit towards a more formal standard. However, all that really buys you as a developer is that you can write to that public standard rather than Suns de facto standard.
By holding it tight so far, Sun has managed to keep Java from forking in disparate ways. It’s done this to protect the platform, and that’s why it sued MS in the first place, as MS wanted MS-Java, not “Write Once” Java.
Sun has issues, of course, they’re not perfect, but the fact that Java doesn’t have an “official” standard doesn’t make it any less viable a platform for a LOT of people and applications.
The real fight will be when IBM decides it’s tired of Sun. Then the sparks will fly.
What microsoft has ecma standarized can’t be patented, for the simple reason that there isn’t anything new. Prior art exists for the several components. (check the mono mailinglist archives).
I am a java programmer and I have looked at .net serveral times. I dont understand WHAT the big deal is!
All it seems to be is a language agnositic platform dependent bytecode interperator. I dont see how this is a real boon. A programmer gets to program in the language they want, but chances are they are going to need to use a .net library. So I have to learn a new api.
Java on the other hand can generally run on any platform you would like. So if your windows machine isnt up to the challenge you could move to a large sun machine. Java is also MUCH more mature than .net and has a larger programming base. (Yes I do realize that their are a lot of C programmers out there, but do they know the .net APIs??) Top this off with MS weak reputation for security. Why would I trust my enterprise to .net?
Seeing as I cant find a single .net developer that can tell me what .net is. Can someone out there explain it to me??
don’t laugh but not everyone who programs for a living is all that bright or really cares about being a top-notch programmer. They do it to pay the bills; they know VB and did a certificate course and now that software is moving to the server they gotta learn the next thing.
This is the fight because there are MILLIONS of these locos in companies around the world that do a lot of corporate programming or consulting for in-house apps that will be moving to either JSEE or .NET. These guys will influence their bosses on which direction to go…whichever they think they can better understand will win.
I think Microsoft is better at targeting the moron programmer audience than Sun so my bets are that both platforms have vibrant lives in the short term but .NET increasingly gets the mass-appeal advantage.
The gurus/techies have already made up their minds one way or the other. Its the MASS of programmers who do PAY for software development tools that are the target. Microsoft knows these people well.
I don’t think MS will use IP tactics to thwart Open Source .NETs in the short-term since these open source projects are an excellent tool for defeating Sun.
Corporate level requirements are hugelly diferent then mass-appeal platforms.
And price isn’t a true issue. Stability, scalability, clustering and all that is the real issue… and you can’t scale anything from M$… [and if you can you must pay a heafty price tag for the hardware to support it!]…
.Net will win position replacing IIS servers and VB, but it is to see the dent it will do in trully corporate services, like in banks, financial houses and so on… [they normally don’t use umproved technology]…
Just my 2 cents…
Corporate level requirements are hugelly diferent then mass-appeal platforms.
And price isn’t a true issue. Stability, scalability, clustering and all that is the real issue… and you can’t scale anything from M$… [and if you can you must pay a heafty price tag for the hardware to support it!]…
.Net will win position replacing IIS servers and VB, but it is to see the dent it will do in trully corporate services, like in banks, financial houses and so on… [they normally don’t use umproved technology]…
As for IP, never forget that IP laws are very peculliar and specific country by country…
Just my 2 cents…
Intelligent debate! I may just observe in wonder before I even contribute!
Beware, if this erupts into a flame fest I WILL inflict bad poetry upon THIS thread as well.
–JM
Java has already gotten a huge amount of success in the embedded market, particulary with the smartphone market. It would be nice to see if .NET could beat it….
Sorry, but I apparently missed Someone’s “bad poetry” and I hate missing out on such things.
Even though Java has so far failed on the Windows desktop, there is still the chance to do so in the future. The SWT windowing toolkit (www.eclipse.org) is now producing applications that are of high enough quality to become shrink-wrapped Windows applications. So the battle is far from over!
“The SWT windowing toolkit (www.eclipse.org) is now producing applications that are of high enough quality to become shrink-wrapped Windows applications.”
Well, all I can say is that I hope it runs faster than the current crop of Java apps out there, or it doesn’t have a prayer.
Here’s a question to all of you programmers out there .. doesn’t anyone program for the DESKTOP anymore? And if so, what do you use?
I don’t know why there is so many discussions regarding the percieved deathmatch between these two technologies on OSNews. I also don’t understand why one of them has to be the winner and one the loser.
To use a metaphor, I’m not interested in the superiority of a phillips screwdriver over a flat-head screwdriver. I just want the right screw driver for the screw I’m trying to work with.
It is the same with .NET and Java. I can’t do applets with C# and there are some times when I want to create an applet. I also think servlets are superior to ASP.NET’s offerings. On the other hand, I think that .NET is great for some things too, and there are times when I will choose it over Java.
To me, having another tool available to me is a winning situation. I’m sorry that so many people want to have one technology kill off the other one before they can be happy; as if they are cheering on their favorite sports team. Shouldn’t you keep your flat-head screwdriver in case you run into a flat-headed screw?
I think it is a sad day for us when we allow our competitive nature to limit our choices and make us slaves to one way of doing things.
Here’s a question to all of you programmers out there .. doesn’t anyone program for the DESKTOP anymore? And if so, what do you use?
Here is what I use for doing desktop applications:
Java (SlickEdit and javac)
JDBC
C (SlickEdit and gcc)
C++ (SlickEdit, VisualStudio and C++Builder)
C# (VisualStudio 7)
ADO.NET
Kylix
Perl
Python
MFC
XML
Shell scripts
QT
I use some other technologies too, but these are the most common. Perhaps if you can see my coding habits you can see why I don’t understand the “C# rules, death to Java” mentality. Every technology has its unique value and it seems stupid to throw anything of value away.
No dam you man we want BLOOD!
I want to see Java and .NET fight it out in hand to hand combat!
Iconoclast: Finally, somebody that makes sense!
Some people just can’t understand that what suites one person or one task, may not suite the other. ๐
Well, we all know what happened to those who wanted world domination.
History repeats itself. Don’t worry.
If Sun gets Java standardized it goes to the borads with the likes of MS and others who are already trying to make unsafe JVMs the Only way Sun can keep Java from being killed by MS and other rivals is to keep it in hard keeping MS sorta honest (at least in one place) see what MS did to Kerberos, SQL and other standards. Enough is enough and Sun is doing the right thing!!
David Blomberg:
I couldn’t tell you whether MS phuqked up Kerberos or not, but SQL?? I’m not aware that Microsoft has “damaged” the SQL standard in any way. Their products have specialized extensions, but so do all SQL products I’ve ever worked with, including the open source ones.
As for Java vs. .NET, I was once a Java-head, but now I’m firmly in the .NET camp. I’m not going to comment much on the “battle,” except to say that those who criticize .NET should do their homework first. I know Java quite well, and have built enterprise-level software with it. Can those of you who criticize .NET say the same thing about it? You see that it’s from MS and simply dismiss it. Not very objective, folks.
I wouldn’t say that, for sure. Sun is bitching on how Microsoft is spoiling their world domination plans with Java, when Java isn’t a standard in the first place.
Oh well ๐
The problem I have with Java is that if some other company comes up with an bunch of new features for Java that doesn’t actually help Sun, but helps other users of Java, Sun would most likely turn it down. The reason why Sun is accepting contributions from IBM and Oracle, among others, is that the contributions help Sun’s competitive egde.
This won’t be the case with EMCA. EMCAScript for example is greatly influenced by Microsoft and Netscape – two rivals. And everything that goes into the EMCAScript is for the good for the majority of users.
I don’t know .NET much yet, but Java2ME has severe flaws when it comes to the GUI / windowing system, not to mention speed and memory footprint.
I believe that Tao Group’s intent media platform is a much better and cleaner solution.
> You see that it’s from MS and simply dismiss it.
> Not very objective, folks.
It’s objective if you care whether MS (in the long run) controls most of your profession.
At least Java has their “Java Community Process”
http://jcp.org/
A Haiku:
Java and .net
Near Equivalent VMs
Can’t quite decide yet
Thank you.
–JM