Symantec Café is a stand-alone graphical development program that provides all of the tools required to develop Java programs-including applets ("small"  applications run from within your browser), stand-alone (windowed) applications, and console (command-line) applications. Java applets/applications are  cross-platform programs that can be run on Windows, Macintosh, and UNIX machines alike. The program is derived from Symantec's acclaimed C++ and has inherited all of its attributes such as the following: 
 
 

Café is currently available for Windows 95/NT and Macintosh. This review is based on experience with the Windows version, but the
Macintosh adaptation should be quite similar.

Let's Get Specific

Café uses an IDDE (Integrated Development and Debugging Environment) which gives the user a complete functional desktop with
access to all of the Café windows. There are several windows including the source, class, and hierarchy editors, the debugger, and the
output file for compilation and build results. All of the windows can be opened by dragging and dropping from the Views Palette, and can
be arranged as you wish on the desktop. Even the resizable Views Palette can float or be docked where you wish on the desktop. Tabbed
Workspaces allow you to organize your project and customize the layouts in order to minimize overlapping windows, reduce clutter, and
separate project functions as you wish. It may sound confusing for the novice, but you don't need all of the windows at once and it's
something you grow into as you become more familiar with Java and Café.

The Build Palette (also resizable and dockable) gives you access to all of the compiler and run options (compile, build, build all, and run).
The run option brings up the applet in a stand-alone Applet Viewer. (I would have preferred that it open the browser instead.) The
stand-alone and console applications are run in Windows and DOS, respectively.

There are Express agents for generating new projects; these are wizard-like tools which guide you through the necessary steps to
develop a Java applet or application. The Project Express can quickly generate a new project. It's useful when dealing with an existing
applet that you intend to modify. And, in fact, there are many applets included with Café, not to mention a ton of them available on the
Web at sites such as Gamelan and JARS (Java Applet Rating Service).

The AppExpress is for developing a new project from scratch. It will generate the default code for a complete skeleton applet or
application, including the Java source code, an HTML file to run it, and a resource file. It actually produces an applet/application that can
be compiled and run-albeit an empty one.

The resource file can be edited with the Café Studio program (a stand-alone program included with Café). This is a visual design tool
(similar to Visual Basic and Delphi) that allows you to design your applet/application by dragging and dropping program controls such as
menus, buttons, text boxes, list boxes, etc. The user has complete discretion over size, placement, and properties of the controls. Studio
generates the appropriate Java code stubs and event-handler methods on the fly. Of course, it's up to you to fill in the code that tells it
what to do when an action (such as clicking on a button) is required.

Is Café for You?

It's apparent that Java has all of the tools for the accomplished Java programmer. Experienced object programmers should be comfortable
with the class and hierarchy editors and the debugger. Symantec C++ users in particular will feel right at home.

But what about the average Joe (no pun intended) who is setting out to learn Java? Say someone with some experience in procedural
computer languages and little or no knowledge of object-oriented programming. Is Café too much for the less-experienced user? I think
not; let's see why.

First you must bear in mind that Café will not teach you Java. The language tutorial in the program is inadequate. You're better off going
through a book like Laura Lemay's Teach Yourself Java in 21 Days, which I reviewed in the previous issue of WWWiz . Even for the
novice just starting to learn Java, Café can be a big help. The IDDE is a very convenient environment for carrying out the exercises in the
book. The source editor helps by automatically taking care of indentation for you. It also helps with brace matching and you can easily
catch unclosed multi-line comments and misspelled key words with the color coding. But it really comes into its own during the
compile-edit iteration that is inevitable when you are typing in a program for the first time. The output window will indicate the nature of
the compiler error and where it occurred. Simply double-clicking on the error message will take you to the offending line in the source
code.

Second, as you start to develop your own programs, the resource editor (Café Studio) allows you to quickly develop forms and menus
(menus apply to stand-alone applications only).

Third, there are parts of the program you won't use at first, but you are going to need them as your Java programming skills advance. In
fact, it's likely that having such tools will accelerate your progress by giving you the means to experiment and try new things.