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

