 |
Give me any reason at all to use Mac OS X for Java development
Posted by joconner on January 29, 2007 at 03:24 PM | Comments (31)
Give me a reason, any reason at all, to continue using Mac OS X as my primary development platform for Java applications. Java SE 6 is available now for Windows, Linux, and Solaris platforms. Why not for Mac OS X? Don't you dare mention that Java SE 6 is available on Mac OS X...I know about that. The available Java SE 6 implementation is stuck at build 88 and hasn't been updated in months.
Steve Jobs recently hinted that consumer interest of Java on their new iPhone was minimal. So, maybe Java ME won't be available there for a while. Maybe he also thinks that consumers aren't interested in Java applications on Apple's other hardware. Daniel Steinberg wrote a recent opinion piece on an O'Reilly site that questions Java's viability on future OS X systems too. Do you realize how disappointing this is?
For me, the question of consumer interest for Java apps on OS X is unimportant. I'm a Java developer, and I use a laptop or desktop computer to do my work. Although I don't care what platform my applications run on (that's one reason for Java after all), I might choose a Mac OS X machine for my development work. In fact, I already have. I have a MacBook Pro that I selected for two reasons:
- I wanted to try a Mac. Never had one before. I'm thrilled with it, its consumer apps, and its ui.
- I thought Apple was committed to Java on this platform, and I wanted to use it to develop Java apps regardless of what platform those apps would eventually run on.
Now that I have this MacBook Pro, however, I recognize that the primary application that I use on a daily basis (a current JDK) is not up-to-date. And I don't see any information from Apple to allay my fears about not having a current Java SE 6 implementation. Curiosity about the OS X platform aside, if I don't have this particular application (a current JDK), I really don't have a good reason to have this MacBook Pro. An iPod or Apple TV? Sure, I might get one of those...repeatedly in the case of the iPod. But I won't need another laptop or desktop from Apple...not if my most important work application is unavailable.
So, my message to Apple is this: I understand that consumer interest in Java apps may not be a reason to push Java SE 6 on OS X or Leopard. However, some potential customers would buy an Apple laptop or desktop system if a current JDK were available. How many? I don't know the numbers, but if anyone is counting, they can start counting with me. I want to be a customer if Apple will let me.
Bookmark blog post: del.icio.us Digg DZone Furl Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment
-
Sun should take responsibility and release a JDK 6 for MacOS X. I don't know why Sun is so stuck on leaving it to Apple to do it; they don't expect the same for Linux or Windows. Why treat MacOS X like a 3rd class citizen?
Posted by: tegbains on January 29, 2007 at 05:05 PM
-
Maybe it is time for Sun to step up and provide a JDK for the Mac OS rather relying on Apple to support this now that they have transitioned to Intel processors. Maybe it being open source will help to drive this forward.
I have to kind of agree with the assement that as a client/consumer there are few if any applications that make having Java useful or a requirement for the average computer user ( I can think of none at this point ). As a server side developer I do find it a bit of a pain that Mac OS X doesn't fully support Java and there are many tools I use that require Java but does any of these rise above to where my wife or kids would even know about these - afraid not. I still think Java is a good choice for development and admin tools but this a pretty narrow community that is willing and understands the value.
Just to keep in mind there are also no apps that rely on perl, ruby or python either that I can think of that the average user knows or cares about either. These are just as much just admin or developer tools rather than something that average computer users want to think about or use. In large part I suspect that this is because there isn't the whole eco system of GUI API's that need to be supported so parts are relatively easy compared to Java but this also limits their usefulness and makes for lots of non-standard GUI bindings so this has limited their perception that they would ever be more than admin tools.
Posted by: vford13 on January 29, 2007 at 05:16 PM
-
Why should Sun do what Apple has been doing for years? Worse, they have an almost complete implementation, but where's the final release? I for one would prefer a "native" VM from the platform vendor itself, than say a third-party like Sun or IBM or BEA. It'll most certainly be better integrated with the internals, there won't be any finger pointing because now that Java's open-source, the buck will stop at the platform vendor.
Posted by: dmtaye on January 29, 2007 at 07:49 PM
-
John,
This FUD about Apple abandoning Java has been quite amusing. Jobs was quoted saying "Java's not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain." I am confident that he meant this solely in the context of Java ME running on the iPhone. Java is still very important to Apple both on the desktop and the server:
Apple's online store, .Mac and the iTunes music store all run on WebObjects which is a Java application server. Let me say that again, the iTunes Music Store, one of the most important and strategic pieces of software that Apple has created, runs on Java. Apple is currently hiring Java developers for these and other internal projects such as re-architecting the Apple Developer Connection.
On the desktop, Java, like Parallels is a 'switcher gateway' that allows both consumers and developers to more easily become Mac users
As for the delay in releasing Java 6 for OS X, keep in mind that Sun's Java 6 release only went final on December 11th 2006. Is Java 6 not being available for OS X such a deal-breaker for so many people? Its not. There are still plenty of companies out there deploying apps on JDK 1.4! Apple can't prioritize their development to cater to the Java Community's early adopters, it just doesn't make business sense. Nor does it make business sense for them to abandon Java support. If you want something to complain about, here's what I think the real reason for the delay is: just as Java 5 was a Tiger-only release (Tiger as in OS X 10.4) Java 6 will probably be Leopard-only. This is not because of some crafty scheme to force people to upgrade (what proportion of the user-base would upgrade for that reason?). Its because they can leverage Leopard-only improvements and eliminate the time and effort of testing on older versions of OS X.
I think Sun taking responsibility for Java on the Mac would be a bad idea. I think they'd screw it up. Would it make business sense for them to hire experienced Mac developers given Apple's current market share compared to Windows? The result wouldn't be as well-integrated into the OS. They wouldn't have access to as much of the OS X internals know-how. Apple's Java team can do a better job. Their work goes beyond the porting of the JDK - for example they've made some valuable contributions back to Sun like their Java Shared Archive implementation.
Reasons you should continue to develop Java on OS X:
Its an enjoyable experience! (providing you can put up with Java 5 or a pre-release of Java 6 for another 4 months)
Its still better than the alternatives. If your alternative is Windows, you won't have to give up 25% of your CPU to virus protection. If your alternative is Linux, you won't be wasting time tinkering with configuration.
If you're doing server-side development, you're probably deploying to some form of unix. Mac OS X is more similar to the kinds of environments your app will run in. You can use the same scripts, environment variable configuration, monitoring tools and command line tools that are available on your servers. OS X has so many open-source tools already bundled that make development easier.
Posted by: cherro on January 29, 2007 at 08:13 PM
-
I think Apple should continue to develop the default Java platform for the Mac and agree with cherro: Sun would screw it up.
Sun could provide a headless version for OSX though, or of not headless, using X11. I would welcome that as an alternative development platform.
As for Java 6 not being available, well It doesn't bother me. Not all of my customers have Java 6, so I can't realistically target it. If I do need to develop with it, I can use the preview release, or just dev on Linux/Windows in Parallels.
No big deal. Just move on.
Posted by: goron on January 29, 2007 at 11:19 PM
-
for the last few year, the Java community was publicizing Apple for free.. all big conferences and the big players inducing people to think Mac as the gold of the computers.. now, Java is going OSS, we have Solaris and Linux out there.For me, the great reason of using Mac since ever was based on two simple reasons:
the will of not using windows - people like to be different, and also the fact Java technology is rival from microsoft products.. So, the big players of Java never liked to be locked into the windows platform anyway.
the will to use a easy to configure system - Solaris never beat on desktop and Linux distros suffer this eternal configuration mess..
It is time do adopt open source in all technology chain - including Linux or Solaris.. Time to remove all free support for Mac in the Java world :)
Posted by: felipegaucho on January 30, 2007 at 01:04 AM
-
and, of course, Mac is a subliminar way to say look, I am rich also :)) - the simple fact of the most part of Java developers in the world cannot buy the expensive Mac.. so, if you want to seem not only smart but also rich, buy a mac :)
Posted by: felipegaucho on January 30, 2007 at 01:06 AM
-
I agree with cherro, Job's statement about Java was about the phones (in any case, it was plenty wrong even in that context) and Apple is probably bundling Java 6 with Leopard, and this explains the delay.
Nevertheless there are hints that make me nervous about the future of Java on Mac OS X, client side - the latest ones perceived at the ADC meeting (I can't comment on this, as ADC meetings are under NDA). It would be more appreciated if Apple showed its strategy with clear statements. I wonder whether Sun can make something at corporate level to address this.
Posted by: fabriziogiudici on January 30, 2007 at 01:07 AM
-
"I am rich also"
Looks like I'm in the "three sigma" of Apple users :-(
Seriously, Mac OS X can't be abandoned if we want Swing to be successful on the desktop. There are "cool" desktop customer segments which have strong preferences for Mac OS X (e.g. people on the media side). Of course, to address them we must have complete and working APIs for the media..
PS: I've switched to Mac OS X because I'm not so young and I don't enjoy anymore spending 30% of my time in configuring my operating system... :-) - yes, I'm referring to Linux (otherwise I'd have said 70%).
Posted by: fabriziogiudici on January 30, 2007 at 01:13 AM
-
Basically, your last paragraph is similar to a hypothesis I've kicked around for years: that Apple's support for Java might be entirely justified by selling laptops to Java developers, that developers are essentially the only audience for Java on the Mac. Daniel Steinberg disagrees with me on this, but I doubt there are any other end-users who would refuse to buy a Mac because it didn't have Java support (put another way: Mom doesn't use NetBeans or LimeWire).Question for the other talkbackers on this idea about Sun taking over the JDK: who do you think cares more, Sun about the Mac, or Apple about Java? What would be more damaging: developers abandoning the Mac because there wasn't a current JDK, or developers abandoning Java because its absence on the Mac would de-legitimize the language?Final thought: if you have an Intel Mac, can you run the Windows or Linux JDK's with Parallels? Would you want to?
Posted by: invalidname on January 30, 2007 at 03:01 AM
-
(put another way: Mom doesn't use NetBeans or LimeWire).
That's right, but this is true for Windows and Linux too. Re-connecting to a previous post of yours, there aren't Swing killer apps for end-users. But, as there are statistics about Swing being really popular among developers, I draw the conclusion that most of the work with Swing is being done by integrators for specific customers. E.g. I know of a sophisticated client for monitoring etc... stock quotes in real time that is addressed to professional stock exchangers and not to my mom. Clearly, any discussion about targetting end users with Swing apps is focused on the future, and this holds basically for all the three major platforms around.
I use Parallels, but only for cross-testing and for the few apps (most notably Money and Project) that don't have counterparts for Mac OS X (still to give a serious test to CrossOver).
PS: My first statement should be partially corrected: indeed NeoOffice is an application that could be targeted to my mom and it's based on Java. Now, probably we could discuss whether NeoOffice developers, lacking Java, would have used Objective C... Maybe.
Posted by: fabriziogiudici on January 30, 2007 at 04:02 AM
-
fabriziogiudici,
As another example of a Java app your mother might use, on a Mac or elsewhere: Moneydance is a Java personal finance manager.
This is an app that all Mac users should take a look at. Some Mac users I know have been using MS Money or (Windows) Quicken in VirtualPC/Parallels because Inuit's Quicken for Mac has always been crippled compared to the Windows version. On top of that, some banks don't support Quicken Direct Connect for the Mac for some reason. To be clear, I'm not talking about manual importing of QIF files, I'm talking about one-button automated connect and import, initiated from within Moneydance. The great thing about Moneydance is that it is able to mimic Quicken or MS Money when downloading transactions - so even though a bank (such as Bank of America) says they don't support Quicken 'Direct Connect' for Macs, Moneydance will happily connect and download.
On the topic of Open Office and NeoOffice, I just read last night that OpenOffice.org are close to releasing a public preview of a native Aqua (non-X11, non-Java) version.
Posted by: cherro on January 30, 2007 at 04:50 AM
-
I know one IT company in Island where all developers use Macs and Java. I think they are not happy that they don't have latest JDK.
And I considered to purchase a MacBook, too. Because I don't like Vista. But since I am a java developer there is no way I can do unless they support latest java.
Posted by: mariso on January 30, 2007 at 06:51 AM
-
I just want to let Apple know if they drop Java support they loose at least one (=me) developer creating software with their platform. However I guess they would loose even more.
just my 2c ;)
lg Clemens
Posted by: linuxhippy on January 30, 2007 at 07:18 AM
-
i recall reading threads just like this one back in 1998 on the webobjects mailing list. people complaining about bugs in webobjects (back then you could write webobjets apps in java but much of the underlying code was written in objective c and they had this java-objectivec bridge) and apple doing nothing to address the issues. apple cares only about one thing: making money for apple. there's nothing wrong with that. why should they help you? macs are not for programmers. it's a proprietary platform. that means mac users are always going to remain users, not developers. if you want to develop on a mac, you have to use apple's development stack and follow apple's rules. in the end, you still get backstabbed when apple rolls in their own copy of your software into the next version of their os. now let's turn the argument in the other direction: why should you buy a mac? why should you help apple out? i believe the java community should not help apple out. they don't need charity either. they make a lot of money. we should be running solaris or linux. i run ubuntu. you'll get the most recent java and you won't have to pay steve jobs any royalties. going from windows to macos does nothing. you're simply going from one proprietary platform to another.
Posted by: eitan on January 30, 2007 at 07:31 AM
-
If you go to Java.com and grab the latest Java today you get Java 5, not Java 6. This is a non-issue. Developer previews of Java 6 are available for Mac OS X today.
This is whining for the sack of whining. Download the DP, use Java 6 and move on. So Apple's release will lag slightly behind Sun's - big deal.
Posted by: swpalmer on January 30, 2007 at 08:14 AM
-
I'm a big Apple fanboy who currently uses XP, I'd love to go back to a cool Apple laptop but I guess the passion is gone. I just don't really see Jobs holding his promise to make the Mac the best Java platform, it just isn't. Its good enough but Linux/Windows are both far better as Java platforms.
I don't think its Sun's fault, why should Sun port to a small niche market. Apple made the commitment to Java which got me to buy my first (and last) PowerBook, unless they make great progress in the hardware/Java support departments I just don't see the incentive of paying the Apple tax. I'm technical enough to use Linux and it is more powerful, so my next laptop would probably be a Linux machine again.
Posted by: vprise on January 30, 2007 at 08:17 AM
-
@swpalmer, calling this whining for the sake of whining is simply disregarding the argument. If a developer needs the latest JDK to develop products, he will not use a Mac. I want to use the Mac, however, and I think I have a valid concern. If the number of similar developers is big enough, Apple may have a concern too because they are losing an important market. Is the market big enough to be concerned? I don't know, but I am in that market. By the way, the differences between build 88 and the current released Java SE 6 are significant enough that I couldn't use the Mac for a recent app that used SwingWorker. In this case, I couldn't just download the DP, use Java SE 6, and move on. I had to develop on the Windows platform.
Posted by: joconner on January 30, 2007 at 09:07 AM
-
@swpalmer, Java 6 is available at http://java.sun.com/javase/downloads/index.jsp. And even when it was just an early access:
it was updated constantly (while Apple has stopped several months ago)
Sun was updating the release plan (while Apple doesn't say ANYTHING, it never replies to people kindly asking whether it will be bundled together with Leopard or not) - everybody has to wait until the usual, spectacular KeyNote - even heard of "planning needs"?
Apple always releases previews under NDA, so you can't comment and discuss about issues etc... with others
It won't be a big deal if Java 6 on Apple is just 2/3 months in delay - it WILL if they repeat the history of Java 5 that was MORE THAN ONE YEAR. I don't think it will happen again, but - yet - all of us would like just a few words from the corporate.
Posted by: fabriziogiudici on January 30, 2007 at 09:08 AM
-
A year or so ago, various Java developers were saying it Mac OS X was a great Java development platform. As a Swing developer, I never understood that because Swing development on a Mac is a pain. Even the native L&F looks crappy (tip: use Quaqua). Obviously, I've never had a reason to develop software on a Mac. Though I don't like Microsoft, Windows XP is my preferred client-side Java platform. Linux requires too much administration.
Posted by: neilweber on January 30, 2007 at 09:33 AM
-
I find it amusing that some developers, which are exactly the people that want the greatest efficiency ... find that Linux requires "too much administration". I have stopped using Windows 2 years ago, and chose Debian Linux as my platform ... and let me tell you something ... it requires FAR LESS maintenance than Windows.
Linux is the perfect platform for the Java developer.
Posted by: bonefry on January 30, 2007 at 11:13 AM
-
@ cherro
The *reality* is that Apple hasn't done much work on Java 6 in while. If you want to call this article FUD then go ahead but that's the reality.
Count me in too. I want a mac but I won't buy one if I can't do development on it.
Posted by: sproketboy on January 30, 2007 at 11:55 AM
-
@joconner, Sorry, I jumped to the conclusion that the DP would have worked for you. My only point was that you CAN use a Mac NOW to develop with Java 6. (I still bundle SwingWorker separately because I want my app to run on Java 5 too.) Now that you mention that you HAVE downloaded the DP and it wasn't good enough.. ok I agree.. the DP is lagging quite far at this point and if it is holding up your development that sucks.
I would be really surprized though if this is the only time you've been burned by targeting the lastest and greatest version. This sort of thing comes with the territory, regardless of the OS.
I'm in a REALLY bad position on the Mac, I have a PPC mac... and even the DP of Java 6 in that case is... well... read the release notes :(.
@fabriziogiudici, java.com, the site for end users, still gives you Java 5. Most end users simply aren't at Java 6, and it's partly because for some reason SUN doesn't want to give it to them. As mentioned above, Developers (the people that go to java.sun.com to get Java) can get the Java 6 DP from Apple.
I agree that Apple's closed, secretive, policy isn't doing them any good, but that doesn't mean you can't do any Java 6 development on a Mac.
I too hope that Java 6 won't take much longer to be available on the Mac. Earlier on in the process Apple seemed to be more responsive than they were with Java 5.
Heck, last time I checked my Linux distribution (Ubuntu), Java 6 still wasn't properly offered. You HAD to grab it from Sun's developer site, and then it doesn't install properly because of the mess involved with installing anything not offered directly by the distro on Linux.
Posted by: swpalmer on January 30, 2007 at 01:20 PM
-
@sproketboy The FUD I was referring to was Daniel Steinberg's allusion to the possibility of Apple abandoning Java altogether.
As for the 'reality', I doubt you're in a position to authoritatively say whether or not Apple has 'done much work on Java 6 in while'. If you were, you wouldn't be talking about it here.
The *reality* (which I can say with more confidence than your statement) is that the group of Java developers who either own a mac, or would like to own a mac and absolutely must use Java 6 right now is very small compared to the group that is comfortable with using Java 5 for at most another 4 months.
Posted by: cherro on January 30, 2007 at 01:50 PM
-
@swpalmer and @cherro: Java 6 is not just a matter of the SwingWorker, of course. While joconner has already stated that the developer preview of Apple is really late in comparison to the one made by Sun, and there are enough differences to have an headache, I repeat that my main point is about _planning_: as an architect I can't decide how to target a project that should deliver say in 6 months, not only because I don't know if there will be a working Java 6 on Mac OS X, but I don't know if it will require a forced upgrade to Leopard. These are very different scenarios to take decisions on.
Another point is that with Sun JDK I could decide to ask a potential user to install it now just for starting, while I can't with Apple because of that paranoid NDA stuff (can't be redistributed, can't be talked about). And the release notes say that to uninstall the Java 6 preview it would be necessary to reformat the hard disk or be the Wizard of the filesystem - figure out I moved out of Windows to avoid reinstalling my system every six months and didn't choose Linux because I don't want to waste time on sysadmin!
Posted by: fabriziogiudici on January 30, 2007 at 03:03 PM
-
Sun providing Java for Mac isn't an option.. there already appear to be feuds over implementation details, with Apple's seeming ambivalence over Java (the iPhone thing), the Mac is a second class platform for Java developers and users. I'm using a Macbook Pro now, but I won't be in a year - the OS is already divergent from what I'd use on a server, and I don't like the garden path subscription lifestyle they are taking their users down.
In a dream world, someone (Sun?) would finally support Linux on a notebook. It'd just take reliable video out and power management, and not be overpriced compared to a Windows or Mac notebook. Add in a license for Parallels or VMWare to run those Windows apps and you're set. Alas, I don't know which company has this in them, even though there are millions of people who might buy.
Posted by: masonda on January 30, 2007 at 05:59 PM
-
+1, John. I got an Intel MacBook Pro about a month. I have been using it several hours a day since then and I must admit I am rather disappointed with it. Perhaps I had too high of expectations? Perhaps all the hype that it's such a great machine, OS, etc just isn't there? I suppose I sound a little harsh. But, I'd ask what would your reaction be if your new MacBook Pro has crashed the operating system twice in a month and locked up / hung 4 times? (My OpenSolaris and Linux systems have a far better track record). In addition, I'm finding web sites such as http://www.midwestairlines.com won't open in any web browser on the Mac, i.e. Safari, FireFox or Opera. (Btw, I'd be curious if anyone elses Mac can open that web site) But, if I go to any other operating system; Linux, Solaris or Windows, that web site loads just fine. All this being said .. the hardest thing for me to get used to on the Mac is the menu items for an application is not on the window itself. It's at the top of the screen. This might be very useful for some follks. But, for someone who is used to seeing menu items on the window itself, (as they are on any other operating system I've ever worked with), it's hard to get used to it. I certainly am not as productive as I am on Solaris or Linux. Don't get me wrong. The MacBook Pro is nice machine. It's just doesn't seem to be a good fit for me.
Posted by: huntch on January 31, 2007 at 07:37 AM
-
Like John said, I'm sure Leopard will include Java 6.
I'd just like to add a reason for sticking with your Mac that no-one else has mentioned yet: DTrace.
Leopard will include DTrace and with a little bit of luck, the Solaris probes included in Java 6 will work or can be made to work on Leopard too. I'm pretty worked up about this. It means that you can profile a deployed Java application on a customer's Mac (or Sun Solaris) with no additional installations needed.
There's big difference profiling your application on a development box compared to the actual installation, running live data.
Posted by: martin68 on January 31, 2007 at 01:17 PM
-
huntch, my 4 month old white MacBook was able to search for flights on http://www.midwestairlines.com just fine, both on Safair and Firefox2 (over a slow free wireless network). Don't you hate when that happens? ;)
As a side note, the main thing that annoys me on OSX is that the Finder doesn't show you the path of a file unless you drilled down to it originally. I did find that rolling over Spotlight's search results pops up the path in a tooltip.
Posted by: goresc on January 31, 2007 at 03:05 PM
-
Count me in, too.
I've been using Apple as my preferred platform for just about six years now, but as a Java-developer, I too am appalled at the time span that Apple's Java implementations lags behind Sun's.
I don't need the latest JDK right away as my customers don't just upgrade because Sun has released a new version. But ALL of my customers EASILY managed to upgrade within the time it took Apple to release 1.4 and/or 5.0. And that left me out in the cold.
I am about to purchase my next laptop very soon after Leopard has been released and depending on its Java implementation I might not opt for a third PowerBook.
Posted by: moxi_m on February 01, 2007 at 05:51 AM
-
Having a lot invested in Java, of course I would love to see more timely support for Java on MacOS and less anti-java rhetoric from Steve. However, I just returned to the Mac platform after years in Linux/Windows exile and I'm a much happier Java developer. I use my computer almost every waken hour, and my work-environment is too important to be left to Bill Gates. I will simply consider the latest Java release to be whatever is available and stable on the Mac platform.
Please, Apple, do not let arrogance lead you to believe that every consumer device will one day run MacOS X. I hope those kinds of mistakes are in Apple's past. I've lobbied hard for the Mac with my Java developer colleagues. I'd hate to be proven wrong on this one.
And yes, I'm rich too, and intend to hang on to my Rolex and my MacBook Pro for as long as feasible.
Posted by: geronimo4711 on February 14, 2007 at 10:37 AM
|