Re: The tragedy of SQL

From: Mladen Gogala <gogala(dot)mladen(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: The tragedy of SQL
Date: 2021-09-14 19:51:13
Message-ID: 67f0b6d6-9e8d-a27e-ca7c-e91842338180@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Replies in-line

On 9/14/21 01:51, Guyren Howe wrote:
> They are making a decent decision. SQL is a *fucking terrible*
> language, which I don’t blame them for not wanting to learn.

Based on what criteria?

>
> The whole industry, programming languages, infrastructure, everything
> would have developed differently if relations were a natural,
> pleasurable thing to use in any programming language. Like an Array,
> or a Hash.

Thee is nothing natural about either relations or arrays and
hashes/dictionaries. Relations are pretty literal implementation of the
basic set theory. Having a decent understanding of the basic set theory
is a condition  for understanding SQL. Now, we can discuss whether a
language implementing a mathematical theory is "good" or "bad", whatever
the meaning of "good" or "bad" in the given context. Historically, SQL
is a good fit for the banking business and accounting and that is why it
is still around.

Another misconception about SQL is treating it as a general purpose
programming language. SQL is data description language, nothing more,
nothing less. It doesn't need loops, arrays, hashes or subroutines, its
principal purpose is to describe a subset of data. Without SQL you would
have to read all the data and filter the unnecessary stuff yourself.
Furthermore, part of SQL are so called "ACID requirements". Transaction
can only see the data that was committed before the transaction has
begun. Implementing ACID takes a lot of code, that's what MVCC is all
about. However, that too has its origins in accounting. You cannot pay
the money you don't have. And the last thing about SQL is transaction
management. Without relational databases and SQL, you would need a
proprietary transaction manager, just like MongoDB. And MongoDB has a
complex proprietary transaction manager and is losing market share. So,
to recapitulate:

* Declarative subset definition
* ACID consistency
* Transaction management
* Ideal fit for accounting.

That is why SQL is still around. And that is why we all live in a yellow
subroutine (this reference is not for the millennials or younger).

--
I'll speak the key, the whole key and nothing but the key, so help me Codd.
Mladen Gogala
Database Consultant
Tel: (347) 321-1217
https://dbwhisperer.wordpress.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mladen Gogala 2021-09-14 19:53:49 Re: The tragedy of SQL
Previous Message Raymond Brinzer 2021-09-14 19:48:36 Re: The tragedy of SQL