[HN Gopher] Constraints and Guarantees
___________________________________________________________________
Constraints and Guarantees
Author : todsacerdoti
Score : 13 points
Date : 2024-09-16 08:26 UTC (4 days ago)
(HTM) web link (jfmengels.net)
(TXT) w3m dump (jfmengels.net)
| readthenotes1 wrote:
| In my (not so) Humble opinion, setting appropriate constraints is
| the most freeing thing leaders can do. It's also really
| difficult, especially when trying to figure how those may change
| over the life of the software
| LegionMammal978 wrote:
| The author argues that constraints (or a lack of features) are
| very often imposed in order to provide certain guarantees (even
| if they aren't immediately obvious), and we should tend to
| respect them for that reason.
|
| But in my experience, many libraries and systems try to impose
| constraints on users that are dubious at best, or actively
| hostile at worst, under the label of "encouraging best practices"
| or similar: the only resulting guarantee is that "users aren't
| allowed to do dumb stuff with my library or system", for some
| value of "dumb". While this can make sense for sensitive things
| like security, some authors' ideas of "best practices" can be
| unnecessary and at odds with interoperability.
|
| So in general, I think it makes sense to question the value of
| constraints, and not blindly trust them to always be beneficial.
| marcosdumay wrote:
| > So in general, I think it makes sense to question the value
| of constraints, and not blindly trust them to always be
| beneficial.
|
| Yes. But the constraints are the entire point of something like
| a library.
|
| So, it's not so much questioning the value of "constraints" in
| the abstract sense, but questioning the value of the specific
| constraints you are creating.
|
| As always, good engineering happens on the details and can't be
| described in a concise way.
| LegionMammal978 wrote:
| Perhaps. Still, my biggest gripe with constraints isn't with
| using them effectively in code under my own control (where
| they can indeed be quite useful), but having to interact with
| them in _other people 's_ libraries and systems, many of
| which are seemingly awash in constraints that they don't
| really need. Some end up in the worst-case combination of
| having both useless constraints and unrealized guarantees,
| which is why I think user-facing constraints should always be
| taken with a skeptical eye, whether you're planning on adding
| them yourself, or evaluating them in someone else's project.
___________________________________________________________________
(page generated 2024-09-20 23:01 UTC)