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

From: olczyk@... (Thaddeus L. Olczyk)
Date: 2000-06-17 09:32:08 UTC
List: ruby-talk #3473
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.
>
>A precondition asserts a routine's expectations of the state of the
>world.  A poscondition verifies the results of the operation.  
>Why do you feel that static typing has *anything* to do with expressing
>the semantics of an operation in this manner?  I would argue that
>DBC in a dynamic language gives you the best of both worlds -- some
>guarantee that you're doing the right thing (the objects you are
>dealing with honor the semantics you expect, regardless of type), 
>along with the flexibility of dynamic types.

The reason I say that static typing is a part of DBC is because it is
the principle contract between an object and it's clients.
Specifically the contract is that the object responds to certain
messages, and not to others. This has to be specified before you can
even begin to talk about what state the object is in before or after
it is acted on.

Looking closely in OOSE2. I don't see any mention of the relation of
static typing to DBC. The thing I see is a statement that static
typing is needed for stable, robust systems. There seems to be an
implication that static typing has to come as a precondition to DBC.

Any the experts are in comp.lang.eiffel, so I've forwarded it there.

In This Thread