Since working with SQLAlchemy a lot (specifically it’s SQL compiler, not it’s ORM), I don’t want to work with SQL any other way. I want to have the possibility to extract column definitions into named variables, reuse queries as columns in other queries, etc. I don’t want to concatenate SQL strings ever again.
Having a DSL or even a full language which compiles to SQL is clearly the superior way to work with SQL.
You could be onto something. On of my first language was “dBase” (early 90s) which, through it’s style, enabled you to build complex user interfaces with data storage very quickly. I only built small things with it at the time, but it influenced my desire for some better solutions than we have to today.
The way I perceive PRQL is somewhat like SQLAlchemy-Core (the SQL expression layer, not the ORM). Almost a 1:1 mapping to SQL but softening the rough edges in SQL when constructing more complex queries dynamically, in particular: no function calls, no real variables, only string concatenation. While SQLAlchemy-Core lets you even extract sub-queries into variables, I don’t know about how powerful PRQL is in this regard.
From what I see from the docs I’m rather hopeful though.
First I thought you were writing incoherently, but now I understand your point.
I agree with what you said, that our “art” is most likely just something akin to bird song. Maybe even less or something else entirely.
My point of view: Birds also have a “rebellious phase” where their songs differ from the songs of the general population. They are experimenting with new and unorthodox songs. These go away after they come of age and have to find a mate. My hypothesis (well, I’m no bird) is that there is a lot of emotional impact in these bird songs, whereas in some songs humans produce, much which previously required emotional awareness or emotional connection is now being replaced by templates, methods and formulas to make music. It’s some sort of depersonalization or objectification of the process of making music. This is probably what you meant by “it isn’t art anymore”.
Did I get right, what you were trying to convey?
Are you one? Over the years I’ve gotten quite paranoid on Reddit. Now, with LLMs, it’s even harder to spot them.
I’m not even sure if including a hashcash scheme into the software would actually help, because they are so targeted.
I feel like I’m back in the early 2000s, where it was so bad that “the brightest minds of the generation were spending their time writing spam filters”.
You can write selects with many joins, as long they are regular and either add a column or reduce the result set. You have to write the joins explicitly though. Just shoving all of the restrictions into the where clause will definitely confuse everybody.