Apple, on its Java Developer web site, tells us:
Mac OS X is the only mass-market operating system that comes complete with a fully configured and ready-to-use Java Development Kit. Professional Java developers are increasingly turning to the feature-rich Mac OS X as the operating system of choice for cross-platform Java development projects on the Macintosh and other platforms.
New Java releases however make their way to all OS X users typically quite some time after their initial deployment for Solaris, Linux, and Windows. Java 1.5, auspiciously also code-named “Tiger” was first released in late September 2004, while the Mac JDK came out to the public in an OS X Software update about a year later, in the form of Release 3.
With this said, it’s not uncommon for Apple to seed software earlier to ADC members of appropriate tiers, so if you’ve got to be on the bleeding edge, there are ways.
Beyond those caveats, “Best Java Platform” is a vague assertion I need to qualify: Java’s essence is to be “cross-platform”, so there’s not much of a point in engaging in platform spitting contests unless we look at a few specific practical aspects of Java development.
As a developer, it gives me the warm fuzzies to know that the company that builds my computing platform of choice also maintains and holds itself fully responsible for the flawless release of its own Java implementation.
/Library/Java/Home/../.. shows us all versions of Java installed on Mac OS X. A set of simple symbolic links activate a version over another. It’s very clean. As Apple releases new versions, the installer updates this directory. With the Java 1.5 release, Apple introduced a couple of nifty tools in /Applications/Utitilies/Java/, where you’ll notice the J2SE 5.0 directory, with “Java Preferences” and “Java Cache Viewer”.
Java IDEs, most of which are built in Java and are therefore cross-platform, with their support for standardized application deployment frameworks defined in J2EE, make cross-platform Java application development quite seamless. Most IDEs are however very RAM-hungry. For this and a few other reasons, a simple text editor combined with “ant” and/or a strong command-line interface (CLI) often makes a whole lot of practical sense in Java Development. In Windows-land, DOS is a horrible CLI. Many Windows users cope by installing Cygwin. But “Java is a Windows program, and as such, doesn’t recognize Cygwin-specific paths“.
While Linux provides a strong development environment, it still isn’t quite as “nice” a Desktop operating system as Mac OS X. And Mac OS X being Unix, it feels just as nice on the command-line as Solaris, Linux, or FreeBSD.
Apple’s embrace of Java goes far beyond the J2RE. Apple enables Java developers to get their feet wet with OS X Application development by allowing them to write native Mac OS X apps … in Java!