Static typing, Python, D, DbC

Bearophile bearophileHUGS at
Sun Sep 12 14:15:03 CEST 2010

John Nagle:

> Design by contract really isn't a good fit to Python.

I have used some times the class invariant done manually, as I have
shown, and it has avoided me some bugs, so I have experimentally seen
you are wrong.

> I've done proof of correctness work, and there are suitable languages
> for it.  It needs a language where global static analysis is
> possible, so you can reliably tell what can changes what.

I see DbC for Python as a way to avoid or fix some of the bugs of the
program, and not to perform proof of correctness of the code. Even if
you can't be certain, you are able reduce the probabilities of some
bugs to happen.


More information about the Python-list mailing list