Let's create a wish list of items you'd like to see in a Java-friendly operating system. For development you need a robust operating system that makes it easy for you to code, compile, debug, build, and deploy your Java app. It would be nice to have a choice of text editors or IDEs. Your favorite open source tools should work well and the OS shouldn't get in your way. For deployment, a solid implementation of a recent JRE is essential. It would be even better if you could count on a particular VM being installed and tuned for your platform. There are 10 million copies of Mac OS X with Java preinstalled on a Unix box with an end user-friendly front end. Believe it or not, the platform of choice for developing and running Java applications is the Panther edition of Mac OS X.
Panther for Java Developers
You may think of the Mac as a machine for your mother or maybe for the local kids. You are sure that serious Java developers would never be caught using a Mac - or would they? Over the last year or so you may have noticed more and more Apple PowerBooks at developer events. From JavaOne to OSCon to ApacheCon, there are considerably more hard-core alphageek Mac users than the 2% of the market share reported in the popular media for the wider audience.
The Mac has many of your favorite geek tools preinstalled with user-friendly interfaces added. Your mom will find that she can turn on Apache Web Server, which comes standard on Mac OS X, by checking a box. If you're so inclined you can open up a terminal window and access the command line to enter your favorite Unix commands. All of your favorite hard-core tools are included. You can write code using Emacs or Vim and check it in using the standard CVS installation. You can write in Perl, Python, PHP, and Ruby. You can install the free developer tools and use Apple's XCode to write platform-specific code in Objective C, C, or AppleScript. You can also run your favorite X11 applications using the X11 for Mac OS X implementation of the X Window System. In addition, Mac OS X has always shipped with J2SE 1.3.1 and now includes J2SE 1.4.x as well.
James Gosling wrote in his java.net blog:
I use the Mac because it's a great platform. One of the nice things about developing in Java on the Mac is that you get to develop on a lovely machine, but you don't cut yourself off from deploying on other platforms. It's a fast and easy platform to develop on. Rock solid. I never reboot my machine? Really! Opening and closing the lid on a PowerBook actually works. The machine is up and running instantly when you open it up. No viruses. Great UI. All the Java tools work here: NetBeans and JEdit are the ones I use most. I tend to think of OS X as Linux with QA and taste.
Many of your favorite open source applications are easily installed on Mac OS X. In the server edition of Panther you'll also find Tomcat, JBoss, and MySQL preinstalled with tools for managing them remotely. The versions that ship with Panther and Panther Server may not be the most recent. Installing Tomcat, for example, is trivial. Getting it up and running is a matter of setting the JAVA_HOME variable in the catalina.sh shell script. Applications such as WebLogic and WebSphere are not qualified on Mac OS X and yet they run fine once you get them installed and configured. Because the Mac is, at heart, a Unix box and because the J2EE stack runs on top of the J2SE stack, the most difficult part of getting your favorite app servers or other enterprise tools running is setting variables and tweaking the installation process to put files in the Mac- appropriate locations.






