April 03, 2007
Java and Solaris
Write once run anywhere. But what do you write with?
I used to write Java mainly on Windows because it was convenient. I would deploy on Solaris or Linux (mainly Solaris) because I needed a certain level of reliability, scalability, and security that the organizations I worked for didn’t believe Windows could deliver. I’m not bashing Windows, just stating a general trend in the Web deployment world: Unix is king.
As a Java developer, what do I care? I can write on any platform I wish, and then deploy on any platform that meets organizational requirements. (Of course I do care, I’m just making a point.)
Two things have changed recently that have made a difference in my development habits. First, I bought a MacBook, and now do a lot of my Java development on it. Second, I began working with Sun’s Java Real-Time System (RTS), which requires Solaris (x86 or SPARC) to run on. Since Java RTS can only be installed on Solaris, you must also develop on Solaris.
Java RTS comes with a NetBeans plug-in that allows you to create and debug real-time applications in Java. It’s a neat tool that provides source-level debugging for time-critical code. Of course, all of your real-time deadlines go out the window when you hit a breakpoint, but that’s not important when you’re trying to ensure that your application works correctly. After the logic is debugged, the Java RTS VM ensures your time-critical code’s deadlines are met.
Here’s the point I’m trying to make: developing Java applications on Solaris is pretty cool. First, I find a nice symmetry between the reliability of both Mac OS X and Solaris. Next, they’re both versions of Unix. Next, Solaris installs with the Java desktop, which is pretty easy to use. It networks well with Windows, Linux, and Mac OS X machines (I have all them at home). Next, Solaris is the OS that is used to develop the Java language itself. Each version of the Java VM is born on Solaris; hence it’s made to work well on it.
Solaris may not be ideal for laptops, but it makes a solid desktop development OS in addition to a bulletproof server OS. Am I just extolling the virtues of Sun technology because I like Sun? No. I like DTrace. And I like Eclipse.
The point I make with DTrace is that it’s a tool that comes with Solaris that I’ve used to gain a true understanding of my application’s behavior, from Java code down through the kernel. It’s probably the single most powerful tool any Java developer has at his disposal. The point I make with Eclipse is that I do like more than just Sun’s products.
The overall point to this discussion is that there’s something to be learned from Java’s platform independence; don’t be OS-centric. It’s good to explore alternative platforms and exploit the strengths that each one delivers.
Windows has excellent support for a wide range of applications, from media (e.g. iTunes) to development tools (e.g. NetBeans and Eclipse). Linux is a good general-purpose OS that has a low barrier of entry, and low total cost of ownership. Solaris is a solid data-center performer, which has recently become an open-source player itself, with free distributions for desktops that rival even the best Linux distributions. Mac OS X has a friendly GUI with lots of good digital authoring tools, and a Unix kernel at its heart.
The power of Java continues to empower everyday people to make choices when it comes to their OS platform for both the “write” and the “run.” That’s cool.
Happy coding.
-EJB
Posted by Eric Bruno at 01:45 AM Permalink
|