Archived at Pineapplesoft
 ananas.org 
  The Pineapplesoft Link newsletter covered a wide range of technical topics, see the archived issues.
The newsletter was first emailed in 1998. In 2001 Benoît discontinued it in favour of professional writing for magazines.
The “March 1999” page was archived in 2003 to preserve the original content of March 1999.
 
  | Home | Contact | Site map | Writings | Open source software |  


 

Welcome to the 15th issue of Pineapplesoft Link.
This issue discusses Java. It responds to a comment I received during the readership survey.
As always, you are welcome to send me your comments, questions or suggestions on the newsletter to [address removed, the newsletter is no longer published thank you for your support].

Table of Contents

Subscription
Featured Article
The Future of Java
Self-promotion department
Jini Series
About Pineapplesoft Link

Subscription

Pineapplesoft Link is sent only to those who subscribe to it. We respect your privacy: we won't sell our address and you can unsubscribe at any moment.

If you would like to receive Pineapplesoft Link free in your mailbox every month, subscribe now!
To sample other back-issues before signing, visit <http://www.psol.be/old/1/newsletter/>

If you like this issue, you should like the following issues as well:

The Future of Java

I received several thought provoking comments during the readership survey of December. One of the most provoking was a suggestion to essentially drop any Java articles. The reader asked "How long will Java be around?" Allow me to disagree, I think Java is here to stay.

I formed Pineapplesoft to focus on Java development. At the time, I bet on the importance of cross-platform applications. I was convinced (and I still am) that the Internet would emerge as the dominant software platform. I also believe that Java would be a key element in this new approach.

At the time, it was a very dramatic move. On a personal level, I had done all my work on the Windows platform. In contrast, Java was new, untested (JDK 1.0 had just been released), slow. Everybody thought Java was a solution to animate the browser. "What market is that?" is a question I heard often.

Today I am very happy with that choice. Pineapplesoft has grown into a respected Internet company. Although currently I focus most of my efforts on XML and electronic commerce, Java is more than ever the underpinning of every sizeable project we do.

It's Not About Applets

Although Pineapplesoft was clearly a Java shop from day one, I have never considered applets as core technology. Certainly, I have never believed in peppering web pages with animation written in Java (although I have written such applets -- <http://www.pineapplesoft.com/site/focus/java.html>).

It has always been clear that Java was attractive as a cross-platform environment independent of the browser. Indeed, some of the most exciting applications I wrote were server components.

There were many holes in the original applet model, e.g. applets were severely limited in what they could do and they had to be downloaded every time you started the application. Over time, these holes have been plugged. Signed applets gain full access to your computer -- if you allow them. Applets are also cached between sessions to save on download time. Still, the main limitation of applets is that they are applications within another application. That hole cannot be plugged and it is a very lousy model. Sophisticated applications need to run independently, they need their own window, they need their own environment.

Java has always supported standalone applications and applets. Today the model has been extended and Java comes in all shapes and sizes: applets, applications, servlets, JavaBeans, Enterprise JavaBeans, Jini, aglets, etc.

It's More Than a Language

When Sun released Java to the world, they were very excited. So excited that they called everything Java: the language, the platform, the library, the execution model. Too bad because it has caused huge confusion in the industry.

Java includes a language but Java is much more than a language -- it's a deployment platform. At the heart of Java is the virtual machine and the core libraries but the language is only peripheral. Quite frankly, Java, the language, is not my favorite programming language.

Java builds on its virtual machine to ensure portability. The virtual machine is a piece of software that provides an uniform environment across any platforms. The idea of a virtual machine is not exactly new. Indeed the enduring VM/ESA operating system from IBM mainframes is a time-tested virtual machine (VM stands for Virtual Machine). Through virtual machines, modern mainframes can still run software written for their ancestors. This preserves the software investment of a company.

On top of the virtual machine, the Java platform offers standard libraries. These libraries go one step further to offer cross-platform access to the hardware (e.g. open windows, read/write files, etc.). The first version of the library was very limited (a common denominator across platforms) but the latest version breaks the mold and offer sophisticated services.

The Java language is merely the default system programming language for the Java platform. I stress that it is a default choice. Many other languages are available on the Java platform (Ada, Basic, JavaScript, Lisp, Prolog, Python, Tcl, etc.) and, in fact, for many projects it makes sense to turn to another language while retaining the portability advantage.

I hope I have made it clear that Java is not a programming language but a deployment environment. Indeed previous attempts to build portability at the language level have not achieved the same success as Java. C, often touted as a portable assembly language, is a very popular language but it has succeeded in terms of portability. Users don't want to have to compile a program when they receive it.

A Platform Is Not Highly Visible

Java is now very popular. Most Internet development is conducted on the Java platform. In fact, I know of companies who have adopted Java only because it's easier to find developers.

Yet, at the same time, the industry has matured in its understanding of Java. Companies don't announce a new Java development as they used to. Today, Java is taken for granted. I view this as a very good sign. Java is, as I have already explained, a platform. Ideally, a platform should be invisible. It's there, it works but it's invisible. The fact that we don't hear about Java as much as we used to, is actually a sign that Java is stable enough to be invisible.

The only risk for Java is to evolve in a multitude of incompatible platforms. So far, Sun has done a good job at preserving the "100% Pure" paradigm. To the outsider, Sun may seem dogmatic but the reality is that 99% compatibility really means "not cross-platform." Given that the only advantage Java has is to be cross-platform, it stands to reason that 99% compatibility is not good enough.

There is a risk however that Microsoft might succeed in imposing its own, non compatible, dialect. If they succeed, then I would agree that Java is of little value. However, after almost three years of effort, they have not been successful in derailing the Java bandwagon, so I'm pretty optimistic.

To Sum Up

Portability is paramount when evaluating the Java platform. It was Java's major advantage in 1996 and it still is today. There is a huge audience for the Windows platforms but the audience for the Java platform is even larger because it includes all the Windows platforms and Macintosh, several variants of Unix, AS/400 and various mainframes from IBM. More exotic platforms, such as some handhelds, are also available.

Obviously, not every software needs to be cross-platform and therefore not every software must be written for Java. Still, given its reach, there is a compelling case to be made to target the Java platform. If your company has more than one kind of machine (at Pineapplesoft we have Windows 95, Windows NT, Sun Solaris and PalmPilot) then it makes sense to consider Java.

Self-promotion department

Don't miss the new article:

About Pineapplesoft Link

Pineapplesoft Link is published freely, every month via email. The focus is on Internet applications in its broadest sense: distributed and mobile computing, e-commerce, Java, XML, etc. The articles target people interested or concerned about technology either personally or professionally.
The information and design of this issue of Pineapplesoft Link are owned by Benoit Marchal and Pineapplesoft. Permission to copy or forward it is hereby granted provided it is prefaced with the words: "As appeared in Pineapplesoft Link - www.psol.be."

Editor: Benoit Marchal
Publisher: Pineapplesoft sprl www.psol.be

Acknowledgements: thanks to Sean McLoughlin MBA for helping me with this issue.

Back issues are available at <http://www.psol.be/old/1/newsletter/>.

Although the editor and the publisher have used reasonable endeavors to ensure accuracy of the contents, they assume no responsibility for any error or omission that may appear in the document.

Pineapplesoft is a registered trademark of Pineapplesoft sprl in the Benelux.

Last update: March 1999.
© 1999, Benoît Marchal. All rights reserved.
Design, XSL coding & photo: PineappleSoft OnLine.