26
Fri, Apr
1 New Articles

Weaving WebSphere: Eclipse and VAJ Head-to-Head

Development Tools
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

"Your true value depends entirely on what you are compared with."
--Bob Wells

Welcome to the IDE comparison column! When I mentioned in a previous column that I might compare the reigning champion (VisualAge for Java, or VAJ) with the up-and-coming contender (Eclipse's Java Development Tooling, or JDT, which for simplicity I am going to refer to as simply "Eclipse" in this column), I immediately got email asking that I do so as soon as possible. So, for all you who wrote in, this column is for you (here at MC Press, we try to be as responsive to our readers as possible!).

A single column isn't a lot of real estate to do a decent review of one IDE, much less compare two. However, I've managed to pick enough important areas to give you a real flavor of one IDE compared to the other, and hopefully I'll pique your interest enough for you to go out there and do some experimenting on your own...

...which you can do because both of these tools are free! Well, VAJ isn't exactly free. The free version of VAJ that you can download from IBM isn't capable of much more than HelloWorld. However, because you're a member of the Secret iSeries Society, if you have a compiler and you've been keeping up to date on your software subscription, you actually have VAJ available on your AS/400 or iSeries. Eclipse, on the other hand, is 100% free--all you have to do is download it.

In this article, I'll cover three functional areas:

  1. The Basics--install, start/stop, and look and feel
  2. Ease of Use--intuitiveness, responsiveness, integration
  3. Feature/Function--error handling, code completion, debugging

Then, I'll present a nice little graphic with my scores for each area.

The Basics

While the tools are free, you need a machine capable of running them. That may be the biggest hurdle, not only for VAJ but even more so for Eclipse and the JDT. Many of us who have grown up developing for the IBM midrange market aren't exactly known for having the latest PC. But if you want to be a Java programmer (indeed, if you want to do any development in IBM's brave new IDE world), you're going to need one. I suggest something like my new workstation: a 1.6 GHz Pentium 4 with 1 GB of RAM and 40 GB of disk. I decided to compare the two from what amounted to a fresh install on that relatively hefty machine.

Install

Both were pretty clean, although I first had to install Windows on my brand new workstation. That took two hours (see my sidebar below on "Plug and Pray--Installing Windows on New Hardware").

Once Windows and Office was up and working, it was time to install Eclipse. Remember that you have to also have a Java Runtime Environment (JRE) installed; that's an additional step. I chose to use IBM's 1.3 environment, as opposed to Sun's 1.4 version. Either one will do.

  1. Download JRE and Eclipse (50 minutes on my DSL line)
  2. Install JRE (10 minutes)
  3. Install Eclipse (5 minutes)

VAJ was easier because it's self-contained and the setup software resides on the AS/400. To install VAJ, I simply executed the following steps:

  1. Copied the folder QIBMProdDataDevtoolsinstallimagecd3vajava to my hard drive
  2. Went into the "setup" folder and executed "setup.exe"
  3. Followed the prompts

That was it. Installation took about five minutes. So, from a setup standpoint, VAJ is easier and faster, but Eclipse isn't unbearably difficult. And what you have to keep in mind during all of these comparisons is the incontrovertible fact that VAJ is dead, so most of these comparisons are moot. But it's still good to know where we came from. Not everything new is good, and we need to be vigilant and vocal when the latest technology actually makes our lives as end users more difficult. For example, I'd insist that the WebSphere Development Studio Client (WDSc, the new release of which is based on Eclipse) be as easy to install as VAJ--that is, copy the latest version down from my IFS and run setup.exe. The installer would have an option to install all the required software bits, such as the JRE, in one automated operation.

Startup and Shutdown

VAJ is consistent. As shipped, it takes four seconds to start and four seconds to shut down. The shutdown process includes a synchronization of the repository, which is why it takes so long. If for some reason you terminate VAJ abnormally, startup time can increase dramatically, depending on the amount of data in your repository. However, there is a good chance that any unfinished work will still be available in the editor.

Eclipse, however, starts up slowly and finishes quickly. It takes about 11 seconds for the workbench to come up, but under a second to shut down. Abnormal termination doesn't affect the startup time, but any code you haven't saved is gone.

Look and Feel

Even with all the similarities (which I'll get to later in the article), the two IDEs have distinct characters. VAJ tends toward lots of independent windows. In the default configuration, every time you double-click something, you get a new window that you can manipulate independently of all the others. With the exception of the main menu bar, all the controls are very static, and while the little round buttons were probably state of the art awhile back, they're not very esthetic by today's standards.

http://www.mcpressonline.com/articles/images/2002/021202%20-%20Eclipse%20and%20VAJ%20Head-to-HeadV300.jpg

Figure 1: VAJ tends to treat individual windows independently.

Eclipse, on the other hand, is way chic. On my nice new 19-inch, flat-panel display (at only $850 from www.dell.com, it makes a great stocking stuffer!), the background is crisp and white and easy to read. Eclipse is built around the concept of multiple integrated panels, so even though the panels themselves (such as the Package Explorer, the Outline, and the Source View) are discrete, they are also integrated nicely into a single sizeable window. You can easily open multiple source members; each is shown in the source panel, and tabs allow you to navigate through the various open members. Eclipse allows you to split the source pane to see multiple members side by side, something VAJ can't match. And one of the nicest features is that simply clicking on the title bar (or tab) for a given source member will expand it to fill the entire Eclipse window. This makes for a particularly useful zoom feature.

http://www.mcpressonline.com/articles/images/2002/021202%20-%20Eclipse%20and%20VAJ%20Head-to-HeadV301.jpg

Figure 2: Eclipse's JDT provides a more integrated interface.

However, even though the Eclipse editor is quite a bit different from the old VAJ in certain aspects of look and feel, you can still tell that the two share a common heritage. You can open multiple windows if you'd like, just like in VAJ. Even many of the icons are familiar to us VAJ veterans. For example, here are the buttons for "run" and "debug" in VAJ:

http://www.mcpressonline.com/articles/images/2002/021202%20-%20Eclipse%20and%20VAJ%20Head-to-HeadV302.jpg

And here are the same buttons (reversed) for Eclipse:

http://www.mcpressonline.com/articles/images/2002/021202%20-%20Eclipse%20and%20VAJ%20Head-to-HeadV303.jpg

I don't know about you, but I'd be thinking copyright infringement, if it weren't for the fact that the same company (Object Technology International) is the driving force behind both products.

Ease of Use

This section is by its very nature going to be particularly subjective. Before you continue, you should probably understand that I'm probably one of the most avid VAJ enthusiasts around. I fell in love with the tool, and it has frankly been a key component of my success as a software developer. VAJ is truly a Java IDE as opposed to a warmed-over C or Pascal IDE, and because of this I've been able to develop code much more rapidly and effectively than I would otherwise.

That being the case, the fact that Eclipse seems to be moving back toward a "one size fits all" IDE doesn't appeal to me at first glance. So, realize that I went into this review for all intents and purposes with my mind pretty much dead set against Eclipse. I know that's not a good thing for any objective journalist, but in my case, my bias is so deep that I couldn't ignore it; the best I could do was acknowledge it.

Intuitiveness

Well, since we're being subjective, let's be completely subjective. Intuitiveness is entirely different for each individual, based on that person's background, experience, and any number of other factors. However, I think I can approach this part of the review with enough impartiality to make it worthwhile.

To start, Eclipse is a little more cluttered. Because of its nature as an IDE for all languages, Eclipse can't really take anything for granted. So while a project in VAJ can assume which JRE it is using (in fact, it uses the built-in JRE, a fact I'll comment upon again a little later), you have to tell Eclipse, and being a good IDE, it shows you. So in a project in Eclipse, you'll see more information than you might in a corresponding project in VAJ.

Second, the JDT in Eclipse is still a little less "Java-centric" than I would like. By that, I mean that certain capabilities are missing that I took for granted in VAJ. A good example occurs when I go to add a new class. In VAJ, I use the Create Class SmartGuide; in Eclipse, I use the New Java Class wizard. The two are very similar in look and feel.

http://www.mcpressonline.com/articles/images/2002/021202%20-%20Eclipse%20and%20VAJ%20Head-to-HeadV304.jpg http://www.mcpressonline.com/articles/images/2002/021202%20-%20Eclipse%20and%20VAJ%20Head-to-HeadV305.jpg

Figure 3: Here are the VAJ and Eclipse "Add Class" wizards, side by side.

However, there's a distinct difference. When I try to add a class named "zoog" in VAJ, the IDE realizes that I am breaking accepted Java conventions by not capitalizing the first letter of the class name, and it pops up a dialog telling me so (going so far as to offer a button that will fix it for me!). When I do the same thing in Eclipse, it blithely adds the poorly named class without even a mumble. I assume that's just because the Eclipse developers haven't yet built all the Java-centric abilities into the JDT that they had in VAJ. I hope the JDT team intends to address those little details.

Responsiveness

At least on my machine, neither program shows any signs of balkiness, even when scrolling through source or looking up method definitions. While I have heard some horror stories about some of the other Eclipse language editors being very slow, the Java editor runs just fine. Color changing for keywords never slows down my keying, and I am a very fast typist. However, this is not a cheap workstation. Even at today's prices, a machine of this power is probably going to cost you nearly $1,000. However, if you plan to venture into the world of client/server development, this is $1,000 that is very well-spent.

(Note: In the interest of truth in reporting, my particular machine, with hardware and software, cost closer to $2,500. A large part of that was the LCD monitor and new copies of W2K Pro and Office 2000.)

Integration

This is an area where VAJ actually doesn't measure up. Since VAJ was always pretty much a self-contained entity, it never really worked and played all that well with outside entities. And while you could add external entities to your projects, it was neither intuitive nor particularly easy to do so. Eclipse makes it very easy to add external libraries (in either .jar or .zip format) and folders. Not only that, Eclipse makes it very easy to assign a different JRE, which is absolutely crucial for developers. This was always one of the biggest downfalls of VAJ; you were stuck with whatever JRE was installed with the tool. With Eclipse, you can easily upgrade to and test with new versions of Java as they become available.

The one area of integration where VAJ still holds the upper hand is in the ability to quickly incorporate predefined "features." These features include things like the AS/400 Java Toolbox, Sun's servlet APIs, or the WebSphere Test Environment. Rather than make you go out and locate the pieces for those particular features, IBM kindly grouped them together into small units called "features" and made it a one-click process to incorporate one of these units into your package. This is a powerful capability, but the downside is that you only get to add the version of the feature that IBM supplies with VAJ.

What I'd like to see (are you listening out there, IDE developers?) is a centralized, Internet-accessible "feature" repository that would contain a list of the currently available versions of various features, with a one-click ability to download them to our workstation and add them to a project. Need the latest Struts release? Download it. The Xerces parser? Point and click. That would be sweet.

Feature/Function

I'm just getting to features, and already I'm running out of room. Well, I expected that, so let's just cut to the chase, shall we?

Error Handling

Error handling is superb in both tools. When you save a change in one class, it ripples through all the other classes in the IDE. Errors are clearly indicated, and nested errors percolate up through the layers. It's a little easier to spot a nested error in VAJ, but that's purely a nit. A more important difference is the fact that the dedicated "All Problems" list in VAJ is now replaced by the more generic "Tasks" pane in Eclipse. This view allows you not only to see all of your errors, but also to make your own notes as to tasks you wish to accomplish. It's still pretty primitive today, but the Tasks pane has the makings of a real productivity aid some day.

Code Completion

Again, the two IDEs are comparable. Both offer a very nice capability: press Ctrl-space at any point, and the IDE will try to complete your code. It will look at your current syntax and bring up a dropdown box with code that will fit. You can then either type letters to further refine the search or select an option and press Enter to let the IDE fill in the code. I think the Eclipse version is a little nicer, and Eclipse has an added feature: Simply position your cursor over a method or variable name, and Eclipse will attempt to bring up the Javadoc for the corresponding method or class. It's really quite nice.

http://www.mcpressonline.com/articles/images/2002/021202%20-%20Eclipse%20and%20VAJ%20Head-to-HeadV306.png

Figure 4: This is an example of the popup Javadoc available with Eclipse.

Debugging

Here, VAJ shines. This is almost entirely due to the tight integration of the WebSphere Test Environment. While Eclipse does a great job at breakpoints and variable inspection and modification, there's nothing like being able to fire up a servlet inside of VAJ and test the results. However, the new WDSc should support this sort of testing (and more besides), so I don't want to be too critical.

Conclusions

The conclusions actually surprised me. Review the table below:



VAJ
Eclipse
Basics
Install
5
3

Start/Stop
4
3

Look and Feel
3
5
Ease of Use
Intuitiveness
4
3

Responsiveness
5
5

Integration
3
4
Feature/Function
Error Handling
4
4

Code Completion
4
5

Debugging
5
3


37
35


4.1
3.9

Table 1: Results of the informal head-to-head competition

It was almost a dead heat. Considering the fact that I am highly biased toward VAJ and that Eclipse has to be a lot more things to a lot more people, I am very impressed with how well Eclipse did during my "first touch" testing.

Those who know me know I'll be putting the tool through far more rigorous exercise over the coming months, and I may need to revisit this particular subject at a later date. And if there is a particular area of VAJ that you want compared, please feel free to either post a reply to this column in the associated forum or This email address is being protected from spambots. You need JavaScript enabled to view it. directly.

Sidebar: Plug and Pray--Installing Windows on New Hardware


This is a minute-by-minute account of installing Windows 2000 Professional on a brand new machine with a popular motherboard from Intel, one with a very nice integrated Ethernet device. Note that this was not some one-off brand, but one of the most popular motherboards in the world.

2:00 p.m.--Began install.

2:05 p.m.--Finished reading End User License Agreement ( EULA). Since I'm neither in New Zealand nor planning to run any hospital equipment in Java, I told it to go ahead and format the disk.

2:30 p.m.--Disk formatted.

2:35 p.m.--Windows installer started asking about my system.

2:38 p.m.--Spent two minutes trying to figure out whether it's a B or an 8 in my stupid product key.

2:50 p.m.--Setup completed. Began rebooting.

3:00 p.m.--Ethernet device not recognized. Called manufacturer. Manufacturer said get drivers from Intel. Went to Intel. Spent 15 minutes finding drivers.

3:15 p.m.--Began downloading drivers.

3:30 p.m.--Realized drivers are way too big for a floppy, and I don't have a LAN connection. Thanked lucky stars I have a CD-ROM burner. Thanked other lucky stars that one of the drivers I do have is the CD drive.

3:40 p.m.--Burned disk. Copied drivers to hard drive. Began installing.

3:41 p.m.--Updated motherboard drivers. Reboot #1.

3:49 p.m.--Updated network drivers. LAN connection established.

3:50 p.m.--Updated Intel Application Accelerator drivers. Reboot #2.

3:52 p.m.--Logged in. Windows said it needed to reboot. Reboot #3.

3:57 p.m.--Updated audio drivers. Reboot #4.

3:59 p.m.--System came up! Internet Explorer explored! Began to install Office.

4:10 p.m.--After four tries with the product key, attempting both lowercase and uppercase, realized that there are two product keys. Used the second one. Installation began.

4:15 p.m.--Installation completed. Word worked. Time to start working on Eclipse!

So, in roughly two hours and 15 minutes, I was able to install a brand new copy of Windows on a brand new machine. Note that I still have to go and get the latest service packs and so on, but at least the machine is working.

Just as a comparison, I installed Red Hat Linux on this very same machine. I inserted the disk and booted the machine, which started the installation. The installer investigated my machine and determined the configuration, asked a couple of basic questions (like what IP address I wanted to use) and configured the machine. This took about 10 minutes. No downloads. No jockeying around.

Not only that, but after getting the configuration right, I wanted to move the configured system to another machine. I simply unplugged the hard drive from this box and plugged it into a completely different box. I rebooted, and Linux identified all the new hardware and reconfigured itself. The only glitch was in configuring the Ethernet card, but that took about five minutes to iron out.

Somehow, I don't think Windows will be so accommodating.

Joe Pluta is the founder and chief architect of Pluta Brothers Design, Inc. He has been working in the field since the late 1970s and has made a career of extending the IBM midrange, starting back in the days of the IBM System/3. Joe has used WebSphere extensively, especially as the base for PSC/400, the only product that can move your legacy systems to the Web using simple green-screen commands. You can reach Joe at This email address is being protected from spambots. You need JavaScript enabled to view it..

Joe Pluta

Joe Pluta is the founder and chief architect of Pluta Brothers Design, Inc. He has been extending the IBM midrange since the days of the IBM System/3. Joe uses WebSphere extensively, especially as the base for PSC/400, the only product that can move your legacy systems to the Web using simple green-screen commands. He has written several books, including Developing Web 2.0 Applications with EGL for IBM i, E-Deployment: The Fastest Path to the Web, Eclipse: Step by Step, and WDSC: Step by Step. Joe performs onsite mentoring and speaks at user groups around the country. You can reach him at This email address is being protected from spambots. You need JavaScript enabled to view it..


MC Press books written by Joe Pluta available now on the MC Press Bookstore.

Developing Web 2.0 Applications with EGL for IBM i Developing Web 2.0 Applications with EGL for IBM i
Joe Pluta introduces you to EGL Rich UI and IBM’s Rational Developer for the IBM i platform.
List Price $39.95

Now On Sale

WDSC: Step by Step WDSC: Step by Step
Discover incredibly powerful WDSC with this easy-to-understand yet thorough introduction.
List Price $74.95

Now On Sale

Eclipse: Step by Step Eclipse: Step by Step
Quickly get up to speed and productivity using Eclipse.
List Price $59.00

Now On Sale

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$0.00 Raised:
$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: