[Hethmon Brothers Inet.Mail Pro Internet Email Server. (click here)]

[Previous]
The OS/2 Debate- by Christopher B. Wright and Dr. Dirk Terrell
 [Next]

If you have spent any time listening to IBM and many other large companies in the past year, you have probably heard that Java is "the wave of the future". IBM is certainly betting on it -- using OS/2 as collateral. Despite slow adoption of Java on any significant scale and sluggish performance of early versions, IBM, Sun and a whole slew of big businesses are undaunted. Even Microsoft hasn't been able to ignore the temptation of tinkering with Java.

But where does the home and small business user of OS/2 fit in the Java scheme of things? Will we benefit from this "next great thing" or is this strictly a boon for big business?

This month, Dr. Dirk Terrell and Christopher B. Wright debate the question: "Will Java Have a Positive Impact for OS/2 Home Users?"


Dirk: I believe that Java is the last real hope for OS/2. With IBM all but abandoning the individual user, we are not going to be seeing much in the way of software development targeted towards non-corporate customers. That is simply a reality of the market. Java solves the problem of platform-specific software, and will allow people to choose their operating system based on its own merits and not on the software available for it.

Chris: I disagree. Java will be an important part of business intranet applications, but it's unsuited for the high-powered programs that tend to define an operating system platform.

Java is unsuited for Graphics applications, especially 3-D rendering applications, because of the amount of processor power and code optimization required to make them run quickly. The "100% Pure Java" initiative seems to frown on compiling code for specific operating systems, so there is no way Java will ever be able to compete with OS-compiled applications.

Java will be important in the role of application development and networking, but it simply does not have the power to compete on the high end of the spectrum.

Dirk: That's exceedingly short-sighted. The speed of Java is only going to increase as the JVMs are optimized better. And don't be surprised when you start seeing Java native compilers for various platforms. It will happen. You'll be able to write Java application source code and compile it to native code for a particular operating system. That will give you the speed of native apps with the portability of Java.

Sure, there will be applications that Java will be inappropriate for, such as system utilities specific to an operating system, but general-use applications written in Java will finally eliminate the dearth of support from ISVs. They will write applications in Java and they won't even have to know that they will automatically run under OS/2.

And Java, properly written, really isn't that slow now. I've seen a Doom-type action game written entirely in Java that plays as smoothly as any native game.

Chris: On the contrary, it's not short-sighted, it's realistic. The current trends of the 100% pure Java movement (which IBM has committed to) are moving Java development AWAY from Java native compilers, simply to protect themselves from Microsoft's latest marketing tactics. While I agree Java native compilers are a great idea, I don't see Sun blessing them any time soon, and I don't see IBM participating in their development.

I do see JVMs getting faster, but I don't see how they can compete. The best example I can give you is Microsoft Office for Windows and Microsoft Office for the Power Mac. The Power Mac version is not written for the Power Mac, it's written for an Intel Machine and translated as it runs. And it's painfully slow (I know -- I have to use it at work).

I simply don't see how a JVM can compete with OS-optimized code when it has to perform an extra action for every command it gets. Java will be a useful tool in many ways, but it simply will not be the preferred language for large-scale applications -- at least not for a few years.

Dirk: I don't see Java compilers as being any problem for the 100% Java initiative. I think that is targeted more at the language itself (i.e., no extensions to the language itself that are platform specific). And your example of Office for the PowerMac is a perfect counterexample of what I mean by, "well-written Java code." Trying to shoehorn old code into new environments inevitably leads to slow, bloated code.

Java code written from the ground up with a good understanding of Java can be quite fast. And if it is really necessary to squeeze the most performance out of a machine, you can always write native methods. Usually the most compute-intensive parts of a program are a very tiny fraction of the code. Writing most of the application in Java, and having small (and therefore easily ported) portions of the code done as a native method means that an ISV can target multiple platforms with a much smaller effort than is required today.

Chris: Leaving Java compilers aside (I guess we'll have to disagree -- until Sun proves me wrong, I feel that they will oppose Java compilers), let's talk about another aspect of the Java phenomenon that truly bothers me.

Let's assume that Java Virtual Machines develop to the point where they run close to the speeds of native compiled applications. Will all the unique object-oriented advantages of the WPS be suddenly rendered useless? I don't want the boon of being able to run universal apps if it means I have to trade in the features of OS/2 that made me so enthusiastic about it in the first place. I notice when IBM talks about Workplace On Demand, Java is mentioned quite a lot and the Workplace Shell, a great leap forward in computing if I ever saw one, is never mentioned at all.

In other words, if Java becomes the dominant application engine, what are we giving up? Is it worth embracing Java if it means abandoning the things about OS/2 that make it unique?

Dirk: Well, as for the use of OS-specific features like our beloved WPS, there is absolutely nothing stopping a developer from creating native methods to make use of them. That is why I am so optimistic about Java -- you can do a large fraction of an application with the Java API, and use native methods when you need high performance or OS-specific features. Again, this makes it more attractive for ISVs to support OS/2 because if there is OS-specific code, it will be a much smaller task to do an OS/2 port than it would be to port the entire program.

We all know how little success has been achieved in getting ports of popular programs to OS/2. Java simply makes it easier for an ISV create software that runs on multiple operating systems. Given the vastly smaller market of OS/2 customers, anything that makes cross-platform development easier will result in more software being available for us.

Chris: Well, let's look at using Java itself then. In its current state, it is far too arcane to run a Java app on OS/2 for it to be considered a "simple task". Java should work seamlessly; you should double click a "start" file and off it should go. This is not the case! I'm told you can activate Java programs by double-clicking the right file, but I've never been able to get it to work -- it's just not a default setting.

How can something be "seamlessly integrated" into your environment when it doesn't start the way programs are "supposed to"?

Dirk: I'll grant you that Java isn't quite "seamlessly" integrated into OS/2. You can't associate a class file with java.exe and have it work. What I do though, is either run it from the command line or create a program object for java.exe and put the Java class name in the parameters field and the directory of the Java program as the default directory.

However, your argument got me thinking about a Rexx program to launch Java applications when double-clicked from the WPS. Just put this utility somewhere in your path, edit the association to point to Java Class files, and then you can run a Java application by double-clicking on it if you set runjava.cmd as the default action.

That's not as easy as it should be, but it's not difficult either. Let's not throw out this beautiful Java baby with the bath water. Java will improve and it can only mean positive things for OS/2 end users.

Chris: I'm willing to concede that there is a lot of potential for Java on the OS/2 platform, but we must not become so enamored with its potential that we ignore the realities of Java as it exists now. Native applications for OS/2 are, and will continue to be, very important for the platform's development. Ignoring them for a technology that still needs development to iron out some major omissions will be very, very detrimental to OS/2's growth.


Want to join in our debate? Why not send us your opinions on Java, and stay tuned to future issues of OS/2 e-Zine! for more debates on issues close to OS/2 users hearts.

* * *

Christopher B. Wright is a technical writer in the Northern Virginia/D.C. area, and has been using OS/2 Warp since January 95. He is also a member of Team OS/2.

Dr. Dirk Terrell is an astronomer at the University of Florida specializing in interacting binary stars. His hobbies include cave diving, martial arts, painting and writing OS/2 software such as HTML Wizard.


 [ Previous]
[Index]
 [Feedback]
 [Next ]

[Our Sponsor: ChipChat Tech. Group - 32-bit OS/2 text paging software and Sound Cards.]

Copyright © 1997 - Falcon Networking ISSN 1203-5696