Re: The tragedy of SQL

Поиск
Список
Период
Сортировка
От Mladen Gogala
Тема Re: The tragedy of SQL
Дата
Msg-id 67f0b6d6-9e8d-a27e-ca7c-e91842338180@gmail.com
обсуждение исходный текст
Ответ на Re: The tragedy of SQL  (Guyren Howe <guyren@gmail.com>)
Ответы Re: The tragedy of SQL  (Guyren Howe <guyren@gmail.com>)
Re: The tragedy of SQL  (Adrian Klaver <adrian.klaver@aklaver.com>)
Список 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

В списке pgsql-general по дате отправления:

Предыдущее
От: Raymond Brinzer
Дата:
Сообщение: Re: The tragedy of SQL
Следующее
От: Mladen Gogala
Дата:
Сообщение: Re: The tragedy of SQL