From: Thien Vuong Date: 2003-11-20T14:52:17+09:00 Subject: Re: "stereotyping" (was: Re: Strong Typing (Re: Managing metadata about attribute types) ) Simon Kitching wrote: > On Thu, 2003-11-20 at 14:06, Austin Ziegler wrote: > >>>Exactly my point. People are sticking with C++ where they could >>>really benefit from moving to a script language like Ruby, or >>>they're learning Java and they're stuck being C++/Java >>>programmers. >> >>I somehow doubt it. > > > Well, I'm a senior developer/team leader. I have been considering moving > the team from "c" to ruby. However I have doubts that the lower-level > programmers can handle development without any type-checking support. So > we will probably move to either Java or c#. > > That doesn't mean I don't like Ruby - personally, I love it. > 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. I guess it's the truism that no language can satisfy everything - so just choose one that best fit the application. Lacking this, does seems to limit the applications that ruby could be used for - i.e. could be all implemented by one/two skilled programmers. Most places I worked at will only deployed a limited set of supported languages, and as much as I hate it, Python would be the next choice (not that it is better for type check, but for other reasons). One thing I find interesting is respond_to? was frequently cited as a better way to handle the dynamism of Ruby than kind_of? - But, every faults that was found with kind_of? could be applied to respond_to? It also does 'name only' checking (name has no association with behaviour), could easily be overridden in any other way the programmer wanted to - in fact, I see method could be mangled much more easily than class, so the defects propagates both way. If we would believe that type checking is bad for Ruby, at least we should be honest in saying that Ruby does not offer type checking, as designed / or by its spirit, and programmers must be willing to deal with it in intelligent way - rather than offering a broken solution which automatically trigger the question from newcomer - "Oh it does not quite work - how would we fix this?" and trigger these kinds of flamefests on who is smarter than whom. This reminds me of my fascination with Python when it first come out until was turned off by the uncompromising and strident attitude of its proponents (not that Python did not turn out to be a very successful language). I do wonder what functional purpose does "kind_of?" serves now that it was severely denigrated in the language - should it be deprecated/ removed? since it is considered totally bad style to use. Regards Thien