Recent articles:
Popular archives:
Java: A platform for platforms
Sun's reorg may seem promising to shareholders but it's also a scramble for position. The question now is whether Sun can,
or wants to, maintain its hold on Java technology. Especially with enterprise leaders like SpringSource and RedHat investing
heavily in Java's future as a platform for platforms
Also see:
Discuss: Tim Bray on 'What Sun Should Do'
Having had my foot in both camps, that is, Microsoft and Unix, I have seen the pros and cons of each operating system environment.
Unix utilities and regular expressions are tough to beat for developer tools. The idea of piping input through a dozen commands
resulting in the desired output has always fascinated me, and I still use Unix utilities on Windows every chance I get. Shell
scripting on Unix has also been my passion; ksh/bsh/bash are my favorites. On Microsoft Windows, GUI tools with drag and drop and consistent copy, cut, and paste have their significant
benefits because they are less error prone than command line tools.
Since I got involved with Java in late 1995, I now pay less and less attention to the operating system (i.e., the plumbing) and focus more and more on the application layer (i.e., the business software). I've developed and deployed dozens of Java applications on a variety of operating systems, including Microsoft Windows 9x/NT/2000, Sun Solaris, IBM AIX, SGI Irix, Linux, and Apple Macintosh. Many customer projects involve development on Microsoft Windows and deployment on some flavor of Unix/Linux. Sometimes source code, and even class files, are checked in a version control system, and new class files are automatically picked up by the middleware software (e.g., WebLogic) on the server (e.g., Solaris). In other cases, I simply FTP the class files to the server or just rebuild the application on the server.
My point is that when you adopt Java as your application development technology, the operating system becomes irrelevant. In fact, even other software such as databases and middleware becomes irrelevant, thanks to standard Java APIs (e.g., JDBC, servlets, Enterprise JavaBeans).
One thing I have had to learn over and over again in life is that "you get what you pay for." After six years of working with Java, however, I'm still looking for the catch. Today, any individual or organization can construct an end-to-end, multitier application using complete freeware. This includes the Web browser, standards such as HTML and XML, Java APIs, relational databases, JavaServer Pages/servlet/EJB engines, and much more.