…from people who seem to refuse to install paredit or coloring plugins for either? ps lisp syntax ftw, it’s a feature!

  • lorty@lemmy.ml
    link
    fedilink
    arrow-up
    84
    ·
    4 months ago

    No, YAML can fuck right off. I hate that this shit format is used for cloud stuff.

      • RecluseRamble@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        20
        ·
        4 months ago

        OK, that’s excessively “convenient” for booleans. But I don’t get the passionate YAML hate, seems like a simple enough language for config. Didn’t have the pleasure (“pleasure”?) to work with it though, so what’s why else is it shitty?

        • magic_lobster_party@kbin.run
          link
          fedilink
          arrow-up
          30
          ·
          4 months ago

          A property can have the wrong indentation and it would still be a syntactically correct yaml. It’s hard to distinguish whether a line is wrongly indented or not. Copy and paste a line and mistakenly use the wrong indentation, and the entire production breaks.

          In json it’s much harder to do similar mistakes.

          • Ethan@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 months ago

            It’s hard to distinguish whether a line is wrongly indented or not.

            That’s very much not my experience. I use YAML regularly and while I’ve had copy paste indentation errors when I look at the offending line it’s always obvious to me how to fix the indentation. The only indentation thing that’s ever given me trouble is embedding YAML as a string within a file that uses tabs.

        • CaptPretentious@lemmy.world
          link
          fedilink
          arrow-up
          25
          ·
          4 months ago

          Do a search for ‘why yaml is bad’ and you’ll get a lot of stories.

          Constant passing problems, especially when the yaml gets very large and complex. After I implemented a new feature I was pulled into a call with 12-15 people demanding to know why it didn’t work. The new feature worked fine, The guys yaml had the wrong amount of white space and so it didn’t parse.

        • lorty@lemmy.ml
          link
          fedilink
          arrow-up
          18
          ·
          4 months ago

          White space in the wrong place? Fails Wrong amount of tabs? Fail

          Working in a big configuration file that has a lot of nesting? Good luck.

          Best part is that most of these things don’t throw errors or anything, it just doesn’t work and you are left scratching your head as to why your deploy only fails in the production environment.

      • quantenzitrone@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        since yaml is just a superset of json, you can easily avoid all problems like this

        yaml is like a less strict json for me

    • AdamBomb@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      11
      ·
      4 months ago

      Since it’s a superset of JSON, couldn’t you just use the JSON notation if you hate the semantic whitespace?

  • masterspace@lemmy.ca
    link
    fedilink
    English
    arrow-up
    29
    ·
    4 months ago

    Go home OP, you’re drunk.

    And give us your keys, you’ve had too much minimalism to drive.

  • sajran@lemmy.ml
    link
    fedilink
    English
    arrow-up
    19
    ·
    4 months ago

    So I’m going to say what I always say when people complain about semantic whitespace: Your code should be properly indented anyway. If it’s not, it’s a bad code.

    I’m not saying semantic whitespace is superior to brackets or parentheses. It’s clearly not. But it’s not terrible either.

    As someone who codes in Python pretty much everyday for years, I NEVER see indentation errors. I didn’t see them back when I started either. Code without indentation is impossible to read for me anyway so it makes zero difference whether the whitespace has semantic meaning or not. It will be there either way.

    • TechNom (nobody)@programming.dev
      link
      fedilink
      English
      arrow-up
      12
      ·
      edit-2
      4 months ago

      Python decided to use a single convention (semantic whitespace) instead of two separate ones for machine decodeable scoping and manual/visual scoping. That’s part of Python’s design principle. The program should behave exactly like what people expect it to (without strenuous reasoning exercises).

      But some people treat it as the original sin. Not surprised though. I’ve seen developers and engineers nurture weird irrational hatred towards all sorts of conventions. It’s like a phobia.

      Similar views about yaml. It may not be the most elegant - it had to be the superset of JSON, after all. But Yaml is a semi-configuration language while JSON is a pure serialization language. Try writing a kubernetes manifest or a compose file in pure JSON without whitespace alignment or comments (which pure JSON doesn’t support anyway). Let’s see how pleasant you find it.

    • Crisps@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      4 months ago

      This leads to weird bugs when you change indentation and miss a line or reorder lines. The logic changes. Not too bad when you’re on your own, as Python seems to be intended for. Add multiple developers and git merges and it is a recipe for disaster. With end tags at least you just end up with poorly formatted working code.

      • sajran@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 months ago

        It’s probably more prone to mistakes like that, true. But in practice I really never witnessed this actually being a problem. Especially with tests and review.

    • eluvatar@programming.dev
      link
      fedilink
      arrow-up
      5
      ·
      4 months ago

      The number of times I move code around and can just press a hotkey to fix indentation though. Not possible with Python.

      • sajran@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 months ago

        Yeah, that’s definitely a good point. But it’s a minor thing. Adjusting indentation takes 2 keystrokes in vim, I barely notice it.

      • sajran@lemmy.ml
        link
        fedilink
        English
        arrow-up
        4
        ·
        4 months ago

        Of course, but when indentation has a syntactic meaning the formatter often won’t be able to fix it.

  • umbrella@lemmy.ml
    link
    fedilink
    arrow-up
    15
    ·
    4 months ago

    one of my least favorite things about python is semantic whitespace. no need to comment on yaml.

    fuck it, parenthesis all the way.

  • umbraroze@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    4 months ago

    Clearly, the superiour mode is to just use keyword based scoping (à la Ruby do ... end). When I was a kid I read an OBSCENE MAGAZINE where I saw a Forth program go dup dup dup and I was like “ok so what’s the problem here? Things happen and everything is just keywords?” and my young mind was corrupted forever I guess

  • chonglibloodsport@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    4 months ago

    Haskell does both! Most people prefer to use whitespace when writing Haskell but it’s not required. Braces and semicolons are preferred if you’re going to be generating Haskell code.

  • luciole (he/him)@beehaw.org
    link
    fedilink
    arrow-up
    5
    ·
    4 months ago

    It’s fascinating how s-expressions are both data type and language syntax. Such power. Only other time I saw something remotely like this was XSLT & XML, which I admittedly do not miss one bit.

  • ornery_chemist@mander.xyz
    link
    fedilink
    arrow-up
    4
    ·
    4 months ago

    This post made me go try something in clojure again and man I forgot just how fucking good the language is. Everything fits together so nicely.