For starters, according to that link it only left "experimental status" in Oct 2023; it's pretty new. Although their GitHub still describes it as "an experimental language". That doesn't exactly inspire confidence for long-term production use.
The second problem is that while imperfect, everyone and their dog knows at least the SQL basics. There's a lot of value in that.
Thirdly it's written in TypeScript, so anyone not using TypeScript will either have to run some sort of "generate" step, or have to rewrite it in $language_of_choice. Both are painful. This is not a TypeScript problem: you will have that with any language (although with languages that compile to a binary it's a bit less painful, albeit still painful).
Lastly, it doesn't work for all SQL flavours: just BigQuery and PostgreSQL. That's pretty limited.
All of that is assuming the SQL it generates performs as well as "native" SQL, and that all of this can be reasonably debugged if something goes wrong.
I see Malloy as an analysis tool like Pandas, PowerBI, Tableau, or Looker. It seems like most people write SQL to get "All the data" and then take it to an analysis tool for further study.
With Malloy you can do the analysis on your data lake directly for 80% of your questions.
Languages like Malloy or PRQL require some upfront investment to learn and setup. Additionally, I think both Malloy and PRQL are query oriented, so you still need to learn a decent amount of SQL to interact with your database (for updates).
I'm guessing most people would rather spend effort in solving their immediate problems with SQL rather than bet on a newer and less known technology, even if has a lot of promise.
arp242|1 year ago
For starters, according to that link it only left "experimental status" in Oct 2023; it's pretty new. Although their GitHub still describes it as "an experimental language". That doesn't exactly inspire confidence for long-term production use.
The second problem is that while imperfect, everyone and their dog knows at least the SQL basics. There's a lot of value in that.
Thirdly it's written in TypeScript, so anyone not using TypeScript will either have to run some sort of "generate" step, or have to rewrite it in $language_of_choice. Both are painful. This is not a TypeScript problem: you will have that with any language (although with languages that compile to a binary it's a bit less painful, albeit still painful).
Lastly, it doesn't work for all SQL flavours: just BigQuery and PostgreSQL. That's pretty limited.
All of that is assuming the SQL it generates performs as well as "native" SQL, and that all of this can be reasonably debugged if something goes wrong.
mrtimo|1 year ago
With Malloy you can do the analysis on your data lake directly for 80% of your questions.
bdcravens|1 year ago
https://docs.malloydata.dev/documentation/
"Malloy currently works with SQL databases BigQuery, Postgres, and querying Parquet and CSV via DuckDB."
emmanueloga_|1 year ago
I'm guessing most people would rather spend effort in solving their immediate problems with SQL rather than bet on a newer and less known technology, even if has a lot of promise.