[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: "stereotyping"

Austin Ziegler

11/20/2003 8:29:00 PM

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.

-austin
--
austin ziegler * austin@halostatue.ca * Toronto, ON, Canada
software designer * pragmatic programmer * 2003.11.20
* 15.28.36



1 Answer

Sean O'Dell

11/20/2003 9:10:00 PM

0

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