On 18 December 2012 20:24, Allen Wirfs-Brock <[email protected]> wrote:

> To me, as a application programmer or even a library programmer,
> enforcement of these invariants are generally unnecessary. If enforcement
> impacts performance or expressibility they have a negative impact on my
> ability to get my job done.
>

I take issues with the dichotomy you build up here. It's important to note
that enforcement _is_ a form of expressiveness! Unfortunately, one that is
too often overlooked.

Expressiveness is defined by what a piece of code can do, as well as,
dually, what a piece of code can enforce its context _not to_ do. If I
cannot prevent things from happening then I generally have to work around
that by defending against them manually and potentially everywhere.

Moreover, as an application or library programmer I constantly need to
enforce certain things, _especially against myself_. Any smart programmer
knows that his own stupidity is most likely to outsmart him.

/Andreas
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to