I recently posted on a Slashdot thread about whether a new Powerbook was up to the task of being someone's main Java development box. The short of the long of it is that, sure, Apple's got some great 'books for developers now but that (as any reader of this blog knows, so, um, me and one or two others) there are some drawbacks to having to wait on Apple to create the JVM.

Most uninformed -- or at least underexperienced -- posts said, "Yay! Apple's great for Java! Apple rocks rocks!"

Today I thought of what should really drive your development: Where are you going to deploy? I'm upset I haven't updated The Digest Handler in months. The Mac version is a release behind the Windows version, and that's only because I haven't made time to hack out a few Mac-specific issues. Hooking up all the Mac specific event handlers, etc, is a simple but slightly nontrivial task. I've also done a little work with the way it handles licenses, and haven't finished getting that kosher.

The upshot, however, is that I developed the most recently released version on Windows, and that's where it behaves as expected. My next release will be on the Mac, and there will be a few bits in that app that Windows users would have to wait on. Do GUI tweaks work as expected? Did I take any stupid shortcuts with file paths (likely no, but you get the picture)?

It's kinda like when VB6 idiots leave in hard coded paths to files that exist only on their machine. No amount of testing on that machine is going to discover the bug. Same with Java and testing on different OSes. If you're really targetting the Mac, hack there daily. If you're targetting Windows, hack there. Solaris? Install that on your laptop, if possible (ie, if you're targetting a SPARC, I'm not sure you have a mobile option). And if you're targetting multiple platforms, you're going to need to have one of each at any rate.

But what most people ignore is the fact that most "real" Java hackers are shooting for installation on Windows or some JSP/servlet jive on Solaris. In that case, you probably *shouldn't* be using a Mac and losing all that implicit testing time on your delivery platform.