Is SQL for Business or for IT?

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?

This entry was posted in Decision Modeling. Bookmark the permalink.

Leave a comment