Test Drive of Programmer Studio
Shawn M. Gordon
What it can do?
Programmer Studio has set out to be the end all of code editors. It supports virtually every type of language you can name on the HP 3000 including PowerHouse, the CI, Image schemas, and other languages as well such as 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 4 as examples. This is a very nice concept that extends the straight editor paradigm by allowing you to have ALL the various files that are used or needed for any particular project. It’s 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.
By allowing you to build and organize folders within a project you can easily manage and keep track of even the largest of projects.
The other side of Programmer Studio is it’s ability to parse the structure of a program out. This is a great facility, and for a language such as COBOL you are easily able to see a list of paragraph names, divisions and sections as well as variable and record definitions within your program, see figure 5. By double clicking on the item you will be taken to that section of your code. Then by using bookmarks, you can easily jump around within your code.
How does it work?
There are two pieces to Programmer Studio. The server piece runs on your HP 3000 and provides the directory searching, file selection and file saving capability. With every release of the product there is mention that the server has been modified to speed it up. I’ve got to say that the server was pretty darn fast to begin with, and it is zippy as anything you can imagine now.
On the client end you have a very slick, standard 3 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 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 what is going on first.
Another option is to simply download the code and work on it and save it locally. This has the advantage of being able to work in your favorite environment even if you can’t get connected because you’re on the road, or because, heaven forbid, your HP is down for some reason.
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 without having to upload and download files or figure out how to use Samba/iX.
Here are the new features added in 2.0, the named bookmarks was my suggestion, and show’s how responsive WhisperTech is to customer requests:
Visual File Compare (see figure 2).
Code friendly Spell Checker (see figure 3).
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.
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:
Change case (sentence, lower, upper, title, toggle).
Remove trailing spaces.
Sorting (ASCII, word based or 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 them to add a QEDIT style feature to put automatic document tag’s 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 haven’t gotten close to exploiting all of them. I really want to get into the reguler expressions in the search and replace dialog boxes. I run into this need a lot, and I’ve 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 WhisperTech, 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 ok training guide. Since I used the original release of the product for some months without ever looking at the manual it’s a little hard for me to judge how good of an intro guide it is. Some of the topics are rather confusing, like the discussion on reguler expressions and token matching, and could probably benefit from more examples.
Support from WhisperTech is terrific, even with them being in England. I typically use email, and I get quick responses, even when it’s 10pm their time.
The software was very easy to install and start to use. I’ve used it in environments where there were multiple HP 3000’s to connect to, and PS will store the various IP addresses that you’ve used so that you can select from them later without having to remember them.
Loading up source code and editing it 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 you’ve made changes that you haven’t saved. All the standard features are pretty obvious and easy to get to. Search and replace, bookmarks, structure view vs. 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 recomends 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 I’ll 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 4 hours with no mistakes. I impressed myself with that one. This is a great tool.
Comparisons (optional: analysis of any *first-hand* experience with recent versions of competing products)
There are only two other commercial products that I am still currently aware of that compete with Programmer Studio that I’ve used. The first is Qedit for Windows, and the other is Facade CoEditor. I haven’t looked at QWIN for about 18 months, so I assume it’s matured, but the version I looked at didn’t come anywhere near what Programmer Studio offers.
I haven’t looked at Facade in years, but at the time it had a number of neat things going for it, it would work on a serial as well as network connection, so you could use a dial up line to work on code. It also allowed multiple windows into the same file as well as columnar cutting and pasting. Even with these unique features, it fell far short of all the options provided in Programmer Studio.
Well this is going to sound a bit biased, but I absolutely love Programmer Studio. I couldn’t live without it anymore. I make everyone that works for me use it. How’s 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 you’re using (I’m 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. I’ve 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 doesn’t 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 don’t have to memorize them 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.
Programmer Studio version 2.0
25-29 High Street
US toll-free: 888-465-8145
International: +44 1372 360080
US toll-free: 888-465-8146
International: +44 1372 360090
Programmer Studio includes the 3000 based server software and the client interface IDE that is required for the client PCs. Support is available for Win95, Win98, and WinNT systems as well as Linux.
Programmer Studio for the HP 3000 runs on all HP 3000 Series 900s, MPE/iX 4.0 or later. The software is user based ranging from $599 each for up to 4 copies, and $299 each for 50-99 copies. Subscription and support program is 30% of the purchase price per year and includes phone in, electronic support and new releases of the software. All prices are in US dollars.