upvote
I mean this isn't true, formatting is the most trivial part. And so many languages have an opinionated formatter these days (e.g. Black)
reply
>> ...there is no debate...

> ...And so many languages have an opinionated formatter these days

The crux of gp's post is for Go, there is no debate as 'go fmt' is the only one that matters. Black is great, but some people prefer Ruff, leading to ...debates about which formatter the team/org should use. Go's batteries-included philosophy makes those discussions moot on so many levels beyond formatting.

reply
As if projects haven't used to have a coding style. What's so hard in saying that code should be formatted with Black, yapf, ruff etc, beats me.
reply
Literally within this thread someone has already suggested using ruff instead of Black and nobody here are colleagues.
reply
It's a silly argument and the lowest form of bike-shedding on the level of tabs vs commas. People with no other substantive contributions use formatting as a beard.

The first one to choose it (whatever it happens to be) wins and that's the end of it. If it isn't the end of it you've got a talent issue.

reply
> It's a silly argument and the lowest form of bike-shedding on the level of tabs vs commas

Guess what other low-level bike-shedding argument 'go fmt' obviates? That's right - tabs vs spaces!

> If it isn't the end of it you've got a talent issue.

I know you meant this as a slur, but the implication is Go works better than other languages for those who have what you call "a talent issue"

reply
Bad example. Ruff's formatter has the same style as Black. It's documented as a "drop-in replacement". The difference is mostly performance.

In any case, that's a single decision the project lead takes once.

reply
what is "Black"? (For hopefully obvious reasons, I couldn't find results with google, lol)
reply
What did you search?

If I do the simplest possible thing that isn't a single word, by highlighting "opinionated formatter these days (e.g. Black)" and clicking search, I get the right result. I also get the right result for black formatter, and I get the right result if I yolo the entire comment as my search.

reply
reply
But you're probably better off with Ruff these days: https://docs.astral.sh/ruff/

Similar to black but faster, written in Rust, by the same team who created uv.

reply
So... A: not trivial. And B: not part of the language.

> mean this isn't true, formatting is the most trivial part. And so many languages have an opinionated formatter these days (e.g. Black)

I don't think this is correct

reply
This back-and-forth is a good example of why Go benefits from having a centralized linter. And uv isn't the official Python package manager even though it should be.
reply
I don't get why this is a big issue. This isn't some recurrent decision to be made. It's something a lead decides once and the project follows. That's it. Many companies have style guides anyway (eg Google[1]); the choice of a formatter is much simpler.

[1] https://google.github.io/styleguide/go/

reply
Because at some point you have to interact with some other team or project that made a different decision. And whatever you picked might fall out of favor and lose support. There's already a graveyard of Python type linters, including Google's pytype.

Especially the uv thing. You clone some non-uv git repo that has no pyproject.toml and you don't know what to install. Maybe has requirements.txt but it's partially wrong.

reply
[dead]
reply