this post was submitted on 28 Feb 2024
633 points (97.2% liked)
Programmer Humor
19587 readers
2200 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I can't imagine it would be difficult for an IDE to scale the width of spaces found at the start of a line, to emulate this same customization while still preserving my sanity as a fervent space-indenter. I've never seen an IDE that does this, but it'd be an interesting compromise.
It's not difficult at all, and many editors and IDEs already support this, making the entire point moot. Just do whatever the style guide says. I'm into PHP and Python so for me it's spaces all the way.
How can it tell the difference between spaces used for indentation and spaces used for alignment, if you use the same character for both?
I guess the indention sizer thing knows how the formater works and adjusts accordingly. I can't imagine it would be too much of a problem.
Iirc Jetbrain IDEs has a feature called dynamic tabs/space (or something like that) which uses exclusively tabs until it needs to align something and a tab doesn't fit, so it uses a few spaces instead.
Maybe alignment more for the righthand side of assignments. If you have a block of variables with different name lengths, or within a constructor / function call.
All parsers ignore a shitload of whitespace already. Just compare unformatted code, COMPLETELY unformatted code, code without character returns, and it'll become obvious how any given language is interpreted around whitespace.
Also fun to see just how infrequent a semicolon is 'actually' needed to tell when the end of a statement is here.
What if instead of having the IDE special case space characters at the start of a line, we had a special character that could represent a variable width space?
What if we did that, and then wanted to align something?
Then you use the variable width space for code indentation, then, when you're at the code indentation level, you'd switch to spaces for alignment. If the IDE special cased all space characters at the start of the line you wouldn't have that flexibility. You could also easily create a linter that ensured that the variable width space always has the correct indentation level, and ignore the standard space characters after it.
You're entirely correct. Plus, I hate the idea of changing the width of spaces for any reason lol.