Jack Jansonius shared the following article in which he argues that SQL combined with decision tables gives us a friendly 5GL language oriented to the business audience. Recently he provided a solution for our Oct-2016 Challenge “Flight Rebooking” that demonstrates his point. Below is his article:
SQL is the most popular example of a pure 4GL language focused on the WHAT contrary to 3GL languages focused on HOW.
Which brings up the question: is 4GL such as SQL a language for business or for IT?
My answer is simple:
- If you supplement SQL with 3GL programming constructs (like PL/SQL or Transact-SQL) it is a language for IT people
- If you supplement SQL with 5GL decision tables, it’s a language for the business.
But this distinction is there even if you use SQL as a pure query language (and thus 4GL):
- simple queries are easy to follow and create by business employees
- complicated queries can only be made by IT people.
The good news is that even complicated queries can be made much more straightforward when combined with decision tables!
Recently I came across the following evolution of programming languages:
3GL – 4GL – Lowcode – Nocode
But if Low/Nocode mainly plays a role in the area of sequential processes (or orchestration), in terms of business functionality you remain dependent on the obscure algorithms of a 3GL and/or machine learning code. Thus, you continue to mess with the infamous Business-IT alignment.
In this regard, Lowcode and Nocode is only complementary to 3GL and 4GL.
Lowcode/nocode is all about speeding up application building – the underlying database structure and/or language is hardly relevant there, if at all.
In my view, however, the evolution of programming languages should be:
3GL – 4GL – 5GL
where these 3 generations address different questions:
3GL: HOW – Procedural/Algorithmic and Data-Driven. Java, Python, etc.
4GL: WHAT – Declarative. Database query languages (SQL).
5GL: WHY – Declarative and Goal-Driven. DT (Decision Tables)
5GL is used for describing functionality (replacing 3GL and complementing – possibly already existing – 4GL databases) as well as the end-to-end application flow.
I believe 5GL will replace 3GL as 3GL once replaced 1GL/2GL (machine language/Assembler).
As an example, I provided my solution for the Oct-2016 Challenge “Rebooking Passengers from Cancelled Flights” that use SQL and decision tables. And I’d like to finish with the question: are there DMN-compliant tools that can provide solutions based on business rules in decision tables combined with a relational database of their choice?