With the rise of the Citizen Developer, which Gartner defines as someone ‘who creates new business applications for consumption by others using development and runtime environments sanctioned by corporate IT’ (we can debate..), I find it strange that software development organisations are moving back to 3GL coding practices. Why did we move to 4GL development environments? Tools such as Oracle Forms, PowerBuilder and Ingres ABF made it easy to create data entry and query screens with little or no training. Many of these applications are still around and are often core to a business and can’t be ‘touched’. Lengthy formal Information Engineering practices were ditched in favour of Rapid Application Development (RAD) where success was measured in number of screens created in a day. Long term maintainability is baked into the 4GL code
I still work in this legacy 4GL space but daily come across development teams creating lines of code by hand, or rather, ‘cut and pasting’ large templates to improve the poor productivity, but not the software clarity or maintainability. What did these 4GL tools offer us? Looking back at the very early days of Oracle Forms I have compiled a list. You can compare with the latest methods and tools. What are you missing? However, a small caveat, I have yet to see or create an enterprise scale software application using the latest coding tools, perhaps I need enlightening? (Currently working with Oracle JET, learning a lot! )
What did Oracle Forms give us?
- Initially it was the only tool we had to provide data management of an Oracle database. You use what you have..
- Cross platform build and deployment
- Built-in transaction locking
- Business rule language – PL/SQL (available on client and server)
- 24 x 7 Support and Maintenance
- A large developer base and uptake by many Independent Software Vendors and Oracle partners
- Integration with CASE tools
- Long term support policy
- Eco system of test and QA tools
- Consistency of look and feel
- Use of database referential integrity rules using database meta data
- Standard set of error messages
- Multi lingual
- Multi database support (well, almost)
- + much more that I have forgotten since 1989!
4GLs never claimed to be a framework or platform, they were, and still are in many companies, tools to rapidly create acceptable and maintainable applications. They just have not kept up with the latest look and feel requirements and the need to satisfy the demand for super simple interfaces – the rise of the Bots
Yes, most new coding will nearly always start with a template, has this templating technique evolved into creating complete modules that perhaps are not understood? Have a look at the great template code examples for Oracle Jet , looks like a big productivity gain but at the cost of maintainability? For discussion perhaps.
Today, speed to market, or flashy demo, is everything. Lest we forget some of the tools and techniques that were available way back..