"stereotyping" (was: Re: Strong Typing (Re: Managing metadata about attribute types) ) <Pine.LNX.4.44.0311201232390.4539-100000@ool-4355dfae.dyn.optonline.net>

Well said and well thought-out.

I’ve avoided reading most of the latest “Why doesn’t Ruby have type
checking?” thread (aka: “Why isn’t Ruby statically typed like I’m used to
in C++ or Java?” - they come around at least once a year), but it does
appear that several viable options have been presented which do not require
changes to Ruby. If some people want to use them, they should feel free to
do so, just don’t require the rest of us to do so and don’t expect that the
language should be changed to accomodate typechecking.

Phil

···

In article -aCdna7CB4H4nSCiRVn-ig@august.net, dblack@wobblini.net wrote:

Hi –

On Fri, 21 Nov 2003, Sean O’Dell wrote:

On Wednesday 19 November 2003 10:47 pm, Austin Ziegler wrote:

On Thu, 20 Nov 2003 14:52:17 +0900, Thien Vuong wrote:

I’m in the same position too. Love Ruby but cannot recommend it
for team development w/o having the language provides some sort of
intrinsic interface validation.

Again: why? Why do you need intrinsic interface validation? As
Michael Campbell noted, if a library writer isn’t going to document
their code, what makes you think that they’re going to put interface
validation in there?

At some point, you ought to quit asking people why. They’ve answered you on
this question, and what you’re doing is continually asking “why why why?”

Just accept it. This is something people want. It’s getting annoying hearing
about how you can’t understand why they want it.

I’m not big on the “Just Do It” stuff (I boycott Nike actually), so
you’ll have to forgive me for not Just Accepting It. (Very uppity, I
know :slight_smile: In any case, I think it might be useful to clear a few
cobwebs and look at this in its most distilled form. Here I go:

If this statement is true:

Ruby should include a type-checking framework.

then one of the following two statements is also true:

  1. No programming language without a type-checking framework
    should exist.
  2. It is acceptable for one or more programming languages without
    type-checking frameworks to exist, but Ruby should not be
    one of those languages.

There is no third possibility; that is, given the premise, the only
two possibilities are that #1 is true and that #2 is true.

Now, if #1 is true, then Ruby is, and always was, a bad idea.
Everything that has been done with it is tainted and moribund, because
it should never have existed in the first place. I find the evidence
to the contrary compelling, and therefore reject #1 out of hand.

That means that #2 is true (again, given the original premise). This,
in turn, means that at some point, we will reach a state of
equilibrium where (a) one or more languages exist which do not have
type-checking frameworks, and (b) both the existence of those
languages and their lack of type-checking frameworks will be deemed
acceptable.

And this, in turn, leads me to wonder: if we’re going to reach that
point some day anyway, why not just decide that we’ve reached it now,
with Ruby?