• TheGreenGolem@lemm.ee
        link
        fedilink
        arrow-up
        23
        ·
        2 years ago

        Me too, any day. I hate everything where indentation matters. Let me just throw my garbage there and YOU sort it out, you are the fucking computer, not me. You do the work.

        So fuck you, YAML! All my homies love JSON!

      • wols@lemm.ee
        link
        fedilink
        arrow-up
        12
        ·
        2 years ago

        Yup.

        Spaces? Tabs? Don’t care, works regardless.
        Copied some code from somewhere else? No problem, 9/10 times it just works. Bonus: a smart IDE will let you quick-format the entire code to whatever style you configured at the click of a button even if it was a complete mess to begin with, as long as all the curly braces are correct.

        Also, in any decent IDE you will very rarely need to actually count curly braces, it finds the pair for you, and even lets you easily navigate between them.

        The inconsistent way that whitespace is handled across applications makes interacting with code outside your own code files incredibly finicky when your language cares so much about the layout.

        There’s an argument to be made for the simplicity of python-style indentation and for its aesthetic merits, but IMO that’s outweighed by the practical inconvenience it brings.

      • EvokerKing@lemmy.world
        link
        fedilink
        arrow-up
        5
        arrow-down
        1
        ·
        2 years ago

        Because Python uses indentation instead of curly brackets, which is why this meme exists. Also jetbrains ide s like pycharm and webstorm do all of this for you.

    • fidodo@lemm.ee
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago

      Have you tried using an auto formatter? Let’s you write code however and fixes the structure automatically on save. It’s way easier for me to write curly braces then hit ctrl+s than have to select multiple lines manually and tab in and out. I feel the biggest gains I’ve made in productivity came after I learned to embrace tooling.

  • BoofStroke@lemm.ee
    link
    fedilink
    arrow-up
    18
    arrow-down
    2
    ·
    2 years ago

    Programming languages that use white space to delimit structure are annoying at best. I get annoyed at yaml too, but I’m ok once I have a few templates set up.

  • amanaftermidnight@lemmy.world
    link
    fedilink
    English
    arrow-up
    31
    arrow-down
    17
    ·
    2 years ago

    Most disingenuous post ever.

    The image shown is a dude with a browser dev console, probably measuring a div for the its CSS size (which do support centimeters and inches).

    In python, 4 spaces is just enough spacing between indent levels. And if your levels get too deep it’s a sign that you’re not being pythonic. Nesting too deep is the problem, not the whitespacing being significant.

    • UlrikHD@programming.dev
      link
      fedilink
      arrow-up
      13
      arrow-down
      1
      ·
      2 years ago

      Python are fine with whatever number of spaces you want to use. You can use 8 spaces which forces you carefully consider each nest, you can use 1 if you’re a monster, or you can use tabs if you’re enlightened, python only demands consistency.

    • JonEFive@midwest.social
      link
      fedilink
      arrow-up
      2
      ·
      2 years ago

      This post on programmer humor is now funnier as a result of your analysis. Everything is funnier when it is 100% accurate.

    • kevincox@lemmy.ml
      link
      fedilink
      arrow-up
      11
      ·
      2 years ago
      1. Use tabs.
      2. Enable visible whitespace.

      Tada, your indentation level is nicely visible.

      • GBU_28@lemm.ee
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 years ago

        With things like black, flake 8 and Isort I can code however I want, list/format however I want, and commit team compliant content. The dream is real

        • CoderKat@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 years ago

          I love such formatters and wish they were even more widespread. In many cases, I really want consistency above all and it’s so dang hard to achieve that without an opinionated formatter. If the formatters isn’t opinionated enough, it just leads to countless human enforced rules that waste time (and lead to an understandable chorus of “why can’t the formatter just do that for meeeee”).

    • Jakylla@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      2
      ·
      2 years ago

      4 Spaces, then one tab, then 3 spaces, then 2 tabs, then 2 spaces, then 3 tabs…

      Python supports that (and I hate this)

        • Jakylla@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          2 years ago

          Not any standard (and actually not at all something to do for real), but try it, it works

          def magic(a, b, c):
              if a > 0:
              	if b > 0:
              	   		if c > 0:
              	   		  return 'All positive'
              
              return 'Not all positive'
          
          print(magic(1,2,3))
          print(magic(-1,1,2))
          print(magic(1,-1,0))
          print(magic(-1,-1,-2))
          

          (you should be able to verify I used both tab and spaces f*cking bad way in this example, like I described)

          Output:

          All positive
          Not all positive
          Not all positive
          Not all positive
          
          
          ** Process exited - Return Code: 0 **
          Press Enter to exit terminal
          
          • realaether@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 years ago

            That’s really interesting. So does that mean the interpreter just checks whether the current line is more indented, less indented, or equal vs. the preceding, without caring by how much?

      • cartoon meme dog@lemm.ee
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        2 years ago

        “indentation is indentation!” (mr_incredible_cereal.jpg)

        it may look messy, but would you actually rather Python didn’t support some inconsistency when the intent is clear?

        being exact just for the sake of being pedantic isn’t useful.

  • RoyaltyInTraining@lemmy.world
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    2 years ago

    I don’t think this is a huge problem with a correctly set up text editor and the right techniques to limit code nesting. Doesn’t change my dislike of python tho.

      • notabot@lemm.ee
        link
        fedilink
        arrow-up
        11
        arrow-down
        3
        ·
        2 years ago

        Not the previous commenter, but using indentation as syntax rather than an aid to understanding tge program structure is just painful when you come from any more conventionally structured language. The meme above may be an exaggeration, but it’s not much of one. An IDE can probably help, but needing one just to be able to more easily read the code is excessive.

        That said, it’s a popular language and there are plenty of useful libraries, so sometimes the trade off is worth it.

        • kevincox@lemmy.ml
          link
          fedilink
          arrow-up
          5
          ·
          2 years ago

          To each their own. If I’m going to bother intending all of my code may as well benefit from it. I don’t actually use Python that much and don’t love it but I am a fan of significant indentation. But most honestly it isn’t a big deal either way. While I would be happier if my preferred language had significant indentation it is very unlikely to be something that convinces me to use a language or not.

        • Marcbmann@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          2 years ago

          Coming from C++ and Java over to Python was challenging. The IDE I used at the time also did not like when I used tabs instead of spaces, which drove me up a wall.

          I will say that for beginners where python is their first language, it does a good job at reinforcing good practices for writing legible code.