News for hackers. Stuff that matters.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by dewey on Sunday July 26, 2026 @07:20AM (#49056949)
Which gets rid of the discussion, but not the problem coding style rules are supposed to fix: Code looks the same, regardless of who wrote it. That's the whole point of code style guidelines like that as there's no functional reason for them.

That's why I like Go, every piece of code looks the same, there's one default enforced linter and this discussion (or discussion if discussion should be allowed or prohibited) doesn't even cross anyones mind.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by phoghed on Sunday July 26, 2026 @08:06AM (#49057299)
Waiting patiently for the other person to produce a post hoc rationalization about why everybody’s code looking different is in fact a good thing
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by insanitybit on Sunday July 26, 2026 @08:11AM (#49057342)
Can you not read code if it uses single vs double quotes?
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by dewey on Sunday July 26, 2026 @08:24AM (#49057421)
You are not making the strongest point by using a relatively subjective rule like that. It includes indentation, how to structure functions and the parameters and many more that in sum make it very easy to jump between projects (Internal company projects, dependencies, other open source projects) without ever getting used to a new style. This makes reading and contributing very easy.

Compare that with other languages where you need to load a different set of prettier rules, code formatting tools and follow contribution guidelines on how things should look like depending on the opinion of the maintainers.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by insanitybit on Sunday July 26, 2026 @08:50AM (#49057656)
I've never found this to be the case having jumped companies a fair bit. I can switch programming languages easily enough, surely I can handle formatting.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by 9dev on Sunday July 26, 2026 @08:44AM (#49057584)
I can - in fact, I have to, a lot more than I'd like - when someone makes changes with different code style settings in their IDE or tooling, and that affects unrelated parts of the code, and suddenly the PR contains tons of code that just looks subtly different but still does the same thing.

If sieving the spam from ham in code reviews is your thing, go have fun.

I personally prefer code that is automatically and unconditionally kept in the exact same shape, preserving only the intended changes to stop the team from wasting time on formatting or reviewing.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by insanitybit on Sunday July 26, 2026 @08:48AM (#49057637)
That seems like a problem caused by an autoformatted, not solved by one. Obviously having reviewable commits is a reasonable expectation but that doesn't seem like a justification at all.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by 9dev on Sunday July 26, 2026 @09:44AM (#49058185)
Pretty much all tools developers use to write code format code to some extent while editing, but often with individual configuration knobs or default settings that are different between all ICs.

Having a single tool that runs before committing, ideally as a git hook, ensures a single, uniform style across all files touched.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by yread on Sunday July 26, 2026 @08:45AM (#49057595)
That's exactly what a good cogwheel in the machine would say
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by maratc on Sunday July 26, 2026 @08:46AM (#49057617)
My argument is more to the tune of "everybody’s code looking slightly different is not a problem in practice as long as I can read and understand it."

However since you've asked so nicely here you go: everybody’s code looking different is because all humans are different. It's what makes us human. I am very serious about my craftsmanship, and I bring my "humanity" to it: sometimes I include a cultural reference (as in the example above), or an internal joke in the name of a (very long) variable, or vent my frustration in a comment.

My first ten years of writing Python were uneventful; nobody commented about my style and I never commented about others'. With the advent of grammar nazi bots, everyone is supposed to now please them by writing completely bland code, which in my opinion degrades me from a craftsman to a code-monkey. This is dehumanising, in a certain sense.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by refactor_master on Sunday July 26, 2026 @09:20AM (#49057950)
But your choice of funny variable names is not a craft, and you’re not a craftsman if you think it matters. What matters is extensibility, maintainability and value delivered.

I care how the food tastes, not that the chef has a really cool Japanese knife and is really fast at cutting onions.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by phoghed on Sunday July 26, 2026 @09:27AM (#49058001)
I need a kitchen linter to highlight dishes red that my kids leave around rather than putting in the sink or dishwasher
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by maratc on Sunday July 26, 2026 @09:30AM (#49058027)
I think you miss the point, but using your foodie reference: would you rather go to a couple of Michelin restaurants -- where each piece brings a reflection of the chef, the geographic area, and what quality ingredients were available on that day -- or would you rather only eat at McDonald's for an experience that is extremely consistent across days, seasons, and continents?

Now imagine a chef who has a nice little restaurant but is now being sent a couple of "quality assurance" guys from McDonald's who tell him that his choice of potato variety for chips does not exactly conform to the "standards" defined at the mothership.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by mrbombastic on Sunday July 26, 2026 @11:58AM (#49059441)
A chef in a michelin restaurant, unless he/she is the sole employee (very rare) is likely in charge of a team of line cooks and while they may get some time and place to experiment you better believe it will not be when preparing the chefs carefully curated menu and recipes for paying customers who have been on a reservation waitlist for months. Bob decided to cook the broccoli with a blowtorch and substituted some ingredients in table 9s dinner. There is a fire in the kitchen and the NYT food critic is going into anaphylactic shock but Bob at least feels like an artist so we will let it slide.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by mpyne on Sunday July 26, 2026 @11:13AM (#49058957)
The hidden implication in your extension of the foodie analogy is that consistent food must have worse quality.

That's not true, and if anything in software having consistent software delivery makes it more likely to achieve Michelin-graded level of quality, not less.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by maratc on Sunday July 26, 2026 @11:41AM (#49059263)
But the formatting is not all that "delivery" stands for.

I've worked on great codebases that would produce thousands of linter errors (lowball estimation), and on shitty codebases that were 100% compliant.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by turtlebits on Sunday July 26, 2026 @09:55AM (#49058289)
The one day, your chef leaves, the food goes to shit and productivity/output/morale drops. When the new chef arrives, then everyone has to relearn everything.

Software shouldn't be bespoke and "artisan".

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by maratc on Sunday July 26, 2026 @10:03AM (#49058351)
And here's where this abstraction breaks: when a programmer leaves, their code is not going anywhere.

The bigger problem is this: you want me to be a cog wheel, but I want to be an artist.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by CrompyBlompers on Sunday July 26, 2026 @12:38PM (#49059800)
Then go be an artist and leave the rest of us to tend our well oiled machines.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by disgruntledphd2 on Sunday July 26, 2026 @01:01PM (#49060040)
I too want to be an artist, but I work in an economy that requires me to be an artist mostly in my off hours.

And honestly, this is such a weird hill to die on. Lint rules when automated are basically pure win in most scenarios, and for your example, just exclude the rule for this block.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by internet2000 on Sunday July 26, 2026 @01:33PM (#49060316)
> The bigger problem is this: you want me to be a cog wheel, but I want to be an artist.

Well, that's the ball game then. This isn't the industry to be an artist in, especially post-AI.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by galangalalgol on Sunday July 26, 2026 @02:33PM (#49060948)
I think the artisanal code industry will exist. It will not be large and it will not pay well.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by pdimitar on Sunday July 26, 2026 @02:46PM (#49061084)
Take it to your employer then, not to us.

We want maintainable code we can quickly onboard in, and be able to modify and extend. Your artistry is getting in the way of other people getting stuff done.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by jghn on Sunday July 26, 2026 @10:29AM (#49058584)
I'd go so far as to argue that person to person differences are helpful to a reader. When I am dealing with a long term code base it's easy to develop a feel for who is responsible for different constructs without needing to rely on the git history. This gives me immediate information on what to expect.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by preg_match on Sunday July 26, 2026 @05:26PM (#49062580)
It depends wildly on how one defines "slightly". If it overflows in the editor, then that's a problem IMO. But some people would say no. In PHP we often see this type of thing:

  $someArr = [
    'config' => [
      'system' => 'linux',
      ...
     ],
  ];
Versus:

  $someArr =
    [
      'config' =>
        [
          'system' => 'linux',
          ...
        ],
    ];

Well... option 2 uses both significantly more vertical space, and horizontal space. But it's technically PSR compliant. However, we really need standard formatting on this, because it's annoying.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by jghn on Sunday July 26, 2026 @10:26AM (#49058558)
> That's why I like Go, every piece of code looks the same, there's one default enforced linter and this discussion (or discussion if discussion should be allowed or prohibited) doesn't even cross anyones mind

I remember people saying this exact same thing about Python ~20 years ago.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by coldtea on Sunday July 26, 2026 @11:30AM (#49059137)
>Which gets rid of the discussion, but not the problem coding style rules are supposed to fix: Code looks the same, regardless of who wrote it.

Which might be more overrated OCD than anything worth it. If you like that, you can add a formatter at the end of the chain or even just when reviewing.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by CrompyBlompers on Sunday July 26, 2026 @12:32PM (#49059739)
There's a ton of variation in golang code, as gofmt is not opinionated enough. As evidenced by the existence of golines[0] or gofumpt[1].

0: https://github.com/golangci/golines/

1: https://github.com/mvdan/gofumpt

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by sennalen on Sunday July 26, 2026 @01:24PM (#49060242)
Is that really a problem that needs solving though? The easiest way to not spend time bikeshedding is to just not bikeshed. Don't make guidelines. Don't run tools to check them. Don't comment on them in PRs. None of it matters.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by kstrauser on Sunday July 26, 2026 @01:30PM (#49060301)
Historically, yes. At some point, one person who likes to work with narrow terminal windows gets fed up with long lines and starts reformatting stuff as they go. Another person with a widescreen editor hates looking at code clustered around the left edge of the screen gets fed up and starts reformatting stuff as they go. It's just a mess. You end up with PRs where it's hard to see the 3 things that changed because it contains 200 lines of "my IDE would prefer to format things this way instead".

I have never seen this not happen, barring using autoformatters. I think Go and Rust have had great success avoiding all these dumb arguments by having built-in opinionated formatters from nearly the beginning.

Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by zelphirkalt on Sunday July 26, 2026 @03:33PM (#49061577)
Aren't you supporting the GP's point though? If you auto-format all the things, they will likely not be right for people either, neither for the narrow terminal window, not for the widescreen full size window enjoyer. And there was energy spent on making it so, without it being a clear winner. Instead we could just be respectful and leave such things as they are, and not have to discuss this at all.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by kstrauser on Sunday July 26, 2026 @03:41PM (#49061671)
No. Auto-formatters have a way of getting people out of the mindset of arguing about it and just accepting that's the way it is. It's not that different from, say, using a compiled language instead of assembler. You and I might have differing ideas about how to write the best assembly code. If we standardize on C, it's likely neither of us will love the compiler's output, but short of outright bugs we'd move past that and go back to writing code.
Re:Ruff v0.16.0 – Significant new updates – 413 default rule... by kristjansson on Sunday July 26, 2026 @01:29PM (#49060289)
The value isn't just in the lack of discussion, but in amplifying the signal to noise ratio of diffs. with ruff or gofmt or whatever, it’s pretty much guaranteed that a change of code is an intentional part of the proposed change. with multiple authors with variable code styles touching the same project, there is a much higher chance of a diff containing lines that preserve semantics but change the code.