How about "pure virtual methods"?

Mike Meyer mwm at mired.org
Sat Dec 25 22:34:36 EST 2004


Noam Raphael <noamr at remove.the.dot.myrea.lbox.com> writes:

> Mike Meyer wrote:
>> That's what DbC languages are for. You write the contracts first,
>> then
>> the code to fullfill them. And get exceptions when the implementation
>> doesn't do what the contract claims it does.
>>         <mike
>
> Can you give me a name of one of them? This is a very interesting
> thing - I should learn one of those sometime. However, I'm pretty sure
> that programming in them is hell, or at least, takes a very long time.

Eiffel. Google for SmartEiffel for a free portable implementation. If
you want an IDE/etc., look for EiffelStudio - though it's only
available in binary form. And the two implement different languages
(EiffelStudio implements things accepted as standard for OOSCv3,
whereas SmartEiffel implements things that are still under
consideration in their own variants, and fails to implement some
critical features), though the DbC parts are identical.

I find Eiffel fun to program in. SmartEiffel's libraries are as
flexible as Python's built in types. And debugging with all the
contract checking turned on causes exceptions for truly obscure bugs.

         <mike
-- 
Mike Meyer <mwm at mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.



More information about the Python-list mailing list