To much acclaim, IBM introduced a new version of its IDE for RPG, DDS, and CL programmers, stating that this new version deprecates SEU/PDM/SDA as well as the decade-old CODE Editor and CODE Designer products (still shipped with WDSC).
In a pre-release meeting, IBM presented the new version as a leaner, faster product but also introduced a couple of tools that were missing. The new version is supposed to be faster and run in a smaller footprint than WDSC 6 and earlier. Those versions required a minimum of 1GB of RAM to "run." Although you could "load" the tools in as little as 512 MB, you couldn't actually run anything unless you had 768 MB and couldn't run things well until you installed at least 1.5 GB of RAM.
Using this same ratio, IBM's claim that you can load WDSC 7 in just 256 MB of RAM should mean that you can safely run it in 512 MB to 1 GB. And that's right. I loaded the basic/minimum package on a 1 GB ThinkPad, and it performs very well. In fact, it's downright snappy. But as has always been the case in my experiences with WDSC, connecting to a host System i5 to retrieve a source member for editing feels like you're trying to download a 10 MB file over a 28.8 KB dial-up phone line. I've never really understood this quagmire, but perhaps it's something IBM can fix in a Service Pack or PTF at some point.
What's in There?
The initial impression of the new version's environment is a bit perplexing. I don't know if I'm just not hip enough, but the initial Welcome screen appears and just stares at you. It contains several Apple iPhone-esque icons and nothing else. They aren't arranged in a way that would give me (a new user) any indication that I should pick one of them, nor was there any text on the screen telling me to "choose wisely." Initially, I thought I had to wait for it to finish loading, as I was expecting an Editor window to appear. So I left the room, had dinner, and returned only to find the screen unchanged. See Figure 1.
Figure 1: This is what WDSC 7's "Welcome" screen looks like.
So I moved the mouse around to make sure the system hadn't locked up, and when the mouse passed over one of the icons, it morphed and said Workbench! I literally said, "Oh, wow, if they ever get WDSC running on an Apple iPhone, people are going to love this!" See Figure 2.
Figure 2: WDSC's icons are iPhone-like.
I hovered the mouse over the Workbench icon (my guess for most likely to launch the editor), I clicked it, and—bam!—the editor window opened.
At this point, I was able to intuitively click on the Remote Systems directory tree, click New Connection, and get a list of objects, files, and other things from the system.
I was also able to list files on the IFS. I happen to have a Java source member on my IFS, so I double-clicked it. It opened right into the editor, color-highlighted the source, and let me edit it. Then I saved it back to the host. That worked well. I then did the same thing for an HTML file. Everything went wonderfully except that there doesn't seem to be syntax highlighting for HTML, at least not in the default/standard installation.
Then I wanted a list of source file members. WDSC uses an extremely powerful "filter" metaphor to subset things you download. But I think it should be dumbed down a bit as it seems like overkill for iSeries programming. A simple entry field that says "give me the members in this file or files that begin with or contain these characters" is what you need. You have that with Filter, but again it seems like overkill. Figure 3 illustrates the Filter dialog along with a side-panel that appears when you press F1 for help.
Figure 3: Here's your Filter dialog.
As you can see in Figure 3, the help dialog appears as a side panel in the same window as the filter parameters. I right-clicked on a library name in the Remote Systems directory tree and selected New Member Filter, assuming that the library name and possibly the member name would be inserted into the filters dialog. As you can see, they were not. So I pressed F1 for some help text.
The help text is not only formatted incorrectly for this dialog (it is formatted for a full-screen window), it also has a lot of information about how to do a subset of member names in PDM. Since I'm using WDSC, I'd really like to know how to do that with WDSC and filters. But by the time I scrolled down to the bottom of the help text in this little bitty screen, searching for this help topic, I lost interest and closed the Filter dialog.
I was able to open a list of all files, members, and objects for the library I selected. But I think if I right-click on a library or file and select Filter, it should prompt me with the dialog already filled with for LIB/FILE/*ALL (library name, file name, and all members) and give me a simple example of how to generically select member names. I don't know how to limit a filter to display source files, but I'm sure I'm just being bone-headed.
Since I have a pre-release version, it's not perfect, so while I was able to edit IFS files, I was not able to grab a source file member and edit it. Fortunately, I have source on my PC, so I opened a couple of local RPG IV source members. The performance of the edit was spectacular. IBM did a great job of improving performance in this release.
As I moved from one line to another, a little prompt window at the bottom of the IDE actually prompted the current line. I flew through the lines trying to get the prompter to fall behind, but it kept up and even seemed to beat me in some instances. I'm not sure how it did that.
IBM's default colorization for RPG is, in a word, horrible. Bright red and black are the two pervasive colors. I'd rather see SEU's green text than that Soviet-era red and black.
Changing the colors is a bit complicated and somewhat limiting. For example, Factor 1 and Result Field are the same to the editor, so they are both the same color. Seems unimportant until you switch to free-format. All fixed-format colors are carried over to /free syntax. So you end up in some cases with monochrome source.
For some reason, WDSC still does not have highlighting within keywords and built-in functions—that is, the entire keyword and its parameters are the same color. So since every keyword and keyword parameter is the same color, you're back again to monochrome (bright red in most cases) for large areas of your RPG source code.
Changing the colors is a learned skill. To change the colors, do this:
- On the Menu bar, click Window and then select Preferences.
- Expand the LPEX Editor node in the list that appears.
- Expand the Parsers node in the list that appears within the LPEX node.
- Click on Parser Styles.
At this point, the Parser Style for the current language being edited is displayed. If RPG IV is being edited, the ILErpg document parser appears along with its "styles." These styles are the areas of the RPG IV source code that can be colorized. The names of the styles are meaningless to RPG programmers as they are LPEX-centric. Knowing which style to click on is not something you'll memorize any time soon.
A workaround is available, however. Click on the area in the sample RPG IV source member that appears in the Preview window. The style associated with the area you clicked in is automatically selected for you. For example, clicking in Factor 1 selects the User Symbol2 style, as illustrated in Figure 4.
Figure 4: From the WDSC Preferences dialog, you can colorize your code.
You'll notice in Figure 4 that in addition to the text color setting (labeled Foreground in the Preferences dialog), there is also an Effects setting. This is used to set the color of the text border effects listed just below the color. If you use Microsoft Word, you may notice the "squiggle" underline when a spelling error is detected (well, I do). That same effect can be applied to your opcodes. It has nothing to do with the opcode being spelled correctly, but it can help make certain things stand out more. Wouldn't it be cool to change the way indicators are displayed so that they use the strikeout effect?
The editor window, or workbench, has a lot of knobs, dials, and switches. However, it's cleaned up if you do the basic install (IBM calls it "Selective Install"), which installs only the RSE for iSeries option. See Figure 5.
Figure 5: The WDSC 7.0 Workbench is pretty tidy.
The left side of the workbench contains the Remote Systems windows, which is referred to as RSE (Remote Systems Explorer). It contains a list of your systems, libraries, objects, files, and members. You can also look at a list of other things, such as jobs, IFS files, commands, and library lists.
It was impressive to be able to get a list of the CGI (Web server) jobs running and then select them for debug. You can also retrieve the job log for any active job, and while that is easier to do than WRKACTJOB, 5, Enter, 10, Enter, it was a bit slow for my taste. But perhaps I'll get used to it.
Filters are more complex than they need to be, Screen Design Aid (SDA) is currently offered only in the $3,480-per-user Advanced Edition, there's limited syntax highlighting for RPG IV, there's no HTML highlighting, and the Welcome screen is not intuitive for newbies.
The Bottom Line
Bob Cozzi is author of the best-selling The Modern RPG IV Language, Fourth Edition as well as RPG TNT: 101 Dynamite Tips 'n Techniques with RPG IV and is host of the i5 Podcast Network, which provides free video and audio podcasts to the i5 community. You can also see him in person at RPG World in May 2007.