Less than a day after Apple unveiled its much-discussed iPhone SDK, Sun Microsystems has told the world it will build a Java Virtual Machine for Steve Job's handheld status symbol. "We're very excited," Eric Klein, Sun's vice president of Java marketing, told the The Reg. "We've spent the last 24 hours furiously looking through …
Why inflict it upon anyone, Sun? Why?
I look forward to a Java implementation of vi for the iPhone.
somebody wake me up when they put Java on something interesting like a toaster or water cooler, please?
This is FANTASTIC!
This is a huge positive for mobile developers! Java is killer for mobile app development, and we don't have to create yet another separate binary - go SUN!
Please tell me they're joking
Is there anything that'd be a worse fit fit the iPhone philosophy? Anyone who released a java app for the iPhone would be laughed out of town...
Wait a minute...
I paid over the odds for a new phone with a UI that doesn't suck. So why the fsck should I want to put any Java apps on it???
T'would be like running a cut down version of Windoze on a phone.
Jobs hates Java
The more interesting story here is that Sun didn't get early access to the SDK. Jobs seems to have some bizarre thing against Java. He lives in his little objective C bubble and he hasn't seemed to have noticed that Java is probably the most popular compiled language in the world at this point. Just recently he made some bizarre comment about 'no one using Java on the desktop' or something like that. Sure, no one is writing office applications in Swing, but there are probably tens of thousands of bespoke in-house applications written in Java. What makes it worse is that they dropped their Java/Cocoa binding - just imagine if you were one of the poor saps that invested in that API!
Still, I find myself about to buy a MacBook Pro so they must be doing something right...
My coffee machine runs on java.
Har har har...
Jobs and Java
Well my company was one of the poor saps who invested in Quicktime for Java. Yikes.
I had to do it all over in FFMPEG with JNA. Quicktime Java cannot be relied on to actually work, even if the (rather tricky) install is done, and even then, it usually breaks whenever they deploy an update.
But they won't confess it's deprecated or abandoned; I guess they enjoy luring people into these traps? They don't let you know what they're doing til the last minute.
Actually this whole iPhone fiasco is a perfect example. They were working on this developer kit, but they TOLD everyone that they weren't, that everyone should go waste their time learning their Safari API.
Then the spring this on everyone.
There are rumors that Apple is going to make a game console, and that wouldn't be unprecedented, but if they did, this is how it would go:
1) Apple announces the game system in 2009, right in the middle of a generation, dooming the system to becoming obsolete in two years anyway. It costs $900 and has banana shaped controllers.
2) At the same time, the release the system. Except, there aren't any games for it because no developer knew it was coming.
3) In 2010, a developer kit is released. Game studios dumb enough spend epic amounts of money investing in it.
4) In 2011, just after developers blow money to support it, it's dropped without warning because "nobody plays video games anymore".
isnt this how vapourware starts?
announcing a new product when you haven't spent enough time to ensure its going to be worthwhile? When you havent got a clue what amount of time and resources its going to take?
@ Jim Moores
The developers of Adium had some code that was using the Java/Obj-C bridge I believe, which they had to drop. Word on the street was that Apple got so few bug reports filed they assumed (largely correctly) that noone was using it...
Good news for me though...
because then all my Java games will be a cinch to port to it, especially as they use OpenGL too. Who'd have thought it?
Re: Jobs hates Jav
You can hardly say Java is the most popular compiled language in the world. C++ must get that credit by far. Java on OS X does work pretty well - better than on Windows in my experience at least, and it does look better. I would hope that Sun provide a proper iPhone UI.
I'm not really sure how they intend to do this - from what I understand, each iPhone app will be sandboxed, so they won't be able to load other people's apps. The only route I can see them going down is to provide a Java VM that 3rd party devs can package their apps with or get Apple to build it into the OS.
Java on the Mac
@ Jim Moores: I don't know if Apple actually hates Java, or if they're just getting tired of having to maintain the implementation themselves. In a lot of ways what is happening with the iPhone is what *should* be happening with Mac OS -- Sun just develops the JVM/JDK for it themselves, just like they do for every other platform. Because waiting for Apple to implement the newest version of Java *over a year and who knows how much longer* after Sun released it is just ridiculous.
Does Sun have some sort of deal with Apple that forces them to let Apple develop the JDK? Otherwise why is the state of Java on OS X in the crappy state that it is in?
Just what I've been waiting for - I can't wait to install a Mobile Calorie Counter java applet on my iPhone. Little grey boxes that crash the browser are exactly what we need.
This is beside the point, but why do our comments have beetroot beside them?
How will they get around the SDK agreement?
Apple iPhone SDK Agreement: “No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and builtin interpreter(s)… An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise.”
The only way I could see is that every Java app would have to be distributed with the JVM built in. Maybe someone with more experience in this matter would care to comment?
I wonder if JEdit will work on it. If I ever got an iPhone I could hack my personal webpage's xhtml over ftp! Thing is, I like JEdit despite the interface. Plus, I've been working with a big emulation company's tools recently and their Java-based cross-platform utility application is teh ugly.
What will be more interesting is if the Parrot developers can port their VM to the iPhone. In fact, why doesn't Sun just support the Parrot porters and then target the Java compiler to Parrot instead of the JVM?
How will Java developers cope though? There aren't 70 quadrillion java libraries for the iPhone yet.
Stuff like: java.something.somethingelse.youwantthis.thencomegetit.butyou.haveto.work.for.it.function
I mean, if they can't memorize another 500 obtuse library names, can a Java developer really be bothered?
Slickness mode OFF
I've been hobbling along with an iPhone, my patience for all these slick animated UI features declining by the day. All along I've been hoping for aliased text, funky scrollbars, and garbage collection that I can taste. Finally, my dreams are coming true! BTW, any tips on replacing the phone's cheesy color icons with a sweet grey-and-lavender theme?
Most popular compiled language?
I wouldn't be surprised if Fortran and COBOL weren't still up there well ahead of the newcomers... Net the iPhone won't ever support them :)
Third party licencing?
Apple say they swipe a percentage of the sale of software from the top from the developer. Sun says they're giving JVM away for free. Does this mean that apple get nothing out of a deal that could see applications that are developed (for free) for Java going onto their iPods? What happens if a third party develops a java app that people pay for being run on an iPhone (or the iPod Touch, where these apps should also work). Sun - the developer - hasn't paid anything into Steve Job's slush fund - should the third party developer who hasn't used Jobs' SDK pay?
What happens when development company X comes along and develops a SDK for developing iPhone apps and gives it away free. Apple gets nothing out of it, anbd it becomes an attractive proposition for other developers who would otherwise have to scoop out their pockets to Apple for it. Seems like this won't last for long ...
the java sdk will only be a half a**ed version just like on the psp so dont get your hopes up
thats all im saying you wknt be able to view complicated websites like you can on a pc or mac.
Will it even work?
Have they read the iPhone SDK EULA?
<blockquote>3.3.2 An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and built-in interpreter(s).</blockquote>
Wouldn't this preclude a JVM?
@ Jim Moores
Most popular compiled language?
Hate to be picky Jim, but Java isn't a compiled language. Source code gets 'compiled' into bytecode, which is then interpreted on a virtual machine (the clue is in the name). If it were a true compiled language there would be no need for JVM as the resultant machine code would executed directly by the hardware.
JVM in Obj-C & C++
That should be a good exercise for Sun. Get a JVM bundle that does not take more than 1 second to start and another second to execute the app ... best of luck Mr Gross-ling.
Given the typical use of a phone, 2 seconds is already a long delay. But thanks to ugly Java GUIs you may get a retro 6310i look on an iPhone.
In the meantime I'd stick with Obj-C & COCOA for the over-hyped iPhone ... and NOKIA 6310i for efficient & bare metal phone.
@AC: Java on the Mac
I read somewhere that the reason Sun are not doing the Java SDK for Mac OS-X is because Apple wanted to do it themselves. And then failed miserably to deliver it.
The good news about Sun doing a Java SDK for the iPhone is that Java is one of the most popular languages to develop apps for mobile phones thanks to JME. This means that an app that would run on say Nokia would potentially also run on the iPhone with little or no changes. It may not take advantage of all the iPhone has to offer and may look ugly but it's better than having to re-develop the app from scratch in a different language specifically for the iPhone. You may still want to do that if the iPhone is a major market for you but at least you've got the choice.
... its better than that dog-ugly Obj-C "I think I am Smalltalk" language.
I for one welcome an iPhone JVM, but I wonder if it would be like the BlackBerry one, full of "nice extra features"??? If not, it wouldn't be that good, as all apps would be as dog-ugly as they are for other mobiles...
I prefer Java than ObjC, but of course, the king of all languages is C, and I worship C++ for OOP ;)
Hate to be pickier, but just because the machine the Java Compiler targets doesn't physically exist, doesnt change the fact that it is a compiled language.
If I use gcc to compile some code, and target an ARM processor say, then I can use something like QEMU to run that executable on some other architecture, x86 say. In doing this I haven't changed the fact that the source was compiled, and this is exactly what happens to Java code.
I have some doubts about Java being the most popular compiled language though, but I guess it depends on how you define 'popular'. Most often run? unlikely, as every Java program needs a VM to run it, and those are not usually written in Java! Most widely programmed? perhaps, but that's only because of all the colleges failing to teach tomorrows bank clerks something worthwhile.
Mine's the flame retardant one with 'World Fortran Conference '78' on the back!