[#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:03592] Re: Static Typing( Was: Waffling between Python and Ruby)

From: "Joachim Durchholz" <joachim.durchholz@...>
Date: 2000-06-21 19:34:07 UTC
List: ruby-talk #3592
Thaddeus L. Olczyk <olczyk@interaccess.com> wrote:
> On Thu, 15 Jun 2000 22:11:34 -0400, Andrew Hunt <andy@Toolshed.Com>
> wrote:
> >
> >    >And if you were to ask an Eiffel adherent, most would reply
> >    >that " programming by contract" includes static typing.
> >    >Indeed what is meant by contract? According to OOSE the
> >    >contract is the interface and the constrictions on the
> >    >interface ( pre and postconditions, invariants ). This
> >    >definition implies that a contract requires static typing.
> >
> >I disagree strongly.  While Meyer is an advocate of static typing, I
> >see no reason that DBC cannot be effective in a dynamically typed
> >environment -- in fact, it seems to me that DBC could be even *more*
> >useful in a dynamic environment than in a static one.

I agree that contracts between a routine and a caller can be applied to
dynamic typing.
However, Design by Contract isn't just assertions. What makes DbC stand
out is that contract rules are inherited to subclasses. This is a very
unspectacular property in a dynamically-typed language, but in a
statically-typed language, it means that I can write code like
  x: FOO
  x.some_feature
and I can look up the contract of 'some_feature' in FOO and be sure that
at least the contract that I find there will be honored, no matter what
kind of object was assigned to x.
In a dynamically-typed language, I don't know that x will always be of
type FOO, so there's no place to look what the contract of
'some_feature' is.

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