40
top 9 comments
sorted by: hot top controversial new old
[-] dark_stang@beehaw.org 22 points 1 year ago* (last edited 1 year ago)

I really wish people would learn SQL instead of learning all the languages/tools that write SQL for them. Why are we abstracting this from ourselves? Is it really that hard to write some set based operations?

[-] verstra@programming.dev 7 points 1 year ago

As a developer of the compiler from prql to sql, I can say that I'm working on a new language because I know SQL quite in-depth.

It seems ok on surface, but there are many inconsistenties that you either learn to live with or don't even know are there until they trip you.

[-] dark_stang@beehaw.org 4 points 1 year ago

Yo - my message probably seems like a downer then, and I apologize for that. I've just seen so many ORMs and query builders and other things come and go. And it frustrates me when people want to learn the new hotness rather than learning how to do the thing. Especially when the thing in this case is SQL, the most widely used language for database interaction.

[-] luckystarr@feddit.de 2 points 1 year ago

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.

[-] verstra@programming.dev 1 points 1 year ago

No biggie, it a nice entry barrier to have, because nowadays, there just too much new frameworks and languages and crypto currencies.

[-] iamhazel@beehaw.org 6 points 1 year ago

I don't get it either, I don't feel it's difficult to learn. Personally I very much enjoy writing SQL. It's satisfying.

[-] shiri@foggyminds.com 3 points 1 year ago

@dark_stang @seasonone as someone who uses both: abstraction is mostly about (a) cross-compatibility (making one command work across multiple different database backends) and (b) interfacing more naturally with code to reduce the work needed to make changes

[-] Newtra@pawb.social 8 points 1 year ago

ooo, I love this. It reminds me of how nice C#'s LINQ is...

"Pipeline style" DB queries have some interesting advantages as well:

  • It's straightforward to write efficient queries for DBs that don't include a query optimizer stares at Datomic
  • You can split the pipeline into server-side and client-side steps when working with less capable DBs stares at most of NoSQL
  • It would be much easier to transition from a pipeline API to a non-text-based API so that our ORMs/query builders can directly talk to DBs without the overhead of generating and parsing SQL.
[-] pohart@lemmyrs.org 1 points 1 year ago

Wow that looks really nice. Going into it I was expecting it to be a crappy procedural language, but it looks like a really nice alternative to SQL

this post was submitted on 26 Jul 2023
40 points (100.0% liked)

Technology

37602 readers
259 users here now

A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.

Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.

Subcommunities on Beehaw:


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS