ARTICLE:A4GL4U
path: MARTY ZUPAN > MARK SKOUSEN > CATEGORY:CLIENTSERVER THREE TIER > CATEGORY:NURULES > ARTICLE:A4GL4U
A4GL4U - Fourth generation Languages - the what and why
By this time, most of us have heard the term 4GL. Many of us know, that 4GL refers to a Fourth Generation Language. What however, is a Fourth Generation Language, and what does a 4GL offer that we can’t already do by writing code by hand in Data BASIC, a third generation language?
What a 4GL essentially is designed to do, is to eliminate the drudgery of designing a screen for either the display or the input of data. A 4GL does this by taking a set of parameters and then binding these parameters to create a co-ordinated table and associated ruleset or subroutine which is then processed by a software “engine”. The software engine deals with the basic elements of screen placement, file management, data conversions, validations, choice selections, etc., depending on the particular “brand” of software engine you may investigate.
Why use a 4GL?
There are many worthwhile reasons for adopting the use of a 4GL. Essentially, since a 4GL can eliminate the writing code manually to deal with display, input and output, the first reason that comes to mind is deployment SPEED! A good 4GL would be expected to create a screen with 10 or so fields, including a multi-valued set (or order-entry type scenario with multiple columns), in ten minutes or less… a lot faster than even the best, brightest and most gifted programmer could ever hope to accomplish.
As many of us have come to realize over time, it’s not only the issue of CREATING CODE that is important. The major concern in systems today, is the burgeoning cost of maintaining, enhancing, and modifying applications to deal with the ever-changing policies of business, government regulations, and industry standards. It has been often calculated by universities, trade associations, independent research facilities, and large MIS departments, that the cost to maintain applications over their life is three to ten times what it cost to originally develop the applications.
In the case of legacy applications which are often “inherited” from previous owners or programmers who may have left the MIS department or company, the cost of maintenance is often much greater. There may be no one available who even understands the applications that need to be modified.
Maintenance Cost
What can a 4GL do to help reduce maintenance cost?
Some of the simplest advantages come from the ability to add or move fields on a screen. This may not seem like much, but in a hand-coded environment, the simple act of moving 4 fields from the second line to the fourth line, could take from ten minutes to a day _or more_ depending on the code that may need to be modified. A 4GL can enable the programmer to make the change in a minute or so with another few seconds for a re-compile. Adding a lookup field or validation can be as easy as placing an ACCESS statement in a dictionary field, and is often completed in under a minute.
Most 4GL’s provide a standardized structure for adding specific business rules to applications. Depending on the sophistication of the RAD tool (Rapid Application Development), there are generally “event triggers” for providing “hooks” into an application. These triggers can deal with things such as PREFIELD, POSTFIELD, PREWRITE, POSTWRITE, LOAD TIME, READ TIME, VALIDATION, ICONV, OCONV, POST-DELETE, CORRELATIVE, EXIT, CHOICE, etc. Triggers offer a standardized way of adding or modifying business rules in an application. Changes can usually be made quickly, easily and often elegantly. By not having to deal with the overhead of input routines, file management, screen placement, legacy spaghetti code and it’s numerous and tangled GOTO’s, a 4GL will reduce development and maintenance efforts and your costs.
Standardization
Another valuable by-product of a 4GL is the standardization of how things generally work. In an environment developed by manually
coding applications, there often exist many styles of “how things work”. As a programmer matures, his (or her) style usually
changes, and with it, how applications seem to work. The keystrokes required to save an item may range from “F”, “FI”,
What 4GL or Rapid Application Development tool-set will do, is to provide a standardized method of how things work. Filing an item, Searching, Help, Exit, Cut, Paste, will work the same in every application (for most 4GL’s). This reduces the learning curve for new hires, reducing the workload at the support desk.
Some (not all) 4GL’s utilize a standard method of handling calls to external subroutines which most any good programmer could understand. This may get tricky in some 4GL’s!
Often overlooked, is the issue of user frustration that can be greatly reduced through the use of a 4GL. A 4GL/RAD tool-set can easily allow the programmer to add “user-friendly” features such as “pull-down” menu’s, “pop-up” selections and choice lists which not only reduce the dependence on “cheat sheets” but also increase the reliability of data recorded in a system.
The efficiency (and speed) of data entry can be increased with the availability of current information and context sensitive help. The burden for MIS departments having to provide printed customer lists, vendor lists, application choices, terms codes etc., is eliminated. Data security is enhanced because customer lists and other sensitive documents are not likely to float out the door or be found in the trash, if they don’t exist on paper.
user-friendliness
Most 4GLs provide the facility for a programmer to easily integrate a “drill down” into data. This can be something as simple as allowing the “jump” from an order-entry application to the Customer maintenance screen to add a new customer (security permitting). Other “drill-downs” can be setup from an order-entry screen into part setup, vendor maintenance etc.
On-line messaging / corporate email
The integration of notes and email in your applications is a feature which can often justify the purchase of some 4GL products. Nucleus for one, incorporates a totally integrated email system which notifies a user of pending messages and which will allow the user to get his/her messages, reply to the messages and return to the same screen and the same field without missing a beat.
What else
Many 4GL products generally offer that “windows” look and feel – it looks nicer, is often more consistent, and is much easier to support than many legacy applications. Terminal emulation products such as Accuterm, MacToPic, Termite, Winnix and others are often integrated with many 4GL products to provide connectivity to the Pick host from a PC terminal. If support of your dumb terminals is important to you, be sure to verify whether the 4GL you wish to investigate does indeed support them. Some 4GL’s, notably those developed in Visual Basic do not, and can not offer dumb terminal support. If you don’t wish to purchase a new PC and emulation software for every desk in your organization, be sure to check this feature out.
Bragging rights
If you’re a golfer, CEO or company president, you get the benefit of “bragging rights”, to be able to say, “we have a 4GL”. It’s more though, than just bragging rights, it’s the difference between keeping up and actually getting ahead. If you need to move ahead with plans for a new acquisition or deal with a significant change in industry standards, there just isn’t time to spend ten days on program changes when one day “must do”. If your application maintenance eats up 75% of your MIS budget, it’s easy to see why reducing maintenance costs and improving productivity is important.
In summary
The incorporation of a 4GL or RAD tool can do much to get your back-burner applications on line and do a great deal to reduce the time and money spent on maintenance and keeping your applications up to date. The flexibility offered by a 4GL product will easily increase the productivity of programmers by a factor of 5 – 10x and allow your staff to tackle complex projects which would not have been possible otherwise. Standardization of the application interface due using a 4GL will reduce the training efforts for new hires, and the workload at the help desk. Using simple validations, a 4GL can also help to increase the accuracy and reliability of data in your system.
The next article In the next article on 4GL’s, the author will review the implementation of a 4GL… what to do, what to expect, what it costs, and how to develop a practical plan for implementation.
In future articles on 4GL’s the author will review the trend of moving from dumb terminals to GUI. A comparison will be made of approaches taken in terminal emulation products such as AccuTerm, Procomm, Viaduct and others, along with the development of Visual Basic and .NET “front-ends”. Another GUI model is the use of a Web-Browser such as Microsoft Internet Explorer, Mozilla / Firefox or Netscape Navigator. Using this approach, screens can be designed by graphic artists while business rules, are developed by programmers.
About the author:
Lee Bacall, is President of Binary Star Development Corporation the developers of Nucleus, a 4GL RAD tool. He has been technically involved in the development and implementation of Nucleus at numerous client sites. Lee works out of the Ft Lauderdale office of Binary Star, and can be reached at 954/791-8575.