Blog
iDevelop

May 13, 2008

Reminiscing on RPG and Early Days in the Computer Industry

I must be getting old as I am developing a bad case of the reminiscences! I was thinking about this week's blog entry and wondering if there was any more RPG history (see previous entries here, here and here) I could write about. But all I could think about was the work-related events that surrounded that period of my life.

For instance, my first experience with IBM systems was as an operator on a 360/400 system. When I first started, I was shown the various card-handling equipment (e.g., sorters, collators, etc.) that as the junior I would be responsible for operating. I remember being impressed by the sleek modern styling of the equipment, which was all color coordinated with the 360 itself. The ICT equipment I had been using previously had been very old-fashioned with dull olive grey covers--not the sleek blue panels of these babies! Imagine then how much I laughed the first time the engineers came to service the collator and I discovered that under the smart new covers lay not only the identical model to the ICT one I had been using, but also an even older version complete with Queen Anne cast-iron legs! Good old IBM had welded cover-mounting brackets onto the legs of an old Hollerith-designed machine and "modernized" it to fit in with the spanking new mainframe! I'm sure some of you who read this will have similar stories.

While thinking about this, it came to me how much more serious the computer business seems to be these days than it was then. For example, when we were on the night shift, it was common to answer the phone in the computer room in a--shall we say--less than serious manner. After all, only one other department ever called us at night, and that was the Work In Progress group, which monitored factory production schedules. So when the phone rang one night I picked it up and answered "Battersea Maternity Hospital - Can I help you?" The voice on the other end simply said "Oh, sorry I must have dialed the wrong number." When the caller didn't call back we speculated on who it might have been that had called. As it turned out, nobody guessed correctly. We discovered the next day that it was the company's CEO! Once he realized that he couldn't have reached the maternity hospital on an internal phone system he wasn't a happy camper and wanted to know who had been pulling his leg. Luckily he never found out!

On the same shift we had one operator named Barry who was always falling asleep on the job. He was supposed to be in charge of watching the console, but during long-running jobs would put his feet up on the desk and go to sleep. We tried everything to keep him awake--from knocking his feet off the desk, to setting off a fire extinguisher up his trouser leg (those of you interested in such trivia may note that ice forms all over the hairs when you do this). All of these tactics had a temporary effect but nothing worked long term. One night, we found him so deeply asleep that none of the normal tactics would work. We wheeled him across the room and it was only as we were pushing him out onto the fire escape that he finally awoke. We never had problems with him sleeping on the job again after that.

Before I close, I omitted to mention in my blog on punch cards that they were also put to other uses. In the blog comments I mentioned using them for taking notes, but the more artistic among us also used them for table decorations (think paper doilies and then think how careful positioning of punch card holes could achieve similar patterns) and in similar vein, Christmas decorations. Of course it would be remiss of me to omit one of the primary uses for the cards, or to be more precise the holes ("chads" of the non-hanging kind for those of you who prefer the technical term!). Confetti! Yes, long before the theoretical threat of exploding pigeons caused the throwing of rice at weddings to be abandoned we ecologically minded computer types were recycling the holes as confetti. I recall a friend telling me once that he was still shaking the stuff out of his wedding suit four years later. Probably a good idea that we don't use them for that purpose any more though--it would be sad if the confetti outlasted the marriage!

May 06, 2008

Another Free Trial for RDi is Now Available

In our Feb. 26 blog post we introduced the idea that SEU users should consider installing WDSC Version 7 as a "free trial" to the new RDi (Rational Developer for System i) product announced with V6R1. WDSC is included with your compiler package at V5R4, whereas RDi requires an additional purchase. So the best way to find out if using RSE (Remote Systems Explorer) is a good fit for you as a developer may be to install the "free" version. 

What about those of you who are already using RSE in WDSC? If you're wondering if the switch to the new chargeable RDi toolset is worth the money and time, we have news for you. Hot off the presses, it's now possible to download a 60-day free trial license of the new RDi toolset from IBM. This will give you a chance to convince yourself that all of your favorite features of RSE in WDSC are still there in RDi.

You'll probably discover some performance improvements in this new flavor of RSE, especially when it comes to retrieving large lists. If your company will install V6R1 soon, you'll be interested in checking out the fact that the syntax checkers and program verifiers are updated for the latest versions of the RPG and other compilers. You'll also get a chance to try out the integrated Screen Designer and the cool new Application Diagrammer.

We still stand by our suggestion to those who aren't already using RSE that the best way to get your free trial for RSE may well be to install WDSC. Just be sure to de-select all of the options except i5/OS Development Tools during the installation so you get the quick and efficient two-disk installation of WDSC. Why? Certainly, you can try the RDi evaluation copy, but it will only last 60 days. If you can convince yourself that it's worth the price and then convince management to buy RDi within the 60 days, that's great. But if you can't, then you're in for a lot of frustration at the end of the trial. We believe if you're using SEU as your editor today, you'll find RSE in WDSC is a huge improvement. And you'll be able to continue using it as long as you want. After you're comfortable with the graphical editor, the Outline View, the error feedback integrated with the editor and a wealth of other features that make RSE a great way to write code, then you can do the RDi free trial and find out about the little extras that make RSE even better in V7.1.

So, SEU users: we suggest that you begin the search for the WDSC V7.0 disks--or if you can't find them, order no-charge feature code 2658 for WDS (Websphere Development Studio) from your software supplier. Select only the i5/OS Development Tools during the installation--if you select all of the Java and Web tools, it will take a significantly longer time to install and require a significantly larger workstation to run it effectively. You can always add the other tools later if you want or need them. RSE users: You already know how great RSE is for developing your RPG/COBOL/CD/DDS type of applications, so go here  to download your free trial to RDi and extend your horizons even further with the new tools and enhancements in RDi.

April 29, 2008

Breaking Old RPG Habits

Last week's blog post talked about attracting younger programmers into the RPG family. There we said "...one could be forgiven for not noticing how RPG has advanced if you spend time looking at some of the old-style RPG logic that is still in use today. ..." It's not enough for IBM and the schools to support RPG as a viable language for today's business applications if, once the youngsters come into a shop to do real work, the RPG they see is the '80s (or earlier) variety of the language. Besides, even if we're not using modern coding techniques to attract the kids, it's a far better way to write code anyway. 

This week, we thought we'd examine some of the things that we consider to be "old-style RPG" in hopes that some of you RPGers out there may want to re-assess your old RPG habits and think about replacing them with some new RPG habits.

Of course, the most obvious and far-reaching new habit we promote is the use of /Free form logic. Besides coding logic without columns and with indentation, /Free format RPG logic forces us to give up many of RPG's worst habits. In order to use free-format logic, we must give up old habits such as:

- Call with Parm, Parm, Parm or Plist
- Old-style operations, such as DOGT, IFEQ, and (shudder) GOTO
- Using operation codes when equivalent built-in functions would simplify the logic and enable the use of expressions
- Using numbered indicators--for conditioning or for results of operations (actually there's no excuse for using nastiness like *IN01 under any circumstances).
- Defining fields on calculation statements

Many old-style RPG habits still exist that /Free doesn't require that we give up--but we should anyway. A good example is using subroutines when subprocedures with local data make our logic far more understandable, bullet proof and easier to maintain. Other old habits we often see are all upper case field names, short (six to 10 characters) field names and no blank lines to break up logic blocks.

Our article in the next i5 EXTRA newsletter will focus on some of these old practices in more detail. We'll explain why the new approaches are so much better and a bit more about how to use some of the newer techniques.

One thing that's guaranteed to drive the newbies away from RPG even faster than fixed-column code is the use of SEU for editing code. We can't tell you the number of young programmers who have asked in a session at a conference, "why do all my fellow programmers use that old editor?" They can (if forced) come to terms with the habits of coding in old-style RPG, but cannot fathom why anyone in their right mind would actually _choose_ to use SEU when such good alternatives are available. RSE (the Remote Systems Explorer in WDSC or in the new RDi product) is Eclipse based and as modern and productive a development toolset as any they used in school. It now has a realistic workstation requirement (if you de-select all except the "i5/OS Development Tools" option during install) and offers scores of productivity features over a green-screen editor. If you're not using it already, you really should take a look.

Creating new habits to replace our old ones takes time and determination. While we have focused here on developing new habits in order to attract and keep younger developers interested in our RPG applications, there's probably a much better reason to make the effort to learn some of the new habits--doing so makes your own life easier and more productive, too!

April 22, 2008

RPG (and i) for Business

Last week, we heard a comment to the effect that it’s not realistic to expect colleges and universities that teach i to teach RPG (Note: for those not up to date, i is the new name for i5/OS, which was the new name for OS/400, which was the new name for …). The implication seemed to be that the younger generation would never consider learning RPG when there are languages like Java, C++, C# and PHP to interest them.

Needless to say, we take issue with that statement and, more importantly, with the belief that RPG is an old-fashioned language that people under 40 would shun. Granted, the old flavor of RPG is a stretch for youngsters who learn the other modern languages, but today’s RPG /Free form logic, which requires that many of RPG’s more antiquated ways of doing things be left behind, is indeed learned, used and actually preferred by many of the younger generation for background business logic.

Currently, we're working with the Academic Initiative within IBM to develop new curriculum to help ensure that the modern version of the RPG language is being taught to the next generation of RPGers.

We know of many younger programmers who have programmed (and still do) in languages such as Java, C++, C#, and PHP to name a few. They discovered the power of RPG and are big fans of today's RPG language. Many of them, like most programmers, aren't inclined to make public testimonials to the value of the language, but a few have made no secret of their admiration of RPG as a simple, yet powerful modern programming language. 

Scott Klement and Aaron Bartell are notable RPG fans under the age of 40. Scott wrote an article about his thoughts on the power of RPG for business applications and Aaron Bartell has sung RPG’s praises in his blog and on midrange.com. Of course, both Aaron and Scott also use Java and other languages where appropriate, for example, for user interfaces.

While we don’t qualify for the under-40 ranks (by a long shot!), we also wrote about the power of today’s RPG here.

Admittedly, one could be forgiven for not noticing how RPG has advanced if you spend time looking at some of the old-style RPG logic that is still in use today-–shamefully, in way too many cases, even RPG that has been written in recent years. Indeed many truly bad examples of old-fashioned RPG can be found in the (non-RPG) IBM manuals. But that’s a topic for another blog post!   

Since IBM has just launched a new brand and a marketing tag line “i for business,” perhaps it’s time to recognize RPG as a language far better suited for background business logic than, say, Java, where getting true fixed-decimal support, which tends to be useful for things like prices, invoice amounts and pay checks, requires extra work. 

So, we’d like to propose that, in addition to the marketing message “i for business”, we should also have an “RPG for business” campaign. And if IBM isn’t interested, maybe we as the RPG community can start one of our own.

Send us your musings on why RPG is great for today’s business applications. We’d like to find a voice for today’s RPG and we need your help.

April 16, 2008

User Groups: A Positive Trend?

We're cautiously optimistic about the future of user groups in the System i community.

The recent COMMON conference in Nashville two weeks ago seemed to be somewhat better attended than the last few conferences. It's hard to tell for sure because attendance numbers at COMMON have traditionally been hard to come by. The announced attendance numbers are difficult to decipher since in addition to actual paid attendees COMMON includes exhibitors, staff, full-time volunteers who rarely attend sessions, IBM speakers and VIPs from IBM and other organizations. This confusion has resulted in the appearance in the language of the term "COMMON numbers" when talking about any nebulous or exaggerated figures.

But regardless of whether the actual attendance at COMMON increased over recent years, it was obvious to those in attendance that the atmosphere was very different. The evening events (newly renamed from CUDS to iSocials) were not only well attended, but people also actively participated in the activities. A buzz of excitement was present that has been hard to find in recent COMMON conferences. As speakers, we have received more e-mails from attendees who are seeking advice on how to implement something they learned about at the conference.

And it's not just at COMMON. Last week in Wisconsin, the WMCPA user group held its annual conference with an increase in attendance (real numbers) for the first time in quite a few years. Just as at COMMON the week before, it wasn't only the number of people who were there--the level of interest and excitement was also palpable among the attendees, many of whom asked thoughtful questions and made the effort to thank us for being there. These folks are not just going through the motions but seem excited to learn about the latest in technologies, tools and languages on the System i platform.

This week, we're in Framingham, Mass., at the annual NEUGC user group conference. We've just arrived and we've been told the numbers are substantially up from last year. We're anticipating (hoping) to find a similar atmosphere here.

We're participating in user group events coming up in Toronto, Barcelona, Stockholm, Michigan and southern California all before the end of June. We're hoping to see a continued trend--in increased attendance and, even more importantly, increased excitement, pride and energy among user group members.