A Slam Dunk
Programming Suite
Programmer
Studio is extensible, powerful, and the law at this reviewer's
shop
Review by Shawn Gordon
Programmer Studio
has set out to be the end-all, be-all of code editors. It supports
virtually every language you can name on the HP 3000, including
PowerHouse, the CI, IMAGE schemas, and other languages as well, such
as COBOL, Visual Basic, Java, SQL, and HTML.
Programmer Studio
is project oriented, so you can have multiple files associated with
any particular project. (See Figure 1 in
the left pane and Figure 3 as examples.)
This is a very nice concept that extends the straight editor paradigm
by allowing you to open all the various files that are used or needed
for any particular project. Its pretty common to have one or
more source files, as well as job streams, command files, copy
library modules and include files I usually keep a copy of the
database schema as well.
Building and
organizing folders within a project, Programmer Studio lets you can
easily manage and track even the largest of projects.
The other side of
Programmer Studio is its ability to parse out the structure of a
program. This is a great facility, and for a language such as COBOL
you can easily see a list of paragraph names, divisions and sections
as well as variable and record definitions within your program (See
Figure 2). By double-clicking on the
item you will be taken to that section of your code. Then, using
bookmarks, you can easily jump around within your code.
How does it
work?
There are two
parts to Programmer Studio. The server piece runs on your HP 3000 and
provides the directory searching, file selection and file saving
capabilities. With every release of the product there is mention that
the server has been modified to speed it up. Ive got to say
that the server was pretty darn fast to begin with, and it is zippy
as anything now.
On the client end
you have a very slick, standard three-pane Windows interface that
displays your project, your code, and your server messages or find
results (see Figure 1).
The client and
server pieces will work together, so if you try to save a file that
has changed on the host from when you brought it down, you will be
stopped and warned. You can still choose to overwrite it, but this at
least gives you the opportunity to check what is going on
first.
Another option is
to simply download the code, work on it, and save it locally. This
has the advantage of being able to work in your favorite environment
even if you cant get connected because youre on the road,
or because, heaven forbid, your HP 3000 is down for some
reason.
Features
The product
supports files in Unix, DOS, Mac and Qedit formats, and all your
standard MPE files, including Posix. Heck, I use Programmer Studio
for things like editing Apache/iX and Sendmail/iX configuration
files, or doing HTML on the HP 3000 without having to upload and
download files or figure out how to use Samba/iX.
Here are the new
features added in 2.0. I suggested the named bookmarks, and it shows
how responsive Whisper is to customer requests:
Visual
File Compare (see Figure 4).
Code-friendly Spell Checker (see Figure
5).
Support
for regular expressions in find, replace and find-in-files.
Mouse-activated Code Navigator Tips.
Additional
username/password security layer in the server software.
Named
bookmarks.
Support
fixed port ranges for improved security through firewalls.
Automatic
reconnection options in the event of the server becoming
disconnected.
Rules
Wizard replacing auto-detect for language type.
New Code Editor
features are:
Change
case (sentence, lower, upper, title, toggle).
Remove
trailing spaces.
Sorting
(ASCII, word-based, intelligent).
Comment/uncomment (block and/or line).
Insert/delete/change text in columns.
Insert
date and time.
Modeless
find/replace dialog box.
In one of the
early releases I asked Whisper to add a feature to put automatic
document tags at the end of a COBOL line so you could see when code
was modified, and by whom. I typically use my initials and the
current date this makes documenting your changes a non-event,
so it will always happen.
Some features are
more applicable for one language than another, such as function lists
which works with C, Pascal and Java.
You can attach
host-based events to a file as well. In the case of source code this
could be a command file that does the compile and link of your code;
the results will be returned in the lower pane of the IDE.
In the case of
JCL, it could be a STREAM command to launch the process. There are a
number of unique options, and I havent gotten close to
exploiting all of them. I really want to get into the regular
expressions in the search and replace dialog boxes. I run into this
need a lot, and Ive never gotten around to learning Perl, which
would probably do most of what I need to do.
We use the Find
in Files feature a lot when we are doing code rewrites for clients
and we are trying to find particular information within a chunk of
code.
Installation
and Documentation
Installation is
either from a download from Whisper, or via CD. In either case you
will need to install both the client and the server software. The
client side is a standard Windows installation and proceeds without
incident. The installer is intelligent enough to remove prior
installations if required and with your approval.
The server side
of the install is a store-to-disk file format and is easily installed
after the upload. The product requires that you run a server job all
the time so that you can connect.
The manual is a
good reference guide and an okay training guide. Since I used the
original release of the product for some months without ever looking
at the manual, its a little hard for me to judge how good an
intro guide this is. Some of the topics are rather confusing, like
the discussion on regular expressions and token matching, and could
probably benefit from more examples.
Support from
Whisper is terrific, even though they are in England. I typically use
e-mail, and I get quick responses, even when its 10 p.m. their
time.
The
TestDrive
The software was
very easy to install and begin using. Ive used it in
environments where there were multiple HP 3000s to connect to, and PS
will store the various IP addresses that youve used so that you
can select from them later without having to remember them.
Loading up source
code and editing is simplicity itself. The code editor is also smart
enough to prompt for you to save the file if you go to close the
editor and youve made changes that you havent saved. All
the standard features are pretty obvious and easy to get to. Search
and replace, bookmarks, structure view versus code view.
I modified my
stock COBOL template to always include the short comment out at byte
72 with my initials and the date, as well as enabled automatic
renumbering. Programmer Studio recommends that you not save over
their stock templates, and this is probably a good idea because I
kept getting my changes wiped out when I installed new versions. Next
time Ill listen to their suggestion.
I made some major
use of the product during some Y2K work where I had hundreds of
programs to burn through COBOL, Powerhouse and JCL were
involved. What I would do is set up a search to mark code that had a
number of standard strings that I was looking for, then use F2 to
step through the bookmarks and modify the code as I went. Using this
method I was able to remediate a 40,000 line COBOL program in four
hours with no mistakes. I impressed myself with that one. This is a
great tool.
Conclusions
This is going to
sound biased, but I absolutely love Programmer Studio. I
couldnt live without it anymore. I make everyone that works for
me use it. Hows that for a strong opinion? The extensible
nature of the product with the code templates means that you can even
create your own templates for whatever youre using (Im
considering building one for Warehouse from Taurus right
now).
Programming is so
much faster with Programmer Studio all the little bells and
whistles just make it a joy to use. Ive never had an instance
where PS trashed my code or lost my changes, not even in the beta
versions. The speed is incredible: I can pull down 30,000-line source
files in seconds.
About the only
thing I might complain about is that there doesnt seem to be a
facility to have multiple windows open into the same file. The named
bookmarks allow you to quickly jump between spots, but being able to
look at a list of variable declarations while you are writing a
section of code so that you dont have to memorize the
declarations would be handy.
Usually I just
suggest you look at a tool, but if you program at all, you have to
check this out. After the very short learning curve you will wonder
how you ever lived without it.
Shawn Gordon,
whose S.M. Gordon & Associates firm supplies HP 3000 utilities,
has worked with 3000s since 1983. |