Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why in god’s name would programmers of all people resist letting computers handle “systematically [applying] simple rules” for us automatically?


Naming and layout are part of how experts communicate intent with each other. Auto formatters are literally blind so they mostly make poorly motivated naming and layout decisions.


I would love some examples of this. I’ve yet to see a case in 20+ years of programming that was even close to being more-valuable than not having to think about formatting, but maybe it’s because none of the ten or so languages in which I’ve been paid to write code have been the sort where that’s a big deal.

[edit] naming, yes. That’s important. Static types are enormously important—machine-checkable documentation is the best sort. Comments are excellent if names and types aren’t enough. Separate documentation if all of those fail. Where my braces go or tabs-v-spaces or what have you? Not so much, but again, maybe it’s because we write different languages.


Spark offers a fluent DSL with infix operators for data transforms, but after a company-imposed auto formatter got done mangling it I was only allowed to check in a wall of method chaining that none of my teammates would write.

    things
      .where($"key" === lit(key))
      .select("value")
      .as[String]
      .repartition(N1, $"value")
      .flatMap(new ThingIterator(_))
      .repartition(N2)
      .write
      .parquet(
        s"s3a://bucket/things/key=$key")
As for naming, I see stuff like “every method must take one arg whose name ends with Request” even when envelope or notification would make more sense.


programming is about keeping control of the way the infrastructure operates


Are you also against makefiles, on the same grounds? “If they can’t be bothered to run each build step by hand, you probably don’t want them around anyway”

That’s much closer to being “the way infrastructure operates” than formatting is.

I suppose 100% of IAC is right out, then.


Source code is something that you author; binary artifacts aren't.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: