• mindbleach@sh.itjust.works
    link
    fedilink
    arrow-up
    65
    ·
    7 days ago

    It’s the configuration complexity clock.

    You hardcode values in an established, full-featured programming language.

    That gets annoying, so you push some into config files.

    That’s not powerful enough, so you let the config files include conditionals.

    Soon your config files are more like scripts, but it’s so easy to keep adding features…

    And suddenly you’re back to hardcoding, but in a newer, jankier programming language.

  • spazzman6156@sh.itjust.works
    link
    fedilink
    arrow-up
    31
    ·
    7 days ago

    Ok I’m inferring here, but why does DSL mean more than one thing in the technology/computer field? The only one I know is Digital Subscriber Line

    • luciferofastora@feddit.org
      link
      fedilink
      arrow-up
      19
      ·
      6 days ago

      In this case, it probably is “Domain Specific Language”. If you’re unfamiliar, that means it’s created for a very specific context, unlike other, more general languages. That means you can keep the set of features small and save a lot of time making complex stuff work that isn’t relevant to that context.

      Loops are complex stuff. If you don’t really need them, you’re better off just keeping your language linear.

      On the other hand, they’re neat. Can’t be that bad, can it?

    • kevincox@lemmy.ml
      link
      fedilink
      arrow-up
      6
      ·
      7 days ago

      Because every three letter acronym means more than one thing. There are only 17 576 TLA so they are going to be heavily duplicated.

      You should almost always spell out acronyms on the first use.

    • Lovable Sidekick@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      edit-2
      6 days ago

      I’m puzzled too. In DSL the “local loop” is the wiring between your house and the nearest central office or concentrator. Kind of like “last mile” but more like “last block or two”. So I don’t get what “adding loops” would mean.

      Besides Domain Specific Language which somebody else refers to in the thread, DSL can also mean Damn Small Linux. Still no clue about adding loops.

  • Hudell@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    16
    ·
    7 days ago

    I have created a handful of DSLs over the years and I think most of them were bad ideas. Ironically the most complex one is the one that I think was actually right. It had support for a lot of stuff like loops, functions, custom variables and even some weird shit like async execution of child commands.

    I think what made it work in that case was mostly that the purpose of the DSL was completely different from the others. The system wasn’t designed with a DSL in mind. The DSL was just a simpler way to provide input for something that was already there.