Mac App Store will reject Java apps, other rules leaked

An Apple employee has leaked the new rules for app consideration in the OS X App Store, and a certain popular software platform is about to feel very left out. According to PC Pro, the document clearly states that apps using “deprecated or optionally-installed technologies” will be rejected from the App Store. Java is an optionally installed technology, so it looks like Java programmers are out of luck when it comes to OS X software design. New apps aren’t going to be the only victims of this edict either. Apple is no longer supporting future versions of Java in the newest upgrade to OS X – Lion – and will ship with a deprecated version of the runtime.

While rejecting any Java code is a pretty big deal, it seems that the general requirements for apps have also gotten even stricter. Conditions that will necessitate a rejection include apps that “exhibit bugs", “have hidden features", “use non-public APIs," and any app listed as a beta, demo or trial. In one of the more interesting rejection criterions, Apple is forbidding any metadata that “mentions the name of any other computer platform.” Paranoid, are we?

It isn’t all bad news. It also seems like Apple is getting its head back on its turtlenecked shoulders when it comes to political satire in apps. According to the document, "Professional political satirists and humorists are exempt from the ban on offensive or mean-spirited commentary."

The App Store is shaping up to be exactly what Apple CEO Steve Jobs said it was going to be: one more way to bridge the gap between iOS, Apple’s mobile OS, and OS X. These guidelines are all for the actual App Store. No word on whether or not these rules will apply to software installed from external software, but I imagine things will start getting pretty difficult for third-party developers once they realize that Java will no longer be supported in OS X.

Report a problem with article
Previous Story

One year on: Windows 7 now on 93% of new PCs, 240 Million Licenses Sold

Next Story

AT&T has 5.2 million iPhone activations in Q3

86 Comments

Commenting is disabled on this article.

Slugsie said,
So, no Minecraft on OSX then?
You don't understand at all, the current way of acquiring software is still going to work. So you can play Minecraft all you want...

But Minecraft couldn't be in the Mac AppStore

Rudy said,
You don't understand at all, the current way of acquiring software is still going to work. So you can play Minecraft all you want...

But Minecraft couldn't be in the Mac AppStore

Actually, I don't care. I wouldn't buy/own an Apple product if you paid me to.

Steve jobs and the apple culture is perfectionist. he looks at problems in other software and says hey we don't want this, too many problems. we can create something better from ourselves. he wants to control what he can because he believes apple is the best, can't accept anything from other people.

running inside the OS is better? what happened to IE all these years? what happened to those security leaks because of IE?

Cool, hopefully they will restrict this app store more than the iOS store. Tired of seeing so many junky apps! This is fine considering you can still download any app you want from the internet anyway.

Java is like DOS. Buggy, unstable, unreliable bloatware that we need to see disappear. I can't remember the last app I used that really needed it. If I vist a web page that needs it, I just leave.

Flash is a whole different story bust has similar problems. However Flash isn't a native desktop application at this level of usage. I would prefer however a desktop player that opens when I visit a website that has a flash movie or content that needs to be played. Not a plugin, but a native API that works inside the OS.

I like Flash, I don't like Java; but they both have seen their age in using the same tired implementation. Just jest need to make it so it runs inside the OS...not outside.

And what is so funny is this, when Apple was all over Netscape, it was for the same reason. Everyone took it as Microsoft wanted to hinder development. No, what they wanted to hinder was problems. Netscape had its own environment run-time that was outside the OS. This makes the OS drag because it has to call up and outside environment to show the data. if the data was built inside the OS with its native API's, the software will run BETTER.Microsoft knew this years ago. Again this was taken as Microsoft was trying to bully Netscape and just dominate it. Now here 30 years later Apple is doing the exact same thing. Its looks like Microsoft was right in the first place.

TechieXP said,
This makes the OS drag because it has to call up and outside environment to show the data. if the data was built inside the OS with its native API's, the software will run BETTER.

Yeah...er...heard of cross-platform?

"Apple is forbidding any metadata that “mentions the name of any other computer platform.”

- So does that mean Microsoft can't have any apps on their store with the name Microsoft or Windows on it? So no Microsoft Office for Mac, Microsoft Messenger, etc.?

Quikboy said,
"Apple is forbidding any metadata that “mentions the name of any other computer platform.”

- So does that mean Microsoft can't have any apps on their store with the name Microsoft or Windows on it? So no Microsoft Office for Mac, Microsoft Messenger, etc.?


I believe so, yes.

This would force a change just to "Office for Mac"

Guys you don't have to submit your apps to the Mac App Store! For God's Sake! Listen to the keynote!!! "...Not the only place but the best place...."

The Mac will slowly turn into iOS. Soon you won't be able to install applications that didn't come through the Mac App Store...

I'm just starting to wonder how long until Apple stops letting you install software from an external source? I mean they are slowly moving to this... the App store is just the first step...

neufuse said,
I'm just starting to wonder how long until Apple stops letting you install software from an external source? I mean they are slowly moving to this... the App store is just the first step...
It won't happen. It's easy to get away with that on a mobile platform because it's not your primary computer. However, fully-flegded computers running full operating systems demand more. Apple's would be shooing away every developer, designer, etc. They're never going to do that.

whats the big deal about the app store? i see it more for either new-comers or for people who don't know much about computers ... this kind of thing is great for the non technical people ... especially if they own an iOS device ... they already know the principle of buying apps.

xfodder said,
whats the big deal about the app store? i see it more for either new-comers or for people who don't know much about computers ... this kind of thing is great for the non technical people ... especially if they own an iOS device ... they already know the principle of buying apps.

+100

hagjohn said,
All the restrictions placed on apple products lately, only make me want to not buy anymore apple products.

What's restricting about the App Store?

hagjohn said,
All the restrictions placed on apple products lately, only make me want to not buy anymore apple products.
Are you a developer then?

I have to ask why a full OS needs an App store? way before app stores there was this thing called the internet where you could install and find millions of PROGRAMS that ran on any OS. This whole app store crazed is creating a generation of tech users who do not seem to understand an app is just a freaking software program and they have been around for a LONG time.

Also nuking java support on a full os? WTF, Wonder if mac's will eventually just be big desktop Iphone's

I guess the ability to aggregate and control what can be installed. There is no reason why you can't just open up a browser and download your favourite app, but an App Store is likely to be targeted at the average consumer, those that are familiar with the concept of App Store's from their Smartphone and Console gaming experiences.

swanlee said,
I have to ask why a full OS needs an App store? way before app stores there was this thing called the internet where you could install and find millions of PROGRAMS that ran on any OS. This whole app store crazed is creating a generation of tech users who do not seem to understand an app is just a freaking software program and they have been around for a LONG time.

Also nuking java support on a full os? WTF, Wonder if mac's will eventually just be big desktop Iphone's


They're not nuking Java support. They're not shipping a version of Java built in. That doesn't instantly stop Java apps from working, as Sun/Oracle have been supplying the Java Runtime for Macs for years now and will continue to do so.

swanlee said,
I have to ask why a full OS needs an App store? way before app stores there was this thing called the internet where you could install and find millions of PROGRAMS that ran on any OS. This whole app store crazed is creating a generation of tech users who do not seem to understand an app is just a freaking software program and they have been around for a LONG time.

I have to ask why a full OS needs the Internet? way before the Internet there was this thing called a store where you could buy cds and floppies that ran on the OS. This whole internet craze is creating a generation of tech users who do not seem to understand that software that can be downloaded can also be bought in a physical store. /sarcasm

Whens the last time a game like Angry Birds sold millions of copies to the general public? App stores are making it easier for the general public to get any software that they could want and give the developers a cheap and easy way to deliver said software.

testman said,

They're not nuking Java support. They're not shipping a version of Java built in. That doesn't instantly stop Java apps from working, as Sun/Oracle have been supplying the Java Runtime for Macs for years now and will continue to do so.

Yes, they are. The article says:

the document clearly states that apps using “deprecated or optionally-installed technologies” will be rejected from the App Store

That means that any App written on a technology that is optionally installed (in this case, the JVM that Oracle will make available to install) won't be available in the App Store. So yes, they are sort of nuking Java from Apple environment. As they will nuke Flash and Silverlight (technologies that are optionally installed)

No, Java will still be supported, but by Oracle and not Apple. Just like Flash for Mac is supported by Adobe and not Apple. You know, like how it is on Windows. Stop spreading FUD.

sviola said,

That means that any App written on a technology that is optionally installed (in this case, the JVM that Oracle will make available to install) won't be available in the App Store. So yes, they are sort of nuking Java from Apple environment. As they will nuke Flash and Silverlight (technologies that are optionally installed)

You obviously don't know what you're talking about. They're nuking Java just like how Windows has been nuking Java. But that probably went over your head.

I half expect the decision has been made because the competing platform, Android uses Java as it's primary development language. What this is essentially doing is forcing developers to solely use Objective-C for development, meaning your skillset for iDevice development is suddenly reduced. That can mean 1 of 2 things, either concentrate on using Apple's Objective-C, or get out! Seems to only hamper developers: iDevice - Objective C, Android - Java, WinPhone - .NET/Silverlight.

Not much room for cross-development shared codebases any more

Antaris said,
Not much room for cross-development shared codebases any more

You can write C# and run it on Windows Phone natively, iOS using MonoTouch, and Android using the soon-to-be-released MonoDroid.

Soungs great to me.

For starters, no one is forcing developers to use the App Store. Apple is not restricting apps outside of the App Store. They are trying to build a quality store. I think this will be a huge hit, more average Joes are buying Macs because of the iPhone Halo effect. Not only will this simplify things, it's a great way to make your app reach out to millions of average users who otherwise would never come across your app. If I were a developer, I sure as hell would not miss out on this.

Second, Microsoft ditched their own Java since what, Windows 98? ("Virtual Machine", anyone?). So no big deal.

I personally do not download anything that requires Java. I hate it. I'm glad I won't see it in the App Store

Pharos said,
Soungs great to me.

For starters, no one is forcing developers to use the App Store. Apple is not restricting apps outside of the App Store. They are trying to build a quality store. I think this will be a huge hit, more average Joes are buying Macs because of the iPhone Halo effect. Not only will this simplify things, it's a great way to make your app reach out to millions of average users who otherwise would never come across your app. If I were a developer, I sure as hell would not miss out on this.

Second, Microsoft ditched their own Java since what, Windows 98? ("Virtual Machine", anyone?). So no big deal.

I personally do not download anything that requires Java. I hate it. I'm glad I won't see it in the App Store


Well, more like forced to by the courts, thanks to Sun and their not liking Microsoft adding Windows-only extensions to it.

The Mac App Store is unique. It's not required at all like the iOS Store (presumably) therefore rejections aren't a big deal. Sure you don't get a slice of the App Store market, but if you don't want to play by their rules you don't deserve one. Dev's have been selling software for decades without the Mac App Store. It's not going to put them out of business if they aren't in it.

Xero said,
The Mac App Store is unique. It's not required at all like the iOS Store (presumably) therefore rejections aren't a big deal. Sure you don't get a slice of the App Store market, but if you don't want to play by their rules you don't deserve one. Dev's have been selling software for decades without the Mac App Store. It's not going to put them out of business if they aren't in it.

+1

Doesn't seem like too big of a deal. I mean personally I've never encountered a Java app on my Mac that I actually want to run, let alone buy. The rules in general seem more restrictive though... not necessarily a bad thing if they want to keep the quality of the apps in it at a high level (and unlike iOS you're not forced to use it).

chAos972 said,
Doesn't seem like too big of a deal. I mean personally I've never encountered a Java app on my Mac that I actually want to run, let alone buy. The rules in general seem more restrictive though... not necessarily a bad thing if they want to keep the quality of the apps in it at a high level (and unlike iOS you're not forced to use it).

This is not for Java. And yes for Flash and Silverlight (Java will go together as side casualties).

The whole idea of the app store is to support quality apps that run native to the platform and support the platform. With Java you don't get that. Java's Achilles heel has always been poor performance when compared to native apps. Its advantage is more for the developer than the users (being able to more-easily support multiple platforms).

Where does that leave Java developers? Exactly where they are today. They can still get their apps to Mac OS X users, they just won't be able to put their apps in the mac app store. Also, the whole depreciation thing is overstated. Apple is removing their Java support in their Software Updater Mac service. Users will have to goto Oracle to get any runtime updates for Java (exactly like Windows users do).

I wouldn't expect GTK or Flash apps either in the Mac App Store.

NamoBhagavan said,
windows is better for desktop.
Microsoft is PROFESSIONAL.

How ironic, when what Apple is doing is changing their treatment of Java to be exactly like Windows' treatment of Java.

Stetson said,

How ironic, when what Apple is doing is changing their treatment of Java to be exactly like Windows' treatment of Java.


Yes, following the better desktop environment.

Stetson said,

How ironic, when what Apple is doing is changing their treatment of Java to be exactly like Windows' treatment of Java.

You do know, or maybe you need to remember but Windows used to ship with a JavaVM for years before Sun got into a hissyfit over MS using a custom version and not the default Sun one so MS was then forced to pull it. It wasn't really their choice to strip it out of windows in the end.

GP007 said,

You do know, or maybe you need to remember but Windows used to ship with a JavaVM for years before Sun got into a hissyfit over MS using a custom version and not the default Sun one so MS was then forced to pull it. It wasn't really their choice to strip it out of windows in the end.

Yep, I know that. Now, Java on Windows is just like Flash. Completely separate from the OS and maintained by the actual software developer.

That's how it is now on OSX too. They aren't "nuking" java support nor are they forcing users to stay on an outdated version.

Stetson said,

That's how it is now on OSX too. They aren't "nuking" java support nor are they forcing users to stay on an outdated version.

Yep. Its time for people to delete those java applets and replace them with flash

Stetson said,

Yep, I know that. Now, Java on Windows is just like Flash. Completely separate from the OS and maintained by the actual software developer.

That's how it is now on OSX too. They aren't "nuking" java support nor are they forcing users to stay on an outdated version.

Read the article again it says:

the document clearly states that apps using “deprecated or optionally-installed technologies” will be rejected from the App Store

That means that any App written on a technology that is optionally installed (in this case, the JVM that Oracle will make available to install) won't be available in the App Store. So yes, they are sort of nuking Java from Apple environment. As they will nuke Flash and Silverlight (technologies that are optionally installed)

sviola said,

Read the article again it says:

That means that any App written on a technology that is optionally installed (in this case, the JVM that Oracle will make available to install) won't be available in the App Store. So yes, they are sort of nuking Java from Apple environment. As they will nuke Flash and Silverlight (technologies that are optionally installed)

The App Store is an optional way to install applications. Anyone who wants to can just ignore it, remove it from the dock, and carry on business as usual.

Stetson said,

The App Store is an optional way to install applications. Anyone who wants to can just ignore it, remove it from the dock, and carry on business as usual.

Except it'll be hard to run Java apps if you can't get Java at all since nobody makes a Mac version. I guess you can keep running the old versions until they no longer work.

Quote from java.com:
"Apple Computer supplies their own version of Java. Use the Software Update feature (available on the Apple menu) to check that you have the most up-to-date version of Java for your Mac."

So basically Oracle has to deliver new versions of Java for OS X, as they already do for any other operating system.
I don't see the big deal here.

I know MS talked about this for Windows 8 however i'm kind of glad Windows 8 is way over the horizon because now we can see how the market reacts to this.

I'm not fan of a managed app store like this for general computing. Sooner or later all these rules will hinder innovation more than anything. I would much rather see an ecosystem that invites the likes of Steam and other vendors to integrate with the app store.

A well done app store would showcase the multiple channels of distribution and allow multiple partners to compete on price so on and so forth..

blahism said,
I know MS talked about this for Windows 8 however i'm kind of glad Windows 8 is way over the horizon because now we can see how the market reacts to this.

I'm not fan of a managed app store like this for general computing. Sooner or later all these rules will hinder innovation more than anything. I would much rather see an ecosystem that invites the likes of Steam and other vendors to integrate with the app store.

A well done app store would showcase the multiple channels of distribution and allow multiple partners to compete on price so on and so forth..

I don't think MS needs to do any osrta "managed" Windows app store, there's too many apps out there and you can just install them like you do now. I think what they'll probably do is try and pull as many apps in to list them and then through that you can keep track of updates and so on.

We'll see in 2 years though.

GP007 said,

I don't think MS needs to do any osrta "managed" Windows app store, there's too many apps out there and you can just install them like you do now. .

I agree, I think MS spoke to it more of a marketplace, and not an "App store"

blahism said,

I agree, I think MS spoke to it more of a marketplace, and not an "App store"

MS's "app store" is called the internet.

ZenVenT said,

MS's "app store" is called the internet.

As has been OS X's App Store for a while (and will continue to be). I don't understand why anybody would think one more distribution channel is bad thing. It helps both developers and consumers.

Elliott said,
As has been OS X's App Store for a while (and will continue to be). I don't understand why anybody would think one more distribution channel is bad thing. It helps both developers and consumers.
It mostly helps Apple's wallet. 70/30 ring a bell?

cybertimber2008 said,
It mostly helps Apple's wallet. 70/30 ring a bell?

Do you realize that developers won't have to pay for the infrastructure required for customers to be able to download their programs? Do you realize that they will most likely make more money because the general consumer will just go to the Mac App Store instead of searching the Internet for that program? Having a prominent place in it will only help your business. And they will still be able to sell their programs through other channels as well. Use logic. iOS developers make more money selling through Apple's App Store than other app stores. Why wouldn't the Mac App Store be the same?

cybertimber2008 said,
It mostly helps Apple's wallet. 70/30 ring a bell?

That's a pretty standard split. Take a look at the Xbox 360 marketplace or the WP7 store.

"Apple is no longer supporting future versions of Java in the newest upgrade to OS X - Lion - and will ship with a deprecated version of the runtime"

Java has its problems, but flat-out refusing to provide any kind of upgrade in the future is downright scary.

Fellow Mac users - it's time to jump ship before you find yourself unable to do so because all your data is locked away in Steve's proprietary systems.

tomjol said,
"Apple is no longer supporting future versions of Java in the newest upgrade to OS X - Lion - and will ship with a deprecated version of the runtime"

Java has its problems, but flat-out refusing to provide any kind of upgrade in the future is downright scary.

Fellow Mac users - it's time to jump ship before you find yourself unable to do so because all your data is locked away in Steve's proprietary systems.

Here's the quote from Apple's OSX reference library:

As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated.

This means that the Apple-produced runtime will not be maintained at the same level, and may be removed from future versions of Mac OS X. The Java runtime shipping in Mac OS X 10.6 Snow Leopard, and Mac OS X 10.5 Leopard, will continue to be supported and maintained through the standard support cycles of those products.

That doesn't mean that OSX Lion will "ship with a deprecated version." It means that it probably won't ship with any version at all.

Which is exactly like Windows.

Java can still be updated, but by Sun/Oracle.

Just like Windows.

Stetson said,

Here's the quote from Apple's OSX reference library:

That doesn't mean that OSX Lion will "ship with a deprecated version." It means that it probably won't ship with any version at all.

Which is exactly like Windows.

Java can still be updated, but by Sun/Oracle.

Just like Windows.


Exactly.

Stetson said,

Java can still be updated, but by Sun/Oracle.

Just like Windows.

Except Oracle/Sun and no one else makes a version of Java for osx

Deviate_X said,
Except Oracle/Sun and no one else makes a version of Java for osx
I was wondering when someone was going to point that out.

Deviate_X said,

Except Oracle/Sun and no one else makes a version of Java for osx

They'll have to start if they want Java to be used on OS X.

Less Java is always a good thing. Java as a programming laguange is downright horrible.

Deviate_X said,

Except Oracle/Sun and no one else makes a version of Java for osx

I guess you can always just install Windows on your Mac and still have Java. Right?
Now we have MORE things to add to the list of things Windows can do that Mac's can't do.

A wold without walls is just SO MUCH BETTER. Looks like my new Mac that I bought last year, is going to become a piece of furniture quicker than the 3 years i thought it would.

Stetson said,

That doesn't mean that OSX Lion will "ship with a deprecated version." It means that it probably won't ship with any version at all.

Which is exactly like Windows.

Java can still be updated, but by Sun/Oracle.

Just like Windows.

Thank you. Someone understands what it going on.

Apple has been maintaining their own special version of Java with special UI elements for a while now. Stopping that kind of support is a long ways from getting rid of Java on the platform.

Java became completely independent of Microsoft on Windows a while back too and everything's fine.

As far as not being allowed into the App Store, that makes sense. Apple wants you to use XCode and write native apps. As far as I know there are no plans (nor would they be practical) to block any sort of install using traditional methods.

Love it or hate it, Java is big. I hope we are still allowed to install the framework and development kits manually, as we are on Windows and Linux.

NeoTrunks said,
Love it or hate it, Java is big. I hope we are still allowed to install the framework and development kits manually, as we are on Windows and Linux.

well at least for now you will be, as well as installing apps from other places than their appstore, even though they might be locking OSX as hard as iOS when it comes to distribution of apps in the future they haven't yet...

as for java, yea block it, let it die, let it die together with flash please!

Leonick said,

well at least for now you will be, as well as installing apps from other places than their appstore, even though they might be locking OSX as hard as iOS when it comes to distribution of apps in the future they haven't yet...

as for java, yea block it, let it die, let it die together with flash please!

I wonder what Oracle would do if they lost out on Java on the Mac.

Of course, I am not sure how many people actually plan to target Mac OS X with their Java software. Most Java stuff is generally meant for Windows and Linux, with OS X as a perk.

What this really means is that we get to look forward to a ton of security vulnerabilities on the Mac as Oracle ramps up development of the JRE for Mac. Plus, chances are, it won't be very efficient out of the gate, which means it will be slow and probably eat a little extra battery life.

Dark days, especially since I was torn on Apple's Java implementation. For starters, 32-bit Intel Mac's (the first generation or so) lost Java support a long time ago, which kind of showed how little they actually cared about Java. However, the implementation was pretty good. All of my Java tools have always run pretty well on Mac. I cannot think of the last JVM crash that I had on a Mac, but I can on Windows (and that's not Windows' fault).

Still, I always hated that Java was installed by default. Just as I hated that Flash was installed by default. As long as Hulu requires Flash, then I will probably have it, but once it drops that requirement (if ever), then I will be dropping Flash. Java's not quite as bad because I know when I'm using it, but the security problems present in the various JVMs means that I only install it when I actually want it on Windows (and unfortunately I need it to remote into my work computer).

NeoTrunks said,
Love it or hate it, Java is big. I hope we are still allowed to install the framework and development kits manually, as we are on Windows and Linux.

java is pretty much dead for the consumer

NeoTrunks said,
Love it or hate it, Java is big. I hope we are still allowed to install the framework and development kits manually, as we are on Windows and Linux.

Probably not, as Eclipse and Netbeans are written in Java.

Deviate_X said,

java is pretty much dead for the consumer

depending on what consumer. Don't they target their laptops at students? What about those that specifically study java? or run matlab? and I can't even begin to count how many online java thingies I have used for physics since high school.

Julius Caro said,

depending on what consumer. Don't they target their laptops at students? What about those that specifically study java? or run matlab? and I can't even begin to count how many online java thingies I have used for physics since high school.

Students of sciences don't generally swarm to Macs like students of journalism and the arts do.

And anecdotal exceptions don't really impact that, either.

Joshie said,

Students of sciences don't generally swarm to Macs like students of journalism and the arts do.

And anecdotal exceptions don't really impact that, either.

Very true. You took the words right out of my mouth.

NeoTrunks said,
Love it or hate it, Java is big. I hope we are still allowed to install the framework and development kits manually, as we are on Windows and Linux.

I have never understood why people flock to java or defend it so much, at least in this block of comments (havnt read the rest) I havnt seen this as much here but its something I dont get. I loathe java when I see it used because no matter how fast your computer is, the java stuff runs runs like its on a p4. I played with a Blackberry for a while and its why I ran from it, albeit it wasnt one of the "brand new" ones but it wasnt too old, about a year ago or so but to me it made the phone feel slow. I get that same feeling dealing with most blu-ray players but hey they are java based too.

Now from what I understand about the technology and why its used so many places is its a write once run many places sort of deal but that is also its downfall. If it isnt compiled to run on one specific platform, it will run crappy on all. You are basically waiting for it to compile from its java code to a machine specific code when you run it right?

Holoshed said,
Now from what I understand about the technology and why its used so many places is its a write once run many places sort of deal but that is also its downfall. If it isnt compiled to run on one specific platform, it will run crappy on all. You are basically waiting for it to compile from its java code to a machine specific code when you run it right?
You have options. There's JIT (Just-In-Time) compilation, which does compile on the fly as necessary (as determined by the JVM). Both .NET and Java have matured to the point that you can really depend on very good performance from their JIT compilers. In many cases, it can achieve better than precompiled performance by giving optimizations for the specific features of the machine.

The real problem comes when trying to perform native tasks, like using OpenGL (see: JOGL for Java). At least the last implementation that I used was poorly done, and the layering away from the GPU can lead to some performance issues. I believe they are in the process of changing JOGL, but I have not had the chance or the desire to look over what they have done with it.

At the end of the day, Java is really only as good as the implemented JVM. If you look over at Android, they have a subset of a JVM running and from 1.0 to 2.2, they have gotten some amazing speed boosts into it. If you look at Linux, then I cannot think of a good JVM implementation that I could suggest to anyone that wasn't a Linux guru (thus knowing the ins-and-outs of the system), and honestly even with that caveat, I cannot think of anything I'd suggest. Linux performance (not to mention default look-and-feel) is lacking.

Anyway, my purpose was not to bash Java. I am a Java developer by day. My point is actually just to say that Mac and Windows Java support is pretty solid these days. There are JVM bugs that can be frustrating, but there are also .NET gotchas (I used to be, and wish I was still a .NET developer by day). Developers need to pick the best tool for the job.

If you're developing a program that needs to easily integrate on multiple systems, then Java is probably the best bet. If you just want Windows, then .NET is the best route (though Mono is starting to give Java run for its money, at least in my book). If you want raw speed, then C/C++ are the way to go, but prepare for some pain in development time by comparison.