The Good Guy Doesn't Always Win

  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

One reason I despise television so much is that it distorts reality. For example, watching TV would give one the impression that all telephone numbers in the United States have a prefix of 555, that no matter where you’re going, there’s always an available parking space, and that the good guys always win.

The last point is worth some thought. The marketplace is a maelstrom of products, continually boiling and churning as companies present new ideas and try to turn them into industry standards. But the best products don’t necessarily stick around.

We who work with the AS/400 have been spoiled. People who deride the AS/400 as being “proprietary” (as if that were a synonym for “infected with the 20 worst forms of cancer”) and who refer to the widely used and effective business programming language RPG as “Real Poor Garbage” don’t know what they’re talking about. Those of us who work with the machine know how reliable the AS/400 is, how powerful and easy to use the database management system is, and how effective RPG is at helping us solve real-world problems.

Nevertheless, there are some trends that we may not be able to stop, even if it means we lose some of that great technology and have to take a couple of steps backward. Here are some that I have thought of.

The Network Is the Computer

The days of the glass-enclosed central computer are dead. In today’s world, the network is the computer.

Application development on a central system is easy. Write a program, compile it, debug it, and put it into production. The program assumes that all declared files reside on the central system.

Application development across a network is not difficult, but it does present a greater challenge. Not only are the data files spread across many systems, but data is stored in many forms other than relational database tables. And you thought data integrity and security were tough already!

Development on PCs

I’ve always found development on dumb terminals sufficient. My favorite terminal was a 3180, and I constantly kept four or more group jobs running on it. What I like most about dumb terminals is that I don’t have to reboot them four times a day because the mouse quit working or a program ran off into never-never land.

However, the trend in application development is for programmers to use PCs, and I don’t mean for 5250 green-screen emulation. Programming now is less typing and more drag-and-drop.

Directory File Systems

Like it or not, we are going to have to process more files in directory filing systems. The library object-management system of the AS/400 is probably not superior in theory to the directory file systems of UNIX and DOS-based machines, but it is superior in implementation. First, I can tell my AS/400 that a certain object is a file, a program, or a data area, and the AS/400 keeps me from making mistakes and keeps other people from sabotaging the machine. On a machine with a directory structure, nothing prevents someone from reading or writing executable programs as if they were data files.

Second, the data files in these directory-based systems have no external definitions. For that, I have to have a database management system (DBMS), and it provides data descriptions only for database files, not device files.

Third, the number of formats for PC-based files is increasing as new standards continually emerge. How many Microsoft Word standards are there now?

If I wind up having to write I- and O-specs in RPG programs to describe files in the IFS, I’m quitting this business.

Non-file-processing Languages

The future belongs to programming languages that aren’t designed to process files. Like it or not, we’ll have to learn languages like Java and C, which have politically correct programming structures and run on a large variety of platforms but aren’t designed for processing files.

SQL Access to Databases

The first relational DBMS I used was Oracle, and that was in 1982. To access the database, I had one choice: SQL. I could use SQL interactively for ad hoc data retrieval, and I could embed SQL commands in FORTRAN and COBOL programs. Then, I got a chance to work on a S/38. Wow! I was amazed. I could open a database table as a file and get direct access to the data. I no longer had to call subprograms with unpronounceable names to create cursors, open cursors, fetch data, read the fetched data, and so on. I had the power of a relational DBMS without the complexity of embedded SQL, and I was happy.

But this may not last. The industry trend is to embed SQL in programming languages, using industry standards like ODBC and JDBC. Someday, it may be 1982 all over again.

Forward to the Past?

Are we moving forward or backward? I see good technology giving way to outmoded and puny UNIX and PC information processing models. I see simple solutions to people’s problems being replaced by more cumbersome methods. I welcome your thoughts on the matter.