I like that everyone is trying to make something like SQL that reads more naturally to them. More alternatives is good! SQL is a widely accepted standard, and has strictly defined and super broadly accepted semantics.
As someone who has written quite a few half-baked-for-general-use but fit-for-purpose SQL generator utilities over the years, I'll suggest that if you intend for a novel syntax to be a general SQL replacement then being isomorphic to SQL would massively increase usefulness and uptake:
1. novel syntax to SQL; check! Now novel syntax works with all the databases!
2. any valid SQL to novel syntax; a bit harder, but I'd start by using a SQL parser like https://github.com/pganalyze/libpg_query and translating the resulting AST into the novel syntax.
3. novel syntax to SQL back to novel syntax is idempotent; a nice side effect is a validator/formatter for "novel syntax"
4. SQL to novel syntax back to SQL is idempotent; a nice side effect is a validator/formatter for SQL, which would be awesome. (See also https://go.dev/blog/gofmt, which is where I learned this "round trip as formatter" trick.)
I don't mean for this to sound negative, and I know that 2, 3, and 4 are kind of hard. Thank you for building prql!
I once made a real meals-and-visits schedule signup sheet app for a sick relative (dozens of folks signing up for slots over days, etc.) in about 20 minutes, including learning a bunch about the tool.
Ultimately it "just" made CRUD apps, but it made the process amazingly fast. The equivalent of updating a Django model and view was usually a click or two with no waiting, and the only typing was to name things.
I have rolled an extensive (purpose-built) general data quality system at work, and would love for there to be a general purpose tool that does the same sort of thing. I would love to use, contribute to, or otherwise make real an open source version of such a tool.
There is an enormous need in several industries for this sort of thing; but most people don't really know they need it yet.
Fanta is one kind of coke that I didn't see much growing up.
My brother and I used to argue about whether Orange Fanta counted as a coke. He thought it wasn't, because it was orange soda and not cola. I thought it was, because it was sugary carbonated soda.
My wife refers to them all as soda or pop. The industrial name for them all is "soft drink", which I think means they don't have alcohol in them.
The Project Euler problems might be right up your alley. They are little programming exercises that start easy and rapidly become harder. Along the way you figure out enough math to make the programming easier, or at least enough to make better algorithms. The forums are enormously helpful. http://projecteuler.net/
Ah. My refusal to read press releases about scientific papers when the original is available bites me again. The press release is definitely less useful, and the quoted coauthor's quote less measured, than the original paper.
The authors do not say "drastically lower our population very quickly" anywhere in the paper. The closest I can see that they come to saying this is in the conclusion, where they talk about, "reducing world population growth and per capita resource consumption" (among other things) as being "vital".
Please save your accusations of irrational, hysterical agendas for them that advocates hysteria and the abandonment of reason.
_"At any time"? Do you mean "With a court order"?_
A National Security Letter would do just as well, and at least two years of data need to be at the government's disposal. Without addressing the merits of National Security Letters, I should point out that one covering your data, or many people's data, or all of Facebook's data, might arrive at any time.
Without addressing the merits of either copyright or patent protection, I believe you're confusing the two. Folks around here tend to believe that software patents are bad; the view that copyright is bad is less widely shared. In fact, open source licenses /rely/ on the protections afforded by copyright law.
I was amazed watching the video of Bret V. using a tool like this, but even given those expectations I'm impressed with how cool this is to use. Thank you very, very much for showing us this.
(Only such a beautiful specimen deserves such nitpicking, but: it's not a _genius_ talk, it's an _ingenious_ talk. _Ingenious_ is the adjective form of the noun _genius_.)
As someone who has written quite a few half-baked-for-general-use but fit-for-purpose SQL generator utilities over the years, I'll suggest that if you intend for a novel syntax to be a general SQL replacement then being isomorphic to SQL would massively increase usefulness and uptake:
1. novel syntax to SQL; check! Now novel syntax works with all the databases!
2. any valid SQL to novel syntax; a bit harder, but I'd start by using a SQL parser like https://github.com/pganalyze/libpg_query and translating the resulting AST into the novel syntax.
3. novel syntax to SQL back to novel syntax is idempotent; a nice side effect is a validator/formatter for "novel syntax"
4. SQL to novel syntax back to SQL is idempotent; a nice side effect is a validator/formatter for SQL, which would be awesome. (See also https://go.dev/blog/gofmt, which is where I learned this "round trip as formatter" trick.)
I don't mean for this to sound negative, and I know that 2, 3, and 4 are kind of hard. Thank you for building prql!