• @TheGreenGolem@lemm.ee
        link
        fedilink
        291 year 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
        161 year 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.

    • @fidodo@lemm.ee
      link
      fedilink
      11 year 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.

  • @Rhllor@feddit.de
    link
    fedilink
    731 year ago

    Actually had a colleague who determined distances on microscopy images that way. She would measure the scale bar included in the image with her ruler on the screen, measure the distance she was interested in and calculate the distance using the rule of three. I mean, why bother using the measuring tool included in the software.

    • @sznio@lemmy.world
      link
      fedilink
      471 year ago

      I’ve heard of people printing out charts, then cutting out the part they wanted to calculate an integral of, then weighing the paper.

      • @siipale@sopuli.xyz
        link
        fedilink
        261 year ago

        I’ve heard of it too. You would need an analytical balance to get accurate measurements weighing a piece of paper. Just cut out the part you want to take an integral of, then cut out a piece of paper with known size (or cut several pieces with different sizes to get more accurate results) and weigh each of them. I guess this used to be cheaper and faster than using computers when computers were big and expensive.

        • jadero
          link
          fedilink
          61 year ago

          Or maybe just a powder balance. When I was a kid in the 1960s, Dad did a lot of reloading his own ammunition. We kids had fun doing things like weighing our names (weigh a small piece of paper to get the tare, weigh again to get the loaded weight, subtract) and other miniscule things. As I recall, it was accurate to less than a grain (0.065 gram).

          One of the things we did was weigh different shapes of paper to calculate area. Start with a sample of a unit area. Cut out a funky shape and weigh it, then do the math.

      • @Quereller
        link
        51 year ago

        I was reading an old book about chromatography in laboratory and they exactly describe this method to determine the amount of substance.

      • Liz
        link
        fedilink
        English
        11 year ago

        That was a common way to do it before computers were common.

  • @gerryflap@feddit.nl
    link
    fedilink
    411 year ago

    People here are taking this way too seriously lol. I love Python, and I never really had any issues with the indentation being used instead of curly braces or something. This is just a silly meme, not a personal attack

  • @amanaftermidnight@lemmy.world
    link
    fedilink
    English
    40
    edit-2
    1 year 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
      181 year 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.

      • @joey_moey@feddit.dk
        link
        fedilink
        English
        31 year ago

        Yeah I remember picking up a script after a reinstall, and gedit had reverted to default settings. It’s fun trying to spot whether it’s 1 tab or 4 spaces. After that day, I switched to two spaces as my default.

        • @mexicancartel@lemmy.dbzer0.com
          link
          fedilink
          English
          21 year ago

          All theese indentation issues arises from using spaces instead of tabs. And tabs are really flexible so that everyone can set their text editor to whatever tab length they want and still be consistant

      • @CoderKat@lemm.ee
        link
        fedilink
        English
        11 year ago

        I normally love tabs and it’s what Go uses both by convention and it’s semi opinionated formatter. But PEP-8 suggests spaces and ultimately, consistency is more important.

        Not having to argue about tabs vs spaces lets us focus on the real problems, like vim vs emacs.

        • @mexicancartel@lemmy.dbzer0.com
          link
          fedilink
          English
          11 year ago

          I am aware but don’t know why four spaces is suggested. Tabs are consistant and flexible. Using spaces might cause errors in number of spaces and makes code messy.

          Also emacs for the win

        • @mexicancartel@lemmy.dbzer0.com
          link
          fedilink
          English
          31 year ago

          Thats the problem. Then you commit. I clone it. I can’t use tabs because you turned everything into spaces. Why not turn spaces into tabs?

    • @JonEFive@midwest.social
      link
      fedilink
      21 year ago

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

    • @CoderKat@lemm.ee
      link
      fedilink
      English
      151 year ago

      Ugh, there’s some parts of YAML I love, but ultimately it’s a terrible format. It’s just too easy to confuse people. At least it has comments though. It’s so dumb that JSON doesn’t officially have comments. I’ve often parsed “JSON” as YAML entirely for comments, without using a single other YAML feature.

      YAML also supports not quoting your strings. Seems great at first, but it gets weird of you want a string that looks like a different type. IIRC, there’s even a major version difference in the handling of this case! I can’t remember the details, but I once had a bug happen because of this.

      Performance wise, both YAML and JSON suck. They’re fine for a config file that you just read on startup, but if you’re doing a ton of processing, it will quickly show the performance hit. Binary formats work far better (for a generic one, protobuffers has good tooling and library support while being blazing fast).

      • @sonnenzeit@feddit.de
        link
        fedilink
        81 year ago

        It’s so dumb that JSON doesn’t officially have comments.

        So much this.

        Used to work at a company where I sometimes had to manually edit the configuration of devices which were written and read in JSON. Super inconvenient if you have to document all changes externally. As a “hack” I would sometimes add extra objects to store strings (the comments). But that’s super dicey as you don’t know if it somehow breaks the parsing. You’re also not guaranteed the order of objects so if the configuration gets read, edited and rewritten your comment might no longer be above/below the change you made.

        Always found it baffling that such a basic feature is missing from a spec that is supposed to cover a broad range of use cases.

      • @vrighter@discuss.tchncs.de
        link
        fedilink
        51 year ago

        json 5 does support comments. alternatively, yaml is a superset of json. any valid json is also valid yaml. but yaml also supports comments. So you can also write json with comments, and use a yaml parser on it, instead of a standard json parser

    • @lhamil64@programming.dev
      link
      fedilink
      51 year ago

      One of these days I’ll actually look up how YAML indentation works. Every time I use it it’s trial and error until I stop getting errors.

      • @merc@sh.itjust.works
        link
        fedilink
        21 year ago

        That’s a super risky way to do it. It might stop giving you errors because you finally got the indentation right, or it might stop giving you errors because you got the indentation “right” but not how you you meant to organize the objects.

  • pamymaf
    link
    fedilink
    301 year ago

    @alphacyberranger
    This is why I have my VSCodium set to highlight all indentation levels in my settings.json

    To see the editor indent guides, set “editor.guides.indentation”: true and “editor.guides.highlightActiveIndentation”: true.

    editorIndentGuide.background: Color of the editor indentation guides.
    editorIndentGuide.activeBackground: Color of the active editor indentation guide.

    https://code.visualstudio.com/api/references/theme-color

      • pamymaf
        link
        fedilink
        21 year ago

        @Toldry

        Here’s the relevant section of my settings.json

        json { "workbench.tree.renderIndentGuides": "always", "workbench.tree.indent": 15, "editor.guides.indentation": true, "workbench.colorCustomizations": { "editorIndentGuide.background": "#fd6bff", "tree.indentGuidesStroke": "#fd6bff" } }

        @alphacyberranger

  • BoofStroke
    link
    fedilink
    28
    edit-2
    1 year 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.

        • @mexicancartel@lemmy.dbzer0.com
          link
          fedilink
          English
          41 year ago

          Why tabs suck? Explain.

          Tabs are neat.

          Does you app have too many nested functions?

          Use tab width = 2

          Do your app have too less nested functions?

          Use tab width = 8

          Is your app having average number of nested fns?

          Use tab width = 4(mostly default)

          And all theese can happen without modifying a single byte in the source file, unlike spaces!

          • @merc@sh.itjust.works
            link
            fedilink
            51 year ago

            Except that you have to either indent with only tabs or indent with only spaces. Any time you mix tabs and spaces you are just asking for disaster.

            If you indent with only tabs you can’t align things except on tab boundaries. If you have a function that takes 10 parameters and want to do it on multiple lines, the alignment of the extra parameters is going to be ugly.

            If you indent with only spaces, you can indent things so that all the parameters line up directly underneath the parenthesis, for example.

    • reflex
      link
      fedilink
      16
      edit-2
      1 year ago

      Doesn’t PEP 8 say spaces somewheres?

      • @UlrikHD@programming.dev
        link
        fedilink
        161 year ago

        4 spaces, although I’ll die on the hill that tabs should always be used instead of space for indentation. Not just in python.

    • gandarf
      link
      fedilink
      English
      151 year ago

      Tabs. But really with modern IDE it’s irrelevant. Whatever the tech lead says I guess.

      • @GBU_28@lemm.ee
        link
        fedilink
        English
        81 year 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

          • @GBU_28@lemm.ee
            link
            fedilink
            English
            21 year ago

            So you can have a local, and a team config. So at time of commit the code rules your team has selected are enforced. So if I looked at my code, on GitHub, it would look as expected by the team.

            If I load it locally, it formats as I like.

            Check out the cicd stuff on PRs for github

        • @CoderKat@lemm.ee
          link
          fedilink
          English
          11 year 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”).

      • @RogueBanana@lemmy.zip
        link
        fedilink
        31 year ago

        Yeah but outside of that where the code is implemented or in a documentation, tabs are still easier to look through. And it does look pretty as long as there aren’t too many nested functions.

        • @mexicancartel@lemmy.dbzer0.com
          link
          fedilink
          English
          11 year ago

          Even with nested functions tabs are neat.

          Does you app have too many nested functions?

          Use tab width = 2

          Do your app have too less nested functions?

          Use tab width = 8

          Is your app having average number of nested fns?

          Use tab width = 4(mostly default)

          And all theese can happen without modifying a single byte in the source file, unlike spaces!

    • Ocelot
      link
      fedilink
      English
      7
      edit-2
      1 year ago

      Questions like that are likely to start a war

    • Jakylla
      link
      fedilink
      English
      41 year 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)

      • @grozzle@lemm.ee
        link
        fedilink
        11 year 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.

        • Jakylla
          link
          fedilink
          English
          1
          edit-2
          1 year 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
            21 year 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?

      • @notabot@lemm.ee
        link
        fedilink
        161 year 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.

        • magic_lobster_party
          link
          fedilink
          121 year ago

          I’ve programmed Python mostly without IDE without any problem. It’s no more difficult to understand the structure of the program than a bracketed language.

          • @notabot@lemm.ee
            link
            fedilink
            21 year ago

            Don’t get me wrong, I know it’s quite possible, I find it just grates when you’re used to braces and semi-colons. They’re sort of a standard across many languages, and is an extra mental gearshift to python syntax.

        • @kevincox@lemmy.ml
          link
          fedilink
          61 year 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
          31 year 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.

        • @mexicancartel@lemmy.dbzer0.com
          link
          fedilink
          English
          21 year ago

          I even coded my first few python programs in nano text editor without any annoying indentation issues. I use TABs btw. Problems usually happen when people mix tabs with spaces

          • @notabot@lemm.ee
            link
            fedilink
            31 year ago

            Ah, now we stray into ‘holy war’ teritory. I’d agree with you should use tabs, but the language style guide says 4 spaces per level. As you saym don’t try to mix them.

            • @garden_boi@feddit.de
              link
              fedilink
              11 year ago

              Most projects nowadays use auto formatting tools for convenience. Any python auto formatting tool will automatically convert tabs to spaces. Tabs are a no no in python, as their rendering might depend on the settings of the IDE. Spaces are nice and constant.

  • 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.

  • @some_guy@lemmy.sdf.org
    link
    fedilink
    51 year ago

    I started with Perl. This taught me a certain mindset that works well with Bash and Ruby. I’ve tried to learn Python several times and I just fucking hate it. I gave up when I realized that it just doesn’t work the way that my brain works.

    I wonder if the outcome would have been different if I’d started with Python? How might that have shaped my thinking / reasoning? Fwiw, I was also ok with PHP and SQL, but I don’t know much or anything about the backgrounds on those foundations. Maybe my above statements were completely bullshit.

    • @evranch@lemmy.ca
      link
      fedilink
      111 year ago

      I used to love Perl as it worked the way my brain worked.

      Then I started taking medication for ADHD.

      I haven’t used Perl since except for text parsing, it’s an absolute hot mess of a language (though very powerful and functional at the things it does well)

      • @some_guy@lemmy.sdf.org
        link
        fedilink
        31 year ago

        That’s super interesting.

        I have a mental divergence that isn’t ADHD. I was reviewing stats on it that said people who have it are some percent more likely to have ADHD. I wonder if my previous enjoyment of Perl is because I’m on an ADHD spectrum. It would be interesting to find out.

    • magic_lobster_party
      link
      fedilink
      31 year ago

      I kind of started with Python, and I hate Perl. Relying so much on global variables like $_, @_, $1, $2 is just the worst idea ever. Oh you want to call a function? Better be safe and backup all global variables you’re using, because they will be overwritten! Want to use some regex in a function? Better ensure all callers have made backups of the $1, $2, $3 variables.

      The end result is just large amounts of defensive boilerplate everywhere because things will break if you don’t.

      There’s also no good way to tell which functions use $_ without looking up the docs or keeping everything in memory.

      The only merit Perl got in my opinion is its regex support. Quite handy for bash one liners time from time.