4GL Patterns

Why study patterns from 4GL applications?

Writing 4GL applications yields a lot of productivity clues that may be applicable to programming at large.

User-Interface programming forces the hand of the programmer. When a database has validation and consistency rules, these rules have to be repeated in the user-interface code, lest the end-user be presented with cryptic error messages such as “cannot insert a duplicate key into unique index”.

Other limitations like field length or field size (e.g. varchar(50), or int(4)) impose additional validation on the user interface.

Then there is the common problem of formatting, and parsing of input text into backing values.

This is why large applications often maintain their own data dictionaries.

This series of articles attempt to document practices that I have seen. If you plan to write a large application, I hope these notes help you to create base libraries that will help develop your application faster, and create more maintainable software, and help your end-users become more productive.

Note: I am collecting these patterns. I did not invent them. If you encounter a productivity trick that your database/application framework uses, please e-mail me.

Reference

Data Dictionary, Federal Student AidADempiere Data Dictionary
Plone Archetypes Field Reference
Clarion Data Modeller
Universal Data Element Framework (UDEF)