From: Sean O'Dell Date: 2003-11-21T06:10:12+09:00 Subject: Re: "stereotyping" On Thursday 20 November 2003 12:28 pm, Austin Ziegler wrote: > Okay. I'm going to respond to this and then I'm going to stop. This > is getting stupid because someone has decided to take things > personally and use strawmen and ad hominem attacks instead of reason > and logic. > > On Fri, 21 Nov 2003 04:44:02 +0900, Sean O'Dell wrote: > > Q: Does Ruby have type checking? > > A: No. > > Incorrect. Ruby *does* have type checking. It's not name-based type > checking or static type checking or even the ability to enforce > types in method signatures, but Ruby is a strongly, dynamically > typed language. > > > Q: I need type checking. Will it ever have type checking? > > A: Maybe, but we can't figure out how to do it right now so our > > official answer is that you don't need it. If we figure it out, > > then your needs will be considered valid. Why do you need type > > checking anyway? > > Incorrect. Ruby *may* provide optional signature specification in > the future. Many people are unconvinced that it's necessary. > Especially since that there's alternatives that are better (unit > testing; DbC). > > > Q: Because we find it helps us control our large team projects. > > A: I don't agree that it helps you control your large team > > projects. Can you offer more evidence? > > Fweeep! Foul on O'Dell! Introduction of circular argument and > misrepresentation of discussion. The question asked was *how* it > helps you control your large team projects. That question has not > been clearly answered by you, although Thien did answer it -- and he > was given what options Ruby *does* offer (not counting rdoc). > > > Q: Okay. We have to look to code quite often in lieu of project > > documentation, and normally we look to the description of > > classes, and the declarations of function parameters to > > determine how to make calls and to understand how classes are > > designed that are unfamiliar to some of the programmers on the > > team. Type checking would help us to know what parameters are > > used by certain methods at-a-glance, which saves us from having > > to spend time studying source code to figure things out. > > A: We always just read the source code, so that should be good > > enough for you. Perhaps if you gave us another reason. > > Again, an improper representation to both the question and the > answer. Opening a .h file is no different than opening the source. > You say you do Java as well as C++, right? There *are* no .h files, > and opening a .java file gives you the source as well. The same > applies to Ruby. > > > Q: Okay. When an unsuitable object is passed to a method, and that > > method tries to call a method of the object that either doesn't > > exist or has a different number of parameters than expected, an > > error occurs deep inside the method and it's tedious figuring > > out how to fix what went wrong. Some form of type checking > > would help us recognize our mistakes faster. > > A: We always just read the source code where the error occured, > > unless it's a C-extension object, so that should be good enough > > for you. Perhaps another reason would convince us. > > Third foul! Strawman on the floor. This differs not at all from the > situation from C++ or Java. > > > Q: Gee, alright, but I'm running out of reasons. > > A: Thus you are close to realizing the friviolity of your request. > > If you had a sufficient quantity of reasons, you could argue > > indefinitely, and therefore win the argument. The fact that you > > are running out of reasons and are leaving the discussion > > indicates that perhaps you don't really know what you need. The > > Great Ziegler knows what you need. Or would you prefer to > > continue discussing this? > > Fourth foul -- stooping to personal attacks. > > I'm going to ignore the rest of your diatribe, because it's even > less reasoned than the above. > > Good bye, Mr O'Dell. Continue using Ruby, or not. Don't pretend that > name checking is even remotely the same as type checking or > interface guarantee. Half-promises are worse than no promises at > all. Whatever you say Ziegler. Sean O'Dell