A Java IDE written entirely in Java

Popular Roaster IDE soon won't be just for Mac developers

Programs that run only under MacOS could find a huge new audience if they could be rewritten in Java. Instead of being confined to the relatively small percentage of computers that run the MacOS, the apps could run on virtually any desktop, including Windows-based personal computers -- and on servers, network computers, and various other computers.

This was the thinking of Roaster Technologies when it decided to rewrite its Java IDE (which currently runs only under MacOS) in Java so that it could run under Windows and Unix. Apparently, Roaster developers believe Java has become mature and stable enough to use as the programming language for its next release. (For a little history, see the sidebar "Roaster's past."

Release 4 is home-brewed

"Release 4 is being entirely rewritten in Java," Roaster Technologies president John Dhabolt told JavaWorld. Roaster developers began writing Release 4 using Roaster Release 3 on the Macintosh. Then they used the pre-alpha of Roaster Release 4 under Windows along with JDK 1.1 and the Java Foundation classes to continue development on Release 4.

Writing Roaster in Java will not only bring this quality IDE to Windows and Unix developers, it will also help bring Java technology, such as JavaBeans, to MacOS developers faster. For example, Sun notes that, even though the JavaBeans Development Kit (BDK) has been qualified only for certain Solaris and Windows systems, it "is 'pure Java' and should run on any JDK 1.1-enabled system." An IDE written in Java will be able to more easily incorporate such new products as modules.

Being completely written in Java makes new features available to Roaster. For example, in Release 4 you will be able to have multiple projects, each with its own debugger open. Dhabolt points out that "this will enable the developer to debug into client and server programs simultaneously -- even if they reside on separate workstations." Roaster 4 also features threaded compilation. While you are compiling a project you can be working on that project or on another project.

Roaster Release 3 included Netscape's Internet Foundation Classes (IFC); Release 4 will add Sun's Java Foundation Classes (JFC) and maintain IFC support; If it becomes necessary, Roaster can easily support Microsoft's AFC, Dhabolt notes. Roaster Technologies plans to use the final release of JFC, and thus is somewhat dependent on Sun's release schedule.

Despite being dependent on others, Roaster's Release 4 has stayed remarkably on schedule. Stress-testing of Release 4 at the IBM Test Center is scheduled for the week of November 17. The beta should be privately available the following week and freely available to the public about a month later. The final release is expected in the first quarter of 1998 and will support Sun's JDK 1.2.

What to expect

Sun's JavaBeans Development Kit (BDK) will be one of Roaster's standard modules and will install itself when Release 4 is started. Developers also will be able to graphically work with JavaBeans and components using RoasterBuilder, Roaster's own component environment.

Another feature to expect is JavaDoc, the "standard" Java documentation generator. For Mac developers, JavaDoc has been a good idea in search of a reasonable implementation. On many platforms it hasn't yet worked as advertised. The goal is to be able to write comments that are helpful in place and then use JavaDoc to generate easily navigated comments that illuminate the classes, variables, and methods. Dhabolt explains that with Release 4, in the encapsulated view "JavaDoc comments are actually separated out of the code window and presented in the same view, but in a separate text area. You can just type in your JavaDoc comments and have Release 4 do the proper syntactical work for you. A key feature is the ability to preview the JavaDoc comments as they're entered and instantly browse the HTML links."

Roaster Technologies already has planned additional versions of Release 4 to better target Java developers with specialized needs. In addition to the regular version, the company will be developing a Roaster Data Edition and an Enterprise Edition, which will focus on needs for business developers.

True object-oriented approach

Release 4 isn't just written in Java. It truly embraces the object-oriented nature of the language. One of the arguments for using Java is that it forces the programmer to use an object-oriented approach. Of course, this isn't true. A procedural program can be wrapped in an omnipotent object and presented as if it were an object-oriented program. Without a stress on object-oriented development (and not just programming), the full benefits of using Java will not be realized.

Roaster Technologies understands this and emphasizes the object-oriented approach to development. Although you can still view and edit your code in a full text window, you can also choose an encapsulated "Smalltalk type" view, which allows you to click on a class or a method and see only the code for that class or method.

Conclusion

Until Release 3, it seemed that Roaster had lost the early advantage it had enjoyed as the first Java IDE for the MacOS. Given the history of Java releases, for the Mac in particular, Roaster Technologies is taking a big risk by writing its flagship program in this fledgling language whose caretakers have difficulty in committing to hard-and-fast schedules. Roaster Technologies could have been content to "play it safe" with a quality product -- but one that was completely tied to the MacOS.

Rather than continuing down that path, the company made a radical and risky move. Without such a move it is quite possible that Roaster Technologies would have been edged out of the MacOS market by Metrowerks and may never have made its way to the Windows market. On the other hand, this bold move will make the next release of Roaster Technologies' well-received, Mac-only product available to the larger Windows 95/NT and Unix markets.

Daniel H. Steinberg is a visiting assistant professor of Mathematics at Oberlin College. He learned to program in C (by reading Kernigan and Richie, and asking friends) and C++ on a Macintosh to help his research on elastic curves in hyperbolic space. Object-oriented design is the way mathematicians view the world and so programming in Java was an obvious next step. Daniel taught an introductory course in Java at John Carroll University last spring and spent the summer preparing for fatherhood.

Learn more about this topic

  • Daniel Steinberg addresses viability of Java development on the Macintosh /javaworld/jw-07-1997/jw-07-javamac.html
  • Download the JavaBeans Development Kit http://java.sun.com/beans/software/bdk_download.html
  • Roaster Technologies provides purchase information for Roaster 4 http://www.roaster.com