On Sep 14, 2021, 12:51 -0700, Mladen Gogala <gogala.mla...@gmail.com>, wrote:
> 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?
Verbosity. Redundancy. Lack of orthogonality. Resemblance to English. The 
standard effectively mandates a particular storage strategy, with heavyweight 
tables that must provide certain CAP theorem guarantees instead of others. 
Rigid storage limitations: less in Postgres than in others, but why can’t I, 
say, nest schemas? Hell, why can’t I nest relations?

https://www.edgedb.com/blog/we-can-do-better-than-sql
> >
> > 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)
You’re confusing SQL with the relational model. Datalog and Quel and Tutorial D 
and other database languages and systems can and did provide those features 
also.

Reply via email to