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.
- 4GL Patterns #1 – Select or Add
- 4GL Patterns #2 – Save and Action Pattern
- 4GL Patterns #3 – Database Update Patterns
- 4GL Patterns #4 – Type Converter Pattern
- 4GL Patterns #5 – In-Schema Validation
- 4GL Patterns #6 – Field Filters
- 4GL Patterns #7 – Data Dictionaries
- 4GL Patterns #8 – Table Patterns
- 4GL Patterns #9 – Search
- 4GL Patterns #10 – Auditability
- 4GL Patterns #11 – Custom Data Types
- 4GL Patterns #12 – Deploying Reference Tables
- 4GL Patterns #13 – Read Only Fields
- 4GL Patterns #14 – Data Validation Patterns
- 4GL Patterns #15 – Security