| ▲ | wodenokoto 3 hours ago | |
I think the pretext of this articles is ridiculous. Yes, SQL is based around relational algebra, but all programming languages are built on a theoretical foundation. And SQL is very much a "fad" language - it just somehow managed to stick around. The goal was not some sort of mathematical purity, but rather to built a natural language data interface (sounds like something currently very hyped?) and it failed spectacularly at that goal. It is so far from natural language that English speakers with statistical understanding won't be able to read it, but it is also inconsistent enough in its grammar design that it is unreasonably difficult to learn and needs large refactoring every time you want to query into the result of a query. To continue my rant: Sometimes '=' is an identity test, sometimes it is `==`. Sometimes groups are called groups, sometimes they are partitions. When creating a CTE, you put the name before "AS", but when creating a column, you put the name after "AS". SQL is great because it is everywhere and it is definitely good enough, but it is not something great, that transcends other programming languages. | ||
| ▲ | fauigerzigerk 16 minutes ago | parent | next [-] | |
>Yes, SQL is based around relational algebra, but all programming languages are built on a theoretical foundation. While true on some level, I don't think this is a very useful statement. The importance of mathematical foundations lies in the extent to which they constrain the features of a programming language. That extent is not the same for all languages. Many programming languages do not appear to be constrained by anything other than some pragmatic hunch of their designers plus the theoretical limits of computability. SQL is a mess. The author acknowledged that. But the relational model and relational algebra are more serious attempts at creating a small but expressive theory than many of our mainstream programming languages. | ||
| ▲ | ale 8 minutes ago | parent | prev | next [-] | |
Well put. SQL gets put in this category of foundational technology that has passed the test of time when in reality it’s more like an example of path dependence. | ||
| ▲ | flossly 2 hours ago | parent | prev [-] | |
I found PRQL[1] to be good fix for nearly everything I dont like about SQL. But then it's only a query lang (DDL you still do in SQL then I guess). Bottom line for me now is that I dont write much of my SQL by hand. AI does a much better job at it. I just read it back and point out mistakes and/or inefficiencies. | ||