• dark_stang@beehaw.org
    link
    fedilink
    arrow-up
    22
    ·
    edit-2
    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
      link
      fedilink
      arrow-up
      6
      ·
      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
        link
        fedilink
        arrow-up
        4
        ·
        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.

        • verstra@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          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.

        • luckystarr@feddit.de
          link
          fedilink
          arrow-up
          1
          ·
          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.

    • Shiri Bailem@foggyminds.com
      link
      fedilink
      arrow-up
      3
      ·
      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