Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I think if anything, they should just use a bridge/wrapper to allow a Java language interface to the mobile OSX libraries and Cocoa Touch through something like a customized Dalvik VM. I'm sure Google has done a ton of work on optimizing the Java runtime for their Android initiative, and that should be open source.
What I FOR SURE do NOT want to see is ANY kind of java GUI/windowing system and any way to easily port old java interface apps to the iPhone. What a travesty that would be!

Besides, java blows and is a waste of time. A much better idea would be an optimized CLR runtime on the iPhone and corresponding wrapper for .NET/C# to connect with the native libraries...
 
Quite frankly, I don't want every crappy win developer attempting to port their poorly designed app to the iPhone using Java. That's what's going to happen if this goes through. Java apps are slow, generally ugly, and not what Apple wants.
I don't understand why you even oppose the idea since you absolutely have 100% control of not installing any JVM or using any Java app. Why oppose giving other ppl who want it a chance? It doesn't affect you at all.
Java is very important for Sun, so they will not give up easily. The iPhone does not need Java to succeed.
.
Its not about iPhone being successful, its about to make users' experience better. Why so many people putting apple's $$$ ahead of end-users' benefit when they reasoning?

PS. JAVA will be 100% OSS soon, SUN won't get $$$ from it. Not everybody is closing things up and locking their eyes on money like APPL.
 
With any luck they will come to a nice compromise.
With any luck Apple will tell Sun to take a long walk off a short pier.

The only people who want this either own Sun stock or are (for whatever reason) unwilling to recode their apps to Cocoa. That means the apps will look and behave like Java applets or Java UI apps. Ugh. No thanks.

Note to Sun: Apple's just not that into you. ;)
 
I don't understand why you even oppose the idea since you absolutely have 100% control of not installing any JVM or using any Java app. Why oppose giving other ppl who want it a chance? It doesn't affect you at all.

Its not about iPhone being successful, its about to make users' experience better. Why so many people putting apple's $$$ ahead of end-users' benefit when they reasoning?

PS. JAVA will be 100% OSS soon, SUN won't get $$$ from it. Not everybody is closing things up and locking their eyes on money like APPL.

You still have not given us a reason why it is important to add java to the iPhone. There are other languages and also there is a very complete iPhone SDK that Apple released.

Why in your mind is Java important?
What would we gain that otherwise we would loose?
 
You still have not given us a reason why it is important to add java to the iPhone. There are other languages and also there is a very complete iPhone SDK that Apple released.

Why in your mind is Java important?
What would we gain that otherwise we would loose?
i think the starting point of that thinking is not right.

you would lose operamini, gmail java app, for two.. easily portable platform independent java apps which are already out there for three.

there is no one stop apple from allowing other environments, but that does not mean java isn't useful.

if java is indeed useless, why do you think it is still alive and kicking?

there is no conflict in allowing multiple environments. no one even asked for pre-installation.

Why oppose offering a powerful options that user can install if they want to? Why you, or me, or apple, should dictate what OPTIONS users should have?:confused:
 
But you can use Safari and Mail respectively, so does it really matter?

Seriously I think the problem with Java is more that it might be difficult to force distribution with the AppStore more than anything.
 
But you can use Safari and Mail respectively, so does it really matter?

Seriously I think the problem with Java is more that it might be difficult to force distribution with the AppStore more than anything.

for some, no, for others, yes. see, really not about everybody want/need it, just an option.
 
for some, no, for others, yes. see, really not about everybody want/need it, just an option.

What does Opera Mini offer that Safari mobile doesn't?

What does GMail mobile offer that Mail mobile doesn't?

Both of them are good apps, and some of the most useful applications out there, but are they really so much worse than Apple's.
 
What does Opera Mini offer that Safari mobile doesn't?

What does GMail mobile offer that Mail mobile doesn't?

what safari offers firefox doesn't?

what thunderbird offers mail.app doesn't?

what openoffice offers iwork doesn't?

what windows offers OSX doesn't?

Its about competition...

To say one thing, operamini always connect through a proxy server, so if your local internet provider has filter for some content :)D), opera mini will be able to connect while mobile safari will not.

Finally, I think its more about apple worries that java will open too many doors to 3rd party apps and difficult to control. Opera mini and gmail app are only a tiny, tiny, tiny fraction of those java apps.
 
You don't understand that there are a lot of little J2ME apps that work on most cheap phones which were made by companies which are not tech giants like Goggle and have no interest in developing them multiple times.

And don't confuse Java developers with Windows developers.
 
i think the starting point of that thinking is not right.

you would lose operamini, gmail java app, for two.. easily portable platform independent java apps which are already out there for three.

there is no one stop apple from allowing other environments, but that does not mean java isn't useful.

if java is indeed useless, why do you think it is still alive and kicking?

there is no conflict in allowing multiple environments. no one even asked for pre-installation.

Why oppose offering a powerful options that user can install if they want to? Why you, or me, or apple, should dictate what OPTIONS users should have?:confused:

You are completely missing the point, nobody said Java is useless. Java has its place.

The question in front of you is very simple ..... Why do you feel it is necessary to have java in the iPhone?

and the second question is: What do we have to gain that otherwise we would not have?

All other devices and systems aside, stick to the iPhone please.

I never said I oppose it, I asked for your view of why it is needed in the iPhone, It is not a challenge, it is a way to educate me as to why some people are pro the idea. Not looking to shutdown your points, I am here to learn about your thinking.
 
You are completely missing the point, nobody said Java is useless. Java has its place.

The question in front of you is very simple ..... Why do you feel it is necessary to have java in the iPhone?

and the second question is: What do we have to gain that otherwise we would not have?

All other devices and systems aside, stick to the iPhone please.

did I mention the tiny operamini's beat the filter function? or somebody else mentioned tiny small java apps that would be fun and sometimes very useful for some people?

Also due to the fact Java being platform-independent, the intra-platform developing will greatly benefit all mobile device users.
 
I second this... Java disgusts me (from an end user standpoint, it eats too much system resources and I just don't like Java, end of story).

Sebastian

Thirded (is that a word?)..

The last thing any iPhone needs is to bear is the bloated Java tit upon which the java-weenies find their suck.

Java sucks. Blunt, maybe, but not untrue. Just because it's on a lot of phones, doesn't mean it's any good. The vast majority of end users who use the java games or calculator bundled with their phone's OS don't know what powers it, and don't much care (as evidenced by the piles of .exes collected by new Mac users). Java on OS X is a joke: apps written in it are notorious memory hogs, their UIs almost always self-contained and ugly, and totally counter-intuitive. Whether this is Apple's implementation or endemic to Sun doesn't matter. It used to be REALbasic apps that were #1 in the comical stakes, now it's Java apps. If modern day desktops, with their processing power and oodles of memory have trouble running them, why should anyone have to tolerate it on a handheld device?


OK, I'm confused as heck :) I thought Java was a Good Thing--I often see it mentioned in the cons for the iphone, that it doesn't 'have Java', so I'm surprised to read this--I didn't know java was so loathed, lol!

But I don't quite know what it is, and though I tried wikipedia, the article is still too much for me! Can you explain it for me at all?

Thanks!!
 
It's just a fanboy thing. If the iPhone had Java from the get go or OSX emphasized it, they would be gloating all over it.
 
OK, I'm confused as heck :) I thought Java was a Good Thing--I often see it mentioned in the cons for the iphone, that it doesn't 'have Java', so I'm surprised to read this--I didn't know java was so loathed, lol!

But I don't quite know what it is, and though I tried wikipedia, the article is still too much for me! Can you explain it for me at all?

Thanks!!

Ok, I'll do my best!

Java is a programming language (with its associated class libraries for things like parsing XML, writing files, handling dates and time etc.), but it is much more than another programming language:

Point #1 — Cross Platform Conundrum
Most computer programs are compiled to run on a single processor. Windows programs are compiled to run on the x86 (Intel/AMD) architecture, Mac programs were traditionally compiled to run on the PowerPC architecture (although now most Mac programs are compiled to run on both, these are called by Apple “universal binaries”). iPhone programs are compiled to run on the ARM architecture.

Problem: If you want to write for PC and Mac, you need to write two separate applications. Want to write for iPhone? That will be another application. Want to write for Symbain? Guess what? Another application. Oh dear.

Solution: Java. Java provides a method of writing applications which target multiple platforms.

Point #2 — Java Virtual Machine to the Rescue!
Java programs are not compiled to run on x86, PowerPC, ARM or any other processor. They are compiled to run on the Java Virtual Machine (or JVM, for short). This virtual machine sits on top of a real processor. This means that (providing an implementation of the JVM exists for the platform you are targeting) your Java program will work without changing a single line of code.

Advantages: Write once, run anywhere. PC, Mac, Linux, Symbain etc.

Disadvantages: Because the code is running on the virtual machine, it is abstracted one layer further away from the hardware, which means it will execute slower. How much slower depends from program to program, sometimes it is not noticeable, sometimes it is very noticeable (this was particularly the case in the past, not so much now) sometimes the portability benefits outweigh the performance issues.

Point #3 — Does a cross platform look and feel suffice?
Java programs need a way to display a graphical user interface (windows, menus, textboxes etc) to the user.

Problem: Java runs on many different platforms, each with their own separate windowing systems and interface guidelines.

Solution: Java solves this problem with the SWING and AWT libraries, which allow for the creation of Graphical User Interfaces which work the same across platforms. They will look different. For example, a JButton on Windows will look like a standard Windows Button, a JButton on Mac will look like a standard Mac Button. There are some inconsistencies though (a button is a very simple example).

Disadvantages: Java application often look “out of place” and feel “non-native” to the platform they run. For example, even if a Java application looks very Mac like, it cannot use the standard Mac toolbars used in iWork, Preview etc. and it cannot access the services menu. So even if it looks the same as all you Mac applications, it will never work the same as your Mac applications, as it will work like a Java application.

Summary
So it's more than just “fanboy” thing. The disadvantages which I have outlined above are often summed up in one phrase “slow and ugly”. Whilst the real issues are a good deal more complicated than that there is a thought that Java programs will never ever work as well as native applications targeted at a single platform.

Google have used Java to build most of their services and they make a little bit of money! All of WebObjects is written in Java (iTunes Store, Apple Online Store etc.). It is also I believe the most popular programming language in the world. So it does have a lot going for it.

Footnote: I've not told the “whole story” above in order to keep it simple. Of course there are different types of Java, J2SE (Standard Edition), J2ME (Mobile Edition) and J2EE (Enterprise Edition) and different versions as well: Java 5, Java 6 etc.

The responsibility of maintaining the JVM varies from platform to platform. Sun are responsible for the Windows JVM, Apple is responsible for the Mac JVM. Apple lag behind Sun, they only have Java 6 in beta on the Mac, whereas Java 6 has been available on other platforms for over a year now.

Because of the differences in JVM from platform to platform, the “Write once, run anywhere” mantra isn't always accurate.

Where I use the phrase “standard Mac application”, it should be taken to mean an Application built in Xcode, using the Cocoa frameworks.
 
Advantages: Write once, run anywhere. PC, Mac, Linux, Symbain etc.
That's the spin from Sun, anyway... The reality can be just a little bit trickier.

Disadvantages: Java application often look “out of place” and feel “non-native” to the platform they run. For example, even if a Java application looks very Mac like, it cannot use the standard Mac toolbars used in iWork, Preview etc. and it cannot access the services menu. So even if it looks the same as all you Mac applications, it will never work the same as your Mac applications, as it will work like a Java application.
'Zactly!
 
Ok, I'll do my best!

Java is a programming language (with its associated class libraries for things like parsing XML, writing files, handling dates and time etc.), but it is much more than another programming language:

Point #1 — Cross Platform Conundrum
Most computer programs are compiled to run on a single processor. Windows programs are compiled to run on the x86 (Intel/AMD) architecture, Mac programs were traditionally compiled to run on the PowerPC architecture (although now most Mac programs are compiled to run on both, these are called by Apple “universal binaries”). iPhone programs are compiled to run on the ARM architecture.

Problem: If you want to write for PC and Mac, you need to write two separate applications. Want to write for iPhone? That will be another application. Want to write for Symbain? Guess what? Another application. Oh dear.

Solution: Java. Java provides a method of writing applications which target multiple platforms.

Point #2 — Java Virtual Machine to the Rescue!
Java programs are not compiled to run on x86, PowerPC, ARM or any other processor. They are compiled to run on the Java Virtual Machine (or JVM, for short). This virtual machine sits on top of a real processor. This means that (providing an implementation of the JVM exists for the platform you are targeting) your Java program will work without changing a single line of code.

Advantages: Write once, run anywhere. PC, Mac, Linux, Symbain etc.

Disadvantages: Because the code is running on the virtual machine, it is abstracted one layer further away from the hardware, which means it will execute slower. How much slower depends from program to program, sometimes it is not noticeable, sometimes it is very noticeable (this was particularly the case in the past, not so much now) sometimes the portability benefits outweigh the performance issues.

Point #3 — Does a cross platform look and feel suffice?
Java programs need a way to display a graphical user interface (windows, menus, textboxes etc) to the user.

Problem: Java runs on many different platforms, each with their own separate windowing systems and interface guidelines.

Solution: Java solves this problem with the SWING and AWT libraries, which allow for the creation of Graphical User Interfaces which work the same across platforms. They will look different. For example, a JButton on Windows will look like a standard Windows Button, a JButton on Mac will look like a standard Mac Button. There are some inconsistencies though (a button is a very simple example).

Disadvantages: Java application often look “out of place” and feel “non-native” to the platform they run. For example, even if a Java application looks very Mac like, it cannot use the standard Mac toolbars used in iWork, Preview etc. and it cannot access the services menu. So even if it looks the same as all you Mac applications, it will never work the same as your Mac applications, as it will work like a Java application.

Summary
So it's more than just “fanboy” thing. The disadvantages which I have outlined above are often summed up in one phrase “slow and ugly”. Whilst the real issues are a good deal more complicated than that there is a thought that Java programs will never ever work as well as native applications targeted at a single platform.

Google have used Java to build most of their services and they make a little bit of money! All of WebObjects is written in Java (iTunes Store, Apple Online Store etc.). It is also I believe the most popular programming language in the world. So it does have a lot going for it.

Footnote: I've not told the “whole story” above in order to keep it simple. Of course there are different types of Java, J2SE (Standard Edition), J2ME (Mobile Edition) and J2EE (Enterprise Edition) and different versions as well: Java 5, Java 6 etc.

The responsibility of maintaining the JVM varies from platform to platform. Sun are responsible for the Windows JVM, Apple is responsible for the Mac JVM. Apple lag behind Sun, they only have Java 6 in beta on the Mac, whereas Java 6 has been available on other platforms for over a year now.

Because of the differences in JVM from platform to platform, the “Write once, run anywhere” mantra isn't always accurate.

Where I use the phrase “standard Mac application”, it should be taken to mean an Application built in Xcode, using the Cocoa frameworks.


Well put.

In an environment like that, one ends up programming for a common environment, so one can not normally take advantage of the uniqueness of the platform.

Java is great for applications that have no GUI interface and for HTML based environments. When you try to create a FAT client with a sophisticated interface you end up with a compromise. This write once run everywhere causes the issues that most people here cause as ugly or unnatural interfaces.

I think java is great, while I may want to run a web client on my phone, I do not normally want to run a web application server like WebSphere on my phone. Java is great for creating server side web applications, not for client side applications.

As to all those free apps written in java ..... If they are so great they should be re-written using the iPhone SDK so they can be better and take full advantage of the hardware and the multi-touch interface.
 
How many of you anti-Java people have actually used Java on a phone? It's a completely slimmed-down environment.

There's even much smaller Java for smart cards.
 
How many of you anti-Java people have actually used Java on a phone? It's a completely slimmed-down environment.

There's even much smaller Java for smart cards.

Not anti-java, not anti-java on iPhone, I just see that there is no real value given that there is a perfectly good SDK that takes full advantage of the hardware.

IMHO, java does not bring anything to the iPhone that the SDK does not already bring. iPhone does not need "run anywhere" and while there is a lot of java for phones out there, none takes advantage of the features of the iPhone, so I see no reason to run it on the iPhone.

I had several java apps in my old Treo 650 and they were ok, but not great. There maybe 300 to 400 java for phone apps out there, some are real crap, so lets say 200 good java apps, there will be 1,000 iPhone specific apps by December, why worry about apps not made for the iPhone?

At work we do a lot of web applications in Java to the tune of about 25 million lines of code a year, so I am very familiar with what it can do. Java needs to forget its run anywhere and instead run for iPhone specifically to be useful.

The iPhone is a game changer with a very sophisticated interface that is still evolving, to be useful, Java needs adapt, not the other way around.

It has nothing to do with being a fan, it has to do with vision and recognizing that the iPhone is a computer and not your typical phone.

Java needs the iPhone, the iPhone does not need java.

Give me a good reason why the iPhone needs java other than to run the generic programs for phones that exist out there which a lot of people are going to find that they do not use the features that make the iPhone an iPhone.

Make a believer out of me.

200,000 SDK downloads, at 10% real programmers with full intention to develop, that is 20,000 programmers, if you assume 5 programmers per team, that is 4,000 iPhone apps being worked-on. Some will come from smaller groups of 1 to 3 programmers so I am being very conservative, I expect the number to be closer to 5,000.

Why do we need java on the iPhone?
 
Read the footnote! ;)

It was already long enough, I had to leave some bits out.
Missed that! Perfectly summarized!

How many of you anti-Java people have actually used Java on a phone? It's a completely slimmed-down environment.
That's fine for phones that don't have another programming environment, but what would be the point with Java on the iPhone? There is already a killer Cocoa-based UI for the iPhone, Java would just dumb that down for apps that may (or may not) "run anywhere™" but won't take advantage of specific iPhone features.

Remember, if the experience on the current crop of phones was so l33t there wouldn't even be an iPhone or SDK. Nobody is waiting in line for any other phones, are they?

BTW, I'm an ex-Java coder. Java is fine for the server, but the promise for Java on the client is just a tad oversold.
 
How many of you anti-Java people have actually used Java on a phone? It's a completely slimmed-down environment.

I think the word you're looking for is "crippled". Otherwise they'd use that environment everywhere. They don't, for good reason.
 
I think the word you're looking for is "crippled". Otherwise they'd use that environment everywhere. They don't, for good reason.
I would consider that word if you would admit OSX on iPhone is crippled, and safari on iPhone is crippled as well.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.