Gosling Reacts To Apple's Java Deprecation
Kurofuneparry writes "Apple has announced that Java is deprecated as of the most recent update to OS X. This shot across the bow is getting some responses. To Jobs' claim that 'Sun (now Oracle) supplies Java for all other platforms,' James Gosling is quoted as saying that 'simply isn't true.' Much talk of a coming turf war is to be had. This certainly can't be unrelated to statements from Jobs recently covered on this website and is sure to make waves. Apple has enjoyed significant success recently accompanied by a widespread sense that they can do no wrong in business or design. However, is deprecating Java a mistake? It doesn't take much insight to connect the dots and see that Apple has starting marking friends and enemies relative to the increasingly heated fight for mobile and other platforms."
Overly-dramatic summary aside, isn't this just because the cost for Apple to support Java on OS X is greater than the benefit it provides?
at least link to the corresponding blog:
http://nighthacks.com/roller/jag/entry/steve_jobs_comments_on_apple
The side-effects are that Java developers won't use Macs. (Since I use neither Java nor Apple products, I don't really care that mcuh, but I think Apple might be shooting itself in the foot.)
Of much more concern is the App store for Mac OS X idea. Apple is turning Mac OS X into a closed iPhone-like system. I guess my anti-Apple rant will soon apply to Mac OS X as well as the iP* systems.
The mistake isn't necessarily deprecating Java, if that is the way forward then that is the way forward. The big mistake is deprecating it without ANY concrete plans on a way forward. Corporate types hate uncertainty and Apple fails to realize this it seems. I mean we don't even know if Oracle will provide a JVM for mac, and if they do what will become of the Apple-specific technologies(such as launching with the Java application stub, using Cocoa instead of X, the Apple specific Java extensions etc.)
Where I work we use a lot of Apple Java and now we have absolutely 0 idea on whether we should invest any more in Apple at all. Buying new hardware and transitioning to a new platform is expensive, but at least the other major platforms(Windows and Linux) do at least provide some certainty as to the future of those products and the platforms they will support.
Basically Steve is treating major software platform updates the same we he treats iMac hardware updates, and that just doesn't sit well with a lot of people.
Monstar L
No Eclipse, which is used in a vast number of development tools (including non-Java ones), especially for embedded systems. No NeoOffice, which (at least last time I used OSX, which was admittedly a LONG time ago) is the only way to make OpenOffice on the Mac usable. And plenty of business applications are in Java, either as applets or standalone applications - they'll break too.
Ordinarily, their would be praise in the streets for Apple "deprecating" Java. They've done a consistently late and shitty job of keeping their port up to date, with only the benefit of having it be part of "system update" to show for it.
Given that their marketshare has grown, and Sun/Oracle does a decent and/or better than Apple did job of keeping it updated for other supported platforms, it seems likely that support will actually improve.
However, in the case of Apple, it isn't hard (or, typically, incorrect) to view anything that they do as being in service of their single-vendor-golden-cage control freak ideology. On the mobile, it is cryptographically enforced. On the desktop, the intent seems fairly clear to start with the soft sell "The Apple Store isn't the only way, just the best one" saith Jobs, and abrupt terminations of distribution of 3rd party technology are likely part of that.
Server/corporate users of OSX, rare but not nonexistent beasts, should be celebrating right now, since they'll now have actual Java, not Apple half-assery; but it is also likely the case that this is an attempt to make java an even more obscure and peripheral aspect of the OSX experience in general(in the same way that x11 is available; but is considered about as "un-Apple" as firing up Parallels, and probably less common).
I kinda summed up the consequences, OK i was pessimistic but I also had forgotten apple used to have offerings in the server market. A server that can't do tomcat natively? hmmmm.
---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
There are still open source equivalents of the JVM such as SoyLatte and the like. Plus, I really don't believe Gosling on this. I imagine we will be seeing an Oracle branded JVM for the mac in the next year or so. The apple audience is just too big to ignore. It won't have first class citizenship like it used to have with the OS, but then again, Apple has been gradually pushing Java to the side. Java updates have always been incredibly slow for the mac and trying to make a Java app look native takes a tremendous amount of work that sort of goes against the spirit of Java and also creates compile headaches.
First off, IBM and HP maintain their own JVMs (as did Microsoft until the Sun/MS lawsuit). Secondly, Apple insisted on being the one to port their JVM. Reading the blog post by Gosling will tell you that. And thirdly, they didn't do it "for free" (at least in the early days - not sure about the last few years). I was at Javasoft back then, and Sun funded some Apple engineers to work on the port.
I don't have a problem with someone else (say, Sun^H^H^HOracle) doing the port - it would be more timely, up-to-date, etc. I just wish they would have had a something worked out saying "We're not gonna support our JVM, and Oracle will be doing this starting on ...
Open-source JVM's on OSX are highly incomplete and typically use X11. This is not ideal behavior, at all.
Then Oracle should get right on that if they want to truly be a common platform for all OS.
This is not a big deal really.
Software developers aren't really all that important to Apple market share anymore as they have been moving toward becoming more of a source for trendy tech gadgets rather than a major force in computer driven software for some time now. They intend to phase out of computers completely as there is more money to be made with iPhones, toy tablets and other trendy gizmos. They see no future in the business world of databases, web-development and science-based applications, but rather in the end-user market phone, games and entertainment space. Apple intends not to compete with Microsoft or Linux. With OS X, their primary targets are increasingly Sony, Nitendo, Nokia, Samsung and the like.
Lets face it modern American youth are really no longer receiving the kind of educations that they would need to remain current in the computer-tech world. Jobs is just adapting to market realities and the fact he has a captive market of folks who recognize that they can't really be "cool" unless they buy Apple products.
Huh? What history are you reading from? Microsoft very much did have their own JVM implementation for many years, then Sun started anti-trust litigation against Microsoft regarding it. Sometime in 2001, Microsoft settled and agreed to stop distributing it.
Basically, Sun never supported Java on the Mac, Apple did. Apple provided the developers, the tools, apple did all the work, and then paid Sun for the privilege. (it costs money to make sure your JVM was approved).
With oracle now suing every other Java implementation out there that wasn't approved Apple probably thought it just wasn't worth it. Expensive to do, costs money to do it, and unless your sending money up to oracle yearly, now a patent nightmare mess.
Look at it this way a side effect might be that Oracle stops suing non oracle approved JVM's, including Davik. The Bad press might be more than they realize.
i thought once I was found, but it was only a dream.
I think Gosling is correct.
Why would Oracle care to port JVM/JDK to Mac on their own, especially now, when so many developers that used to work on Java are gone from Sun/Oracle after the buyout deal?
Actually Oracle doesn't care about Mac platform, it cares about its money making business - databases, ERP software etc. and what percentage of that runs on any Mac server exactly?
The only single reason for Oracle to care is to try and preserve more Java developers, which they probably do care about, because so many of their own products use Java. But do they really care about developers on Macs? I don't see it.
You can't handle the truth.
That was also back when Sun worked with other JVM's, as opposed to suing them out of existence like Oracle is doing. Apple probably lost those engineers and Oracle probably came to them and said now you have to pay us for the privilege.
Why are we blaming Apple when it's Oracle's policies that driving this particular change.
i thought once I was found, but it was only a dream.
It's too bad; Macs really caught on at my workplace since OS-X was released. Our software targets Windows and Linux, but since we're mainly a java shop developers can run Macs on their desktops if they like, and since OS-X. almost half of them have chosen to do so; they all have 8-core power macs with 8 gigs of RAM etc. If java doesn't keep up on the Mac, OS-X won't be a viable option for us any more.
and I explain:
Your view would make a good Apple PR position but doesn't address the actual complexities of the situation.
Except Davik is not a JVM. You can't download java *.class file and run it on Davik.
As the island of our knowledge grows, so does the shore of our ignorance.
Hardly. This is a move to crush anyone that wants to use Java to build a cross platform "app" that would work on Blackberrys, windows, linux, iphones, osx, etc. Apple was officially licenced to produce their own JVM. To say they were worried about a lawsuit is horribly naive. Apple is an evil, exclusive company that has forever been secretly trying to go 1984 all over the personal computing industry. Once again their true colors are showing.
If it ain't broke, don't fix it.
I develop Java on Windows quite well thank you. Yes there was a dust up, when MIcrosoft tied to grab a hold of the language through proprietary VM, but they lost that suit and Windows remains a great platform for Java development and likely to stay that way, otherwise many customers like me will simply migrate to Ubuntu or another system capable of running Java, which would further erode Windows market share, particularly in the business applications market.
Thats why Apple wants to kill Java. They don't believe in end-users having that kind of choice. For them software and computer gadgets are all about closed and captive, rather than open markets. Just check out the dearth of really useful, but incredibly expensive stuff in the iPhone apps market that only do things that are Apple-approved. For many end users thats fine as they just want a cool app or gadget that works. They have no real technical understanding beyond pressing "buttons". They do other things with their lives.
Apple has become the trendy tech for the non-technical. Apple sees their market there rather than in general purpose computer manufacturing. Its a good move for Jobs. In his lifetime, things are likely to pretty much stay that way. For people who expand the boundaries of what you can do with computing technology Apple is becoming a closed, shrinking market, except for those developing games and trendy gizmo, entertainment software. For them in the long run Apple is increasingly becoming a dead market for significant technical innovation. For folks who are primarily interested in web-centric technical computing, Apple is really longer "cool" and really has no future, which is not the same thing as saying they won't have a sizable market or profits for some time to come. Look at Sony and Nintendo, they are still making money, but no one would claim they serve as development platforms for innovate software other than games and video entertainment.
The reasoning SJ gave for dropping it though was precicely that it wasn't keeping up – if apple maintain it, it's constantly one version behind as they get the new source and patch it into their JVM... If oracle do it, it stays nice and up to date all the time.
You an run the core product, but only a few of the modules that really provide the power to the OO platform, like highly integrated database-document interaction. But the vast majority of Apple users generally don't have those kinds of technical skills anyway.
Open office is a basically a business application designed to serve as an open alternative to the basic Microsoft suite of business products. Apple sees its future in the trendy gadget, cool phones and vido-games markets, not in general technical/business computing. As a percentage of their sales, developers are just a tiny fraction of their user-base, so why go through the extra expense of catering to them, when you can develop a closed-shop end-user general consumer market instead?
Yes they do because many of their enterprise Java GUI products run on Mac. They've also made a major commitment to JavaFX 2.0, and ignoring 20% of the desktop market would make no sense to them.
The question is whether Apple will give them their OS X Swing implementation, or whether Oracle will have to write it themselves.
This space left intentionally blank.
That's it!
Make a service called Bleeter! "The Voice of the Sheep!" You can get modded if other Sheep like your Bleet!
Maybe we can get Yasmine Bleeth to advertise for it.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
The side-effects of course are that Apple users will no longer enjoy the benefits of attractive looking, quick starting, super fast applications that run (at least) 500% faster than their C++ or even hand-crafted assembler counterparts. It's all due to the latest clever 'Just-in-time' JVMs that are to be released any centu^H^H^H^H^H day now... they'll be able to dynamically compile and optimise the program in the background, without any performance impact what-so-ever.
Apple code quality will also likely suffer, as programmers are forced to move from modern 'type-safe' languages like Java (except for that bit where you have to cast from Object to your desired type every few lines) that strongly enforce modern techniques like exceptions (except that bit where people just catch them and do nothing) to dead languages such as C++ that have all manner of dangerous features like unsigned types.
Thus... Macs as a platform? Unlikely to last another couple of years
They didn't make their own JVM, it's HotSpot.
The side-effects are that Java developers won't use Macs. (Since I use neither Java nor Apple products, I don't really care that mcuh, but I think Apple might be shooting itself in the foot.)
Of much more concern is the App store for Mac OS X idea. Apple is turning Mac OS X into a closed iPhone-like system. I guess my anti-Apple rant will soon apply to Mac OS X as well as the iP* systems.
Keep ranting. Nobody gives a shit.
Users want to be able to install apps with one click and have them just work, whether they are native apps or Web apps. Apple has done a ton of work to enable that on both their own Cocoa platform and the common HTML5 platform, which they have done at least as much as anybody else to realize. Apps that depend on Flash or Java don't fit this model. Not only are there various versions of the runtimes which may or may not run the app you're trying to use, and not only are there various security issues that come up regularly, the user is expected to play I-T guy and sort that all out.
If you are a Java developer, you can run Java on your own server and provide an HTML5 interface on the client, or a Cocoa interface on Apple platforms. That is how Apple themselves use Java. Cocoa and HTML5 both have auto installs and auto updates built-in, and are therefore consistent with consumer use. Whatever is on the server can be as nerdy as you like, but what is on the client has to be consumer grade. Flash and Java are not consumer grade.
Understand that Apple makes consumer products. Would you expect a TV or DVD Player to have Flash and Java and expect the user to update them regularly? That is insanity. So you're not going to have those runtimes on iPads and MacBooks either. These devices don't have I-T support people. The users don't know what Flash or Java is.
So you missed the point entirely. Apple's App Stores are not about being closed, they are about working for consumers 100% of the time with absolutely zero I-T work. Apple makes very, very little money from App Store. The incentive is not to close it, but rather to make it work perfectly. Same with Apple's Web app platform, which is 100% open it's pure W3C HTML5 and ISO MPEG-4 media so that it works 100% of the time for consumers with zero I-T work. You don't need various browsers you switch to for some sites, you don't need to update your Flash or Java, you don't need to download codecs, the one in your GPU is the only one you need. Flash and Java don't make the cut in consumer computing. Blaming Apple for that is just denialism, a way to put your nerd head in the sand and wish the clock would turn back.
I know of one significant difference between the jvm: I made a scheme interpreter in java for a BSc project and when my interpreter ran on a mac I could evaluate 10000!, it would take a long time but I would finally have a result but on a pc or linux or even a SUN server it crashed around 4000! with a stack overflow. This difference was caused by the JVM, the one on from apple would optimized tail call recursive JITed methods into loop. The one from SUN would not....
Jehovah be praised, Oracle was not selected
This is about treating Java-in-general as a second class citizen on MacOS.
It is and has for a long time been a second-class citizen on Mac OS X.
Java has been third-class for a LONG time, on pretty much every platform. Even flash gets WAY more attention.
You could remove Java from most people's PCs and the only side effect would be more disk space.
And on that "universal" platform known as the web browser? When's the last time you used a java applet? Is anyone who doesn't live in mom's basement even writing them any more?
-- Barbie
Unfortunately, as Gosling correctly points out, the claim that apple is the only one doing this is simply not true. IBM, HP, and many other vendors supply their own implementation of Java for their hardware/systems. Microsoft did too for a long time, until they tried "embrace and extend" on the platform and Sun shut them down. Until that happened, the only JVM sun built was for solaris it seems, and maybe the linux version...
Trying to claim "oh poor apple, they've done all this work for free while everyone else just got a free ride from Sun" is pretty disingenuous given the actual history of JVM implementations.
Save this post. It is the first legitimate use of over 9000!
anon
You are delusional if you believe Apple's ditching Flash is a sign of its supporting Silverlight.
blog
It'll be nice if it plays out like he hopes... then again, we're talking Steve Jobs vs. Larry Ellison here, so anything could happen. The only thing that won't happen is either side admitting defeat and sucking it up to smooth things out for users of a free product.
Let's lowball the estimate, and say that the engineer's cost to the organization (desk space, salary, benefits, hardware, networking costs, phone, electricity, everything else - TCO, in other words) is in the order of ~150k per year. You and I both know that's low (HR estimates at my company place the value of 1 engineer for a year at about 250k), but let's assume it's much lower.
Figure you get about 2000 hours per year of work out of that engineer (40 hrs / week, 50 weeks a year) - that means the company is paying $75 per hour the developer works.
Now let's say that that setup is $3000 more expensive than an equivalent PC - the equivalent of 40 extra hours worth of work (75/hr * 40 hrs = $3000).
So how do we determine the point at which the company would break even on this investment? Most hardware is depreciated over 3 years. So... they'd have to get the equivalent of 40 hours extra of work out of the developer over 3 years, or 13.33... hours per year of extra productivity out of the more expensive system, to break even - roughly speaking, a ~0.7% efficiency gain, assuming 2000 hours worked each year - in other words, do 2013.33... hours of work in the time it would have taken previously to do 2000 hours of work.
Do you think that a developer being given a Unix desktop environment that he prefers, and the Unix environment which he's familiar with, would be able to squeeze ~4 minutes worth of extra productivity out of each work day? Shit, I spend that long just booting my system up & signing in while all the virus scans and security settings apply in the morning. I regularly spend that much time waiting for files to transfer around to a UNIX system so I can work on the files on the remote system, because my laptop runs windows.
Obviously, there's other costs to the organization as well, for supporting these additional desktops... but let's be honest here - you can easily make a strong case that spending a little bit more money on a better quality tool is an *investment* in increased productivity & increased savings over the life of the tool. You can't look at sticker price in a vacuum, and say "Mac > Windows PC, therefore robbery."
Java isn't being "deprecated" on OS X. Apple is just not going to work on its native JVM implementation anymore. This isn't surprising since the Java-Cocoa bridge was deprecated years ago. Third-party JVMs, such as SoyLatte, will continue to work as usual.