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

From: Conrad Schneiker <schneik@...>
Date: 2000-06-15 18:58:56 UTC
List: ruby-talk #3441
Hi,

"Thaddeus L. Olczyk" wrote:

> On Wed, 14 Jun 2000 14:20:13 -0400, Andrew Hunt <andy@Toolshed.Com>
> wrote:
>
> >       >Static typing..., hmm,...
> >       >
> >       >                                                       matz.
> >
> >Argh!  Don't do it!
> >
> >"Static typing is for people with weak minds"  :-)

Well, that sounds like some pretty strong stereoTYPING of the people that
gave us Unix and Linux. :-)


> >/\ndy
> First in defense of static typing.

I think what is missing here is _optional_, and maybe consideration of
whether there are other means to what is indisputably _sometimes_ a very
desirable end.


> It's strange that you pick on static typing given that Ruby boasts of
> strong Eiffel roots

Well, I think this is more a matter of giving credit where credit is due,
not boasting as such, and a matter of taking what features seemed most
useful for Ruby, versus the core language (granted there is overlap
involved).


> Considering the heaps of praise Eiffel has recieved
> from the OO community I would suspect that most feel it has benefit.

I think a major benefit was support for "programming by contract". There
has previously been a little discussion of how to do this in Ruby.

> It seems a shame that that you throw out the safety of a statically
> typed language, when you don't use what a dynamically typed
> object brings you most of the time ( I figure you really take
> advantage 1%-10% of the time ).

While static typing is  _somewhat_ more safe in _some_ ways, but with
respect to frequency of bugs (which tend to increase with length of code
and time to implement), most studies I have seen references to (sorry,
don't have any handy) don't show clear-cut advantages except for special
cases (which granted may be important for some types of critical
applications).


> So why not do this? Make Ruby a
> language with both static and dynamic type.

I think this might be possible, but I think there would be all sorts of
complex issues concerning the often subtle and indirect interactions of
these 2 very different styles of doing stuff.

Maybe a better way of thinking about this in the Ruby context is to think
in terms of how to support "constant types". When Ruby's CRAN library
becomes as large as Perl's CPAN library, it seems obviously desirable that
there be some sort of reasonable constraint on dynamic changes that can
unexpectedly break things (the recent discussions on $-variables are an
example of this concern), or perhaps some improved way of expressing its
existent capabilities.

--
Conrad Schneiker
(This note is unofficial and subject to improvement without notice.)



In This Thread