• Swiggles@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    30
    arrow-down
    10
    ·
    10 months ago

    Python is stupid. Using non printable characters as anything other than token separation is just asking for trouble.

    • xigoi@lemmy.sdf.org
      link
      fedilink
      arrow-up
      11
      arrow-down
      3
      ·
      10 months ago

      The space is a printable character.

      What trouble have you gotten into due to this?

      • Swiggles@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        6
        ·
        10 months ago

        Just copy some code over into a not properly configured vim.

        People seem to forget that not everything is a fully configured development environment working locally on your laptop which attempts to fix the issues introduced by that design decision.

        • xigoi@lemmy.sdf.org
          link
          fedilink
          arrow-up
          3
          arrow-down
          3
          ·
          10 months ago

          I use (Neo)Vim and never had a problem with indentation. When pasting code, I can easily indent it to any level I want with the > operator.

          • Swiggles@lemmy.blahaj.zone
            link
            fedilink
            arrow-up
            4
            ·
            10 months ago

            Which actually breaks the code if you don’t have sw configured to the same width as used by the code.

            If anything that proves my point.

    • Sigmatics
      link
      fedilink
      arrow-up
      15
      arrow-down
      12
      ·
      10 months ago

      Just use a modern editor and you’ll never have this problem

      • Swiggles@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        17
        ·
        10 months ago

        You can work around most issues in any language with the right tools. That’s not the point.

        If a design decision introduced a whole new class of errors it is probably just bad design.

        • Sigmatics
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          10 months ago

          It’s a choice, do you want to deal with brackets or indents? Pick one

        • dudinax@programming.dev
          link
          fedilink
          arrow-up
          7
          arrow-down
          5
          ·
          10 months ago

          It also greatly improved readability of the language. Since switching to the standard of using 4-space tabs, I’ve not had any problems except when dredging up someone’s old Python 2 code.

          • nous@programming.dev
            link
            fedilink
            English
            arrow-up
            7
            ·
            10 months ago

            You can create some really ugly code in spite of the forced indentation in python. Indentation does not really help here at all. In all languages you can correctly or incorrectly format things. A code formatter strictly applying a coding standard helps far more here than indents vs bracers. Take a look at black it takes the pep8 standards and adds more strict things on top making code look a lot more consistent and thus makes it easier to read.

            And all formatters will indent code consistently, so having it as part of the language parser does not really help improve readability at all. And even without a formatter everyone I know will still correctly indent their code no matter the language used. But sometimes forcing new lines to have a meaning does make things worst - just look at pythons lambdas which have to be a single line.

            • Reptorian@programming.dev
              cake
              link
              fedilink
              arrow-up
              1
              ·
              10 months ago

              Indentations does not really help readability that much in case of really, really, long code, and in some cases, a code can execute without with unexpected result because of one single indentation being off. Both of these why I like things like curly braces/brackets and terminators like endif/fi/done/end/etc. But, at the end of the day, if there’s a readability problem, then that’s a sign that the code needs to be reworked on.

              • nous@programming.dev
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                10 months ago

                Oh I think indentation helps a ton with readability. Even for bad, long or otherwise hard to read code - it would be way, way worst with no or wrong indentation. Correct indentation helps a lot. It is not the only thing that can be done to improve readability but it is the first and simplest fix you can apply to a code base. So a language enforcing it with syntax does not matter when even basic text editors can correctly and automatically indent your code.

                Though one thing I do like about bracers is I can be lazy with formatting and let my formatter sort it out for me on save. With a white space sensitive language you need to get it correct from the start or else the program just does the wrong thing.

                • Reptorian@programming.dev
                  cake
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  10 months ago

                  I didn’t say it doesn’t help. But, it alone does not really help for bad and long code, but you are correct in that it would be worse with the wrong indentation. Like you pointed out, the program could do the wrong thing if there is a wrong indentation where indentation matters which is one of my issue with something like Python. And languages with explicit exit scope tend to not have that issue while adding to the benefit of making longer code readable. Where white-space sensitive languages really shine on in my opinion are small codes, and that’s where I think of using Python.

                • Reptorian@programming.dev
                  cake
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  10 months ago

                  Braces too can be wrong. But, one is less likely to get it wrong. Modern editors often allows one to highlight matching braces immediately after selection, and rainbow braces(if available) makes it clear on the nest level.