[#3109] Is divmod dangerous? — Dave Thomas <Dave@...>

14 messages 2000/06/06

[#3149] Retrieving the hostname and port in net/http — Roland Jesse <jesse@...>

Hi,

12 messages 2000/06/07

[#3222] Ruby coding standard? — Robert Feldt <feldt@...>

16 messages 2000/06/09

[#3277] Re: BUG or something? — Aleksi Niemel<aleksi.niemela@...>

> |I am new to Ruby and this brings up a question I have had

17 messages 2000/06/12
[#3281] Re: BUG or something? — Dave Thomas <Dave@...> 2000/06/12

Aleksi Niemel<aleksi.niemela@cinnober.com> writes:

[#3296] RE: about documentation — Aleksi Niemel<aleksi.niemela@...>

> I want to contribute to the ruby project in my spare time.

15 messages 2000/06/12

[#3407] Waffling between Python and Ruby — "Warren Postma" <embed@...>

I was looking at the Ruby editor/IDE for windows and was disappointed with

19 messages 2000/06/14

[#3410] Exercice: Translate into Ruby :-) — Jilani Khaldi <jilanik@...>

Hi All,

17 messages 2000/06/14

[#3415] Re: Waffling between Python and Ruby — Andrew Hunt <andy@...>

>Static typing..., hmm,...

11 messages 2000/06/14

[#3453] Re: Static Typing( Was: Waffling between Python and Ruby) — Andrew Hunt <andy@...>

32 messages 2000/06/16

[#3516] Deep copy? — Hugh Sasse Staff Elec Eng <hgs@...>

Given that I cannot overload =, how should I go about ensuring a deep

20 messages 2000/06/19

[#3694] Why it's quiet — hal9000@...

We are all busy learning the new language

26 messages 2000/06/29
[#3703] Re: Why it's quiet — "NAKAMURA, Hiroshi" <nahi@...> 2000/06/30

Hi,

[#3705] Re: Why it's quiet — matz@... (Yukihiro Matsumoto) 2000/06/30

Hi,

[ruby-talk:03593] Re: Static Typing( Was: Waffling between Python and Ruby)

From: "Joachim Durchholz" <joachim.durchholz@...>
Date: 2000-06-21 19:36:40 UTC
List: ruby-talk #3593
Frank Mitchell <frankm@bayarea.net>
>
> Hmm ... isn't the whole point of Design By Contract to "fail fast"?

This is one of the things that go with it, but it's a (very desirable)
side effect, not its main thrust.

> Assertions are checked at runtime -- mainly because there's no
> general alternative -- but DbC serves to highlight problems
> early and with a minimum of testing/debugging.

That's true, but there's another important aspect: An early failure
prevents the error from spreading through the system. It's easier to
find an error if the error message comes early.

> Leaving something as crucial as what messages an
> object receives out of the contract leaves us testing
> every possible input again.  (I also believe not
> specifying the *contract* of each involved object's
> methods is a mistake.

And the set of routines that an object can execute, together with the
contracts on these routines, forms the object's type. In other words, if
you bother writing contracts at all, you should specify the types as
well.
This is not my standard gospel why DbC should go with static typing, but
it sounds reasonable.

Regards,
Joachim
--
This is not an official statement from my employer or from NICE.
Reply-to address changed to discourage unsolicited advertisements.



In This Thread