July 2001
Beyond Projects, On to Changed
Lives
Newest version of
Whisper Technologys development tool a must-have for
coding
Review by Shawn Gordon
Programmer Studio has been
around for about four years now, and it is the editor I use and make
my employees use. Version 4 is just out. I hadnt reviewed the
product since version 2.0 (although I did use 3.0) so its time
for another look.
As
a programmers editor, virtually all the languages and file
types for the HP 3000 are supported in this product, even Qedit saved
files. You can also edit schemas, MPEX expression programs,
Powerhouse code pretty much everything. There actually
isnt anything that stops you from editing any file that you
want. This file support really concerns the products built-in
types for syntax highlighting and code structure recognition. Once
youve used syntax highlighting, youll wonder how you got
along without it.
Up
until Version 4, Programmer Studio was strictly project-oriented, so
you can have multiple files associated with any particular project
which can contain a variety of language types all living and playing
nicely together. Figure 1 in the left pane shows an example of
files in a project. One nice new feature is that you can now edit a
file without having to create a project to do it. This might sound
trivial, but it is a huge convenience for using Programmer Studio
just as an editor instead of an entire project management tool when
you dont need one. You can also compile files without a
project. While the project metaphor is great, there are plenty of
times I wanted to just work on a single file, and had to create a
project for it.
The project paradigm works great
when you are working on systems: You can have your copylib members in
there, job streams, associated command files, database schemas and so
on. Having all the project information close at hand is extremely
convenient when researching or coding a project.
Another nice new extension is the
products ability to save the project files on the server. Now
you can really get organized and assign Programmer Studio project
files to a programmer, so they check it out (assuming you are using
version control) and theyve got everything at hand without
guessing. By using this ability to build and organize folders within
a project, you can easily manage and keep track of even the largest
of projects.
Programmer Studio has the ability
to parse the structure of your program and present it in a coherent
fashion. Take a look at Figure 2: While Ive expanded some of the
structure trees, what you see here are alphabetized lists of
paragraph, variable and function information, including copylibs,
include files (and if I managed to convince them, COBOL macros). By
double clicking on anything in the left pane, the main pane will
immediately display the proper section of code. Then you can use some
bookmarks to let you bounce around your code quickly and efficiently
(more on bookmarks later).
How does it work?
In
the pre-4.0 days, you always had to run the Programmer Studio server
on your 3000. This wasnt true of their Unix-based server
component; you could just use FTP and Telnet for the same result. Now
you can either continue to use their server, or just make use of FTP
and Telnet. The file types you are going to be playing with will
dictate which method you want to use. Anything that the HP 3000
implementation of FTP doesnt understand as a native file type
will need to be accessed using the PS server.
Most people on the 4.0 beta program
say that they think the FTP option is faster. My own experience seems
to be that its slower, but it could all just be subjective. The
other thing I didnt like about the FTP option is that it seems
to poll the server pretty often, like every 30 seconds or so. If you
look at the bottom pane in Figure 1 or Figure 2, you will see that I
have a network trace window open and the FTP feedback is being
displayed here. That is how I knew how often the pings were
happening, because I could watch it scroll by.
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 in such as way that 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 out what is going on first.
Another option is to simply
download the code and work on it, saving it locally. This has the
advantage of allowing you 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
Since I last looked at Programmer
Studio two years ago, here is a summary of other features I
havent already mentioned which I found new in this
release:
A new user-interface, which
Im still getting used to. It will seamlessly edit both Windows
and server based files the server information is now defined
separately from the project and is an attribute of the file. This
makes local and remote edition much more straight forward. You can
now include files from multiple locations (servers) in a single
project.
Programmer Studio supports
TELNET and FTP for transferring and compiling files as an alternative
to their custom server on non-HP e3000 platforms.
Programmer Studio now
includes support for Sun Workshop DBX and Perl debuggers. This is in
addition to the products support of HP 3000 XDB and Trax
debuggers, and GDB on Linux/Unix systems. It also has an integrated
hex file editor for Windows/FTP binary files only. A project-based
ClassView incorporates definitions from multiple project files. The
syntax (structure) view is displayed alongside code editor. This is
much more convenient than the prior versions, when it was displayed
in the source editor area. Compiler errors are highlighted using
regular expressions; Perl programmers can appreciate this.
I love the new split-screen
editing feature. It is very convenient to have multiple views of the
same file open, and eliminates one of the main reasons I used
bookmarks. You can now block mode select (via Shift+Drag), a feature
that I liked from Co-Edit it lets you grab an arbitrary block
of text.
The software also includes improved
code parsers for C/C++, Java and COBOLs include variable
definitions. And now Programmer Studio does auto-complete to complete
known syntax items. This is another real time-saver once you get used
to it. Its improved its COBOL line tag support, added support
for embedded languages such as HTML in PHP, and does auto
(background) syntax-update.
There are others, but I think you
get the idea. The product supports files in Unix, DOS, Mac and Qedit
formats, and all your standard MPE files, including Posix. Of course,
the product still has all the features I covered in my 1999 review.
I
liked the facility to attach host-based events to a file
something like a STREAM command for a JCL file, or a command file to
compile and link your code. In any case the results of commands are
displayed in the lower pane that has the various status windows. The
tabs allow you to select which status window you want to display in
an intuitive format.
What I found really handy was the
Find in Files option that allows you to search for
strings or regular expressions in n files. This is better
than a generic file set because you can ctrl-click file names and
select non-name-related files as your search set.
Installation and
Documentation
Installation is either from a
download from WhisperTechs Web site, or via CD. In either case
you will need to install both the client and the server software
unless you use the FTP/Telnet combo, which is what I use. The client
side is a standard Windows installation and proceeds without
incident. The installer is intelligent enough to remove prior
installations if required, with your permission.
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. I use this for my older version of Programmer
Studio, and again it wasnt required here, but it is available.
At
the time I looked at the product, the documentation and help were
still a bit sparse. Usually these are the last bits of a version
upgrade, and I got an early look at Version 4. Having been a
long-time user this wasnt really an impediment for me. I know
that an appropriate manual will be available with the final release,
just as with prior versions.
Support from WhisperTech is
terrific, even with them being based in England. I typically use
e-mail, and I get quick responses, even when its 10 PM their
time.
The TestDrive
I
got a bit more adventurous with this version now that I do a lot of
work with Linux, Python and C++. I must say, the Project Wizard and
file open logic is really very smart. When you point the product at a
server, it does a great job of figuring out what system it is and
what protocols are available. All of the options are recursive, so
while you can go and configure servers as a menu option, you can also
do it dynamically from within the New Project dialog
its just a bit counter-intuitive. You can see an example
in Figure
3.
Now what was really cool was
building a project that had a local HP 3000, a remote one at my
friends house who is also on a cable modem, a local Linux
server and a remote server in Romania all configured for file sources
in my project.
Programmer Studio remembers all the
information for each file and if you go to open a file and it
hasnt already been cached, then Programmer Studio will log on
to the appropriate server and grab the files. In the case of my
Romanian server, the connection was a bit flaky because of the
telecom infrastructure there, but Programmer Studio was able to deal
with it and I could work with files offline and sync them up later.
For my projects I loaded up some
Python and C++ from Linux and some COBOL, C and MPEX expression
programs from MPE. I really liked how the program structure was so
quickly parsed. For example, in the case of Python, each of the
def() statements were distilled down into Functions under
the syntax tab, and under COBOL these became the paragraph headers.
By double-clicking on the function name I was taken to that section
of the code where the function definition, or paragraph starts.
All in all it was quite fun to do
things like this. It would be really nice if they had a Linux client,
but I suppose Im in the minority wanting that feature.
Conclusions
Ive said it before and
Ill say it again. Programmer Studio is an absolute must-have
for writing code. With each new release they take a giant step
forward in functionality and usability, and this new 4.0 release is
no exception. My only real regret in test driving the software was a
lack of the integrated debugger support thats part of the 3.0
release. I dont imagine the feature is going to change from the
prior release, and it was quite nice, if a little confusing to set up
initially.
The learning curve for Programmer
Studio is pretty minimal. You can be productive in about 10 minutes,
and if you take a couple of hours to browse the documentation and
play with the product, you will find a wealth of features and time
saving techniques. Some bits arent as obvious as they could be,
like how you automatically stamp COBOL comments at column 72 with
your initials and a date stamp. Either a little doc research or an
e-mail to tech support will answer such a question pretty rapidly.
Programmer Studio is so flexible that it would be pretty hard to
explain in documentation all the ways you might use it.
If you write code, you have
to get this product it will change your life.
Shawn Gordon is president
of theKompany.com, Inc., a developer of Linux tools, and has worked
with the HP 3000 as programmer, developer and consultant since
1983.
|