The lengths we have to go to
The lengths we have to go to
The lengths we have to go to
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.
I've heard of people printing out charts, then cutting out the part they wanted to calculate an integral of, then weighing the paper.
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.
Nono that's genius
..ignoring the part that it's just a discrete approximation of an integral a la a Riemann sum.
I was reading an old book about chromatography in laboratory and they exactly describe this method to determine the amount of substance.
That's pretty clever!
That was a common way to do it before computers were common.
If it works it isn't stupid.
I'm guessing she didn't make any zoom either
Better than counting curly braces.
I'll take the curly braces
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.
Even vim can show you that
^(fucking nano user)
if you have to count the curly braces I understand why you are a python developer
You don't usually count them. They just have to form a neat diagonal.
Also, highlighted the way you expect when you click next to braces works too.
parentheses
Why not both
yep.
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.
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
Precisely. It's like programmers lost their humor.
I have not known happiness for 12 years now.
I really like the identation aproach, or begin/end instead of curly braces or parenthesis. When people start to nest things too deep, it gets painful to look at.
Then you never had to share a codebase with someone who had different ideas about how things should be indented.
Hmmm nope. That sounds like hell indeed
Right? Especially since there are plugins for VS Code that colorize the indents.
Let me introduce you to YAML, you'll love it!
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).
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.
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
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.
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.
I got my hair torn out till I setup my home assistant. I f*cking hate it its stupid
@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.
Can you please share a screenshot of how this looks like?
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" } }
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.
YAML comes with its own unique pains in the ass https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
These things actually matter, come up often enough to actually be annoying, and are a bit difficult to explain and learn into people. You’re basically fine if you just string quote everything that you can, but nobody does that.
Use TABS guys TABS.
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.
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.
This post on programmer humor is now funnier as a result of your analysis. Everything is funnier when it is 100% accurate.
Why not TABs? I hate 4 spaces cuz it can get real messy sometimes.
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.
spaces or tabs
Doesn't PEP 8 say spaces somewheres?
4 spaces, although I'll die on the hill that tabs should always be used instead of space for indentation. Not just in python.
Tada, your indentation level is nicely visible.
Tabs. But really with modern IDE it's irrelevant. Whatever the tech lead says I guess.
Questions like that are likely to start a war
semicolons
Full colons
4 Spaces, then one tab, then 3 spaces, then 2 tabs, then 2 spaces, then 3 tabs...
Python supports that (and I hate this)
"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.
And God forbid you use tabs in a document with spaces instead of tabs (or vice versa)
:retab
is your friend!
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.
He could wrap a rubber band around the screen
Spoken like a fellow professional Python programmer.
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.
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)
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.
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.
Just draw whitespace…
And that is why I don't bother with that garbage. C++ for life
Python syntax is the absolute worst
Why do you believe that?
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.