status of Programming by Contract (PEP 316)?

Bruno Desthuilliers bdesth.quelquechose at
Thu Aug 30 15:35:06 CEST 2007

Russ a écrit :
> Bruno Desthuilliers wrote:
>>Russ a écrit :
>>>On Aug 28, 10:58 pm, Michele Simionato <michele.simion... at>
>>>>Why do you think that would ad a strong positive capability?
>>>>To me at least it seems a big fat lot of over-engineering, not
>>>>needed in 99% of programs. In the remaining 1%, it would still not
>>>>be needed since Python provides out of the box very powerful
>>>>metaprogramming capabilities so that you can implement
>>>>yourself the checks you need, if you really need them.
>>>I get the strong impression you don't really understand what
>>>programming by contract is.
>>I get the strong impression you don't really understand how
>>condescending you are.
> When someone writes something as ignorant as that, they need to be
> called on it.

When someone writes something as arrogant as that, they need to be 
called on it.

Michele obviously knows what DbC is (probably better than you do), and 
he also knows Python enough to know why you don't need to add anything 
to Python to have it.

> So you can implement everything you need already in Python? 

Talking about DbC ?

> Yes, of
> course, 

"Yes, of course". A couple of decorator functions and you're done. It's 
pretty trivial, and that's why Michele told you could implement it by 


>>>I have not yet personally used it,
>>You have no working experience with the concept, but you think it should
>>make it into Python's core ???
> I don't need to use it to understand the concept. That has been
> explained
> brilliantly by the Eiffel and SPARK Ada folks.

FWIW, the "Eiffel and SPARK Ada folks" also "brilliantly explained" why 
one can not hope to "write reliable programs" without strict static 
declarative type-checking.

One needs to have working experience with a concept to know what it's 
really worth. Too bad for you, you're too "smart" to understand this.

> I am also smart enough 

Yes, obviously really smart.

More information about the Python-list mailing list