Linked by Eugenia Loli on Fri 28th Jul 2006 18:28 UTC
.NET (dotGNU too) Microsoft is leaving Java in the dust, but the company still has room to grow in the developer arena, a key executive said. Speaking at the Microsoft FAM (Financial Analyst Meeting) on July 27 in Redmond, Wash., Bob Muglia, Microsoft's senior vice president of Server and Tools business, said Microsoft's .Net platform has outpaced Java, particularly the Java Enterprise Edition, over the past five years to become the development platform of choice for enterprise development.
Thread beginning with comment 147134
To read all comments associated with this story, please click here.
Sun's problem with the ftuture
by Lambda on Fri 28th Jul 2006 19:20 UTC
Lambda
Member since:
2006-07-28

Sun has a problem of where to go with Java in the future. Java has been a big success on the server but never made it on the desktop.

On the server, there's quite a bit of competition with web-specific languages like PHP, with dynamic, "scripting" language like Ruby and Python, and with .NET itself.

The Java leadership at Sun has always been resistant to change because they, wrongly or rightly, felt that Java should be simple. I guess one of their reasonsings is that business wants something with a minimal core set of features so that programmers can be interchanged more easily.

Microsoft never really had that philosophy with C#. They knew they had to start off with a language that was Java-like, but that their developers don't really care if new features are added. They'd rather have first class language features like properties, events, delegates, operator overloading, for expressiveness even if it adds new features to the language.

Microsoft has always been much more language agnostic than Sun too. To Microsoft, .NET is the platform and that's what is most important. To Sun, the Java language is the most important.

So the question is about the future. As we enter the functional/OO hybrid era with C# 3.0, what is Sun's response going to be? Will Sun get behind something like Scala. Will Sun continue to follow C#? Will Sun come up with a new language for the JVM?

Sun is going to have to at least introduce type inference, whether that's a new language or onto Java itself. And then there's the question of Sun stability itself. It looks like there's another round of layoffs coming.

And of course there's the open source question. At this point in time, I think open sourcing the entire stack is probably the best bet for Java (the platform) in the long term.

So the near/mid-term future seems to be languages like Scala and Nemerle. Nemerle is like a C# 4.0. What is Sun going to do?

Reply Score: 5

ma_d Member since:
2005-06-29

I believe operator overloading was specifically avoided in Java because it's simply bad style, in most situations, and even when it's not it's often abused.

I'm not sure why properties haven't been adopted by Java or most anywhere else that I've noticed. I always liked the idea. I suppose it would be confusing in Java now as everyone uses setters and getters, you'd be asking "setters/getters or properties" for each class and that'd be irritating.

PS- Scala has perked my interest.

Reply Parent Score: 1

Lambda Member since:
2006-07-28

I believe operator overloading was specifically avoided in Java because it's simply bad style, in most situations, and even when it's not it's often abused.

But then you start using BigInteger or BigDecimal and realize that non-operator overloading is bad style. Bad style and abuse is indicative of bad developers, not operator overloading.

Reply Parent Score: 4

Ronald Vos Member since:
2005-07-06

Scala has sparked my interest as well. It's like OCaml, but even better and more modern.
Exciting like Boo, but with features that seem more useful.

Reply Parent Score: 1

suryad Member since:
2005-07-09

Agreed. Mustang has made great strides in the area of the desktop and Swing. Sure right now if you run Java Swing apps on it there are a lot of cool new features and things that can be done but since Mustang is not out yet, I cannot say what the industry response in creating new Swing apps on Mustang would be.

Reply Parent Score: 1

zambizzi Member since:
2006-04-23

Sun has a problem of where to go with Java in the future. Java has been a big success on the server but never made it on the desktop.

Not true - Swing is extremely popular for corporate projects and has been found to be the #1 GUI toolkit.

http://weblogs.java.net/blog/hansmuller/archive/2005/10/official_sw...

The Java leadership at Sun has always been resistant to change because they, wrongly or rightly, felt that Java should be simple. I guess one of their reasonsings is that business wants something with a minimal core set of features so that programmers can be interchanged more easily.

Java has many times more features and classes than .NET available in the core libraries. The leadership at Sun believes that Java should embrace standards and vendor independence.

They knew they had to start off with a language that was Java-like

After having made a living off of .NET/C# for nearly 5 years and then moving to Java almost exclusively, I can now almost entirely agree with those that said it was a near 1:1 copy of Java with some extras thrown in, copied from C++.

Microsoft has always been much more language agnostic than Sun too. To Microsoft, .NET is the platform and that's what is most important. To Sun, the Java language is the most important.

Most shops do not have developers writing apps in several different languages, in fact it's typically discouraged. Having standards for development reduces complexity...having apps written in several different languages is a maintainence nightmare and a potential liability. Language independence is worthless, IMO, even though Java will soon have it as well (and already does somewhat w/ Groovy.)

So the question is about the future. As we enter the functional/OO hybrid era with C# 3.0, what is Sun's response going to be? Will Sun get behind something like Scala. Will Sun continue to follow C#? Will Sun come up with a new language for the JVM?

Functional/OO hybrid era? What??? In the Twilight Zone? Sun has *never* followed C#...that's rediculous, it's very much the other way around. One recent example: generics - who had them first? You obviously do not follow Java and have no idea what is happening in the Java community at all. You will be able to choose from several scripting languages in Java 6.0...due out before the end of the year....in beta now.

What is Sun going to do?

Have you taken a look at Java EE 5? EJB 3.0? I've personally built apps (web and rich-client) on both .NET and Java platforms. Microsoft doesn't even begin to have anything *close* to EJB 3.0 - it's going to bury any hopes of .NET gaining ground against Java on the server-side...period.

The question is; what is Microsoft going to do? When are they going to stop encouraging developers to rely on their tools and actually *learn* the guts of their applications...and create *enterprise* grade applications on their technologies? When will Microsoft see that platform dependence is hurting their cause? When will they realize the impact of open source and open standards? Sure, 'rotor' (basic chunks of the .NET runtime) is an open standard...but the rest is a black-box. Java will be *entirely* open source before this time next year and through the JCP - users have had their say where Java has gone and is going in the future.

It's clear that you're tech-savvy but are a bit of a Microsoft advocate and tend to lean on that side of the fence. It helps to be objective when making a comparison and knowing both sides of the issue never hurts.

Reply Parent Score: 3

Lambda Member since:
2006-07-28

Not true - Swing is extremely popular for corporate projects and has been found to be the #1 GUI toolkit.

http://weblogs.java.net/blog/hansmuller/archive/2005/10/official_sw.....


Unfortunately, Sun dropped the ball on making Swing fit into the desktop properly. It hasn't been until Mustang that they've really put the effort to make Swing look decent. They never put in the utility classes to make Swing development easier. Where are these desktop apps? Even the OSS world doesn't use Swing. The poll is pretty much meaningless.

ava has many times more features and classes than .NET available in the core libraries. The leadership at Sun believes that Java should embrace standards and vendor independence.

We're talking about the language proper, not random libraries.

Most shops do not have developers writing apps in several different languages, in fact it's typically discouraged. Having standards for development reduces complexity...having apps written in several different languages is a maintainence nightmare and a potential liability. Language independence is worthless, IMO, even though Java will soon have it as well (and already does somewhat w/ Groovy.)

It's irrelevant how you think most shops should do their development. The fact is that Sun has always had some weird infatuation with Java (the language) and not Java (the platform). We're moving into the hybrid Functional/OO world now. The question is if Sun is going to continue on the status quo and fall behind or get behind something like Scala, advance the Java language, or come up with something new.

It's clear that you're tech-savvy but are a bit of a Microsoft advocate and tend to lean on that side of the fence. It helps to be objective when making a comparison and knowing both sides of the issue never hurts.

I won't even bother responding to two paragraphs above this one since it's clear that you are just interested in being a status quo java fan boy, and not interested in advancing the platform.

It's clear that you're somewhat bitter about the current situation and find it hard to swallow some realities.

Reply Parent Score: 1

someone Member since:
2006-01-12

Microsoft has always been much more language agnostic than Sun too. To Microsoft, .NET is the platform and that's what is most important. To Sun, the Java language is the most important.

Jython, JRuby, Groovy and Rhino are available for years (most of them can compiled to Java Bytecode). Java 6 (end of this year?) will add additional support for scripting languages and bundle Mozilla Rhino.

Reply Parent Score: 1