I get the point, but I wonder at why people find this particular article compelling
I get the point, but I wonder at why people find this particular article compelling. To me it's weak... It's built on a particular technical distinction between paring and validating that (1) is not all that commonly understood or consistently accepted and (2) not actually explicitly stated in the article! (validation: check data assumptions, fail of not met; parse: check data assumptions, fail if not met, and on success return data as a new type reflecting the additional constraints of the data, which can therefore be checked at compile time. Notice parsing includes validation, which makes the title of the article quite poor.) That's important to know because the distinction is only meaningful in the context of certain language features, which may or may not apply. Also, this is not great general advice: > Push the burden of proof upward as far as possible, but no further For one, it's a mostly meaningless, since it really just says put the burden of proof in the right place. But it implies that upward is preferable. …
Original discussionParse, Don't Validate (2019)219 source comments · at import