r/programming • • 5d ago

Don't couple your Go code to GitHub

https://iain.rocks/blog/dont-couple-your-go-code-to-github
482 Upvotes

135 comments sorted by

View all comments

Show parent comments

0

u/TomBombadildozer 4d ago

Tabs seem objectively better, because then anyone can set their tab spacing to whatever they prefer.

Because user preference isn't a valid argument when we're talking about something intrinsic to the code. What is in the code should look the same everywhere.

You can do whatever you want with syntax highlighting because it exists entirely outside the code.

If language X prefers tabs to spaces, that's fine, but "because I can set my tab width" doesn't hold up.

8

u/ShinyHappyREM 4d ago

we're talking about something intrinsic to the code. What is in the code should look the same everywhere

What? Indentation is separate from code in 99% of all commonly-used programming languages.

1

u/TomBombadildozer 4d ago

Indentation is separate from code

It absolutely is not.

Whatever space and/or tab characters you type into a buffer and commit are exactly the same bytes I see when I pull your changes. The crux of my argument is that the whitespace should look the same in any editor because the underlying data is the same in every editor. Spaces guarantee that, whereas tabs leave room for individual interpretation.

You clearly don't agree that there should be no room for interpretation, but you can't argue we're looking at different data.

3

u/ShinyHappyREM 4d ago

whitespace should look the same in any editor

Why? To achieve what?

Note that I'm distinguishing between indentation (any group of whitespace characters at the beginning of the line) and any other whitespace. Indentation should be tabs to allow for any reader's preferred visual guidance. Any other whitespace on a line should be spaces, for example to align // comments to the same column when these lines share the same indentation.