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

I really enjoyed this article—I meant to just read the first few paragraphs and skim the rest. I ended up reading every word.

The core thesis sticks with me: existing tooling that helps programmers think about and enforce correctness (linters, compilers, type systems, test suites) operate primarily (and often exclusively) on one snapshot of a project, as it exists at a particular point in time. This makes those tools, as powerful as they can be, unable to help us think about and enforce correctness across horizons that are not visible from the standpoint of a single project at a single point in time (systems distributed across time, across network, across version history).

I feel like the issue of semantic drift is a bigger topic that probably has roots beyond systems architecture/computer engineering.

Also I found the writing style very clear. It helpfully repeats the core ideas, but (IMHO, this is subjective) doesn't do so ad nauseum.

I'm interested in reading other writing from the same author.

 help



The author is basically ChatGPT.

I don't think so. But even if so, that didn't stop me from learning some new things and enjoying the read that got me there.

  > This makes those tools, as powerful as they can be, unable to help us think about and enforce correctness across horizons that are not visible from the standpoint of a single project at a single point in time (systems distributed across time, across network, across version history).
Eh?

I don't think there's something preventing you from constructing guardrails with type system & tests enforcing correctness that handles versioning.

I'm not buying the "unable to help us to think about" part. I argue that Rust's `Option`/`Result`/sum-type + exhaustive match/switch very valuable for proper error handling. You could define your own error type and exhaustively handle each case gracefully, with the bonus that now your compiler is also able to check it.


Yes, and doing that sort of thing is what the author is advocating for. But when it's not done deliberately you don't get it for free.



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

Search: