Patrick Logan <patrickdlogan / home.com> wrote:
>"Josh Stern" <jstern / foshay.citilink.com> wrote

>> There are important programming techniques, such as generic
>> programming, that become unavailable to a strongly typed language in
>> that case.
>
>I don't like strongly typed languages, period. End of sentence.

Fine, thanks for sharing.  The topic came up because this
sub-thread traced back to an assertion that overloading
caused problems in C++, which is strongly typed for function
calls.

>> Ruby doesn't need overloading in order to do generic programming
>> because it is weakly typed.
>
>Ruby is *dynamically* typed. C++ is _weakly_ typed.

We are talking about function calls.  Relative to that
context, C++ is strongly typed and Ruby is un-typed.

>> But weak typing allows for extra errors to occur.
>
>The benefits of dynamic languages outweigh the benefits of static
>languages, IME.

This is tangential to the discussion, but I'll respond briefly.

One of the key benefits of static typing is obviously speed.  
If one always works on little problems then speed is not an issue, 
but many people work on problems where C, C++, Fortran, you name 
it, are all not fast enough.  That is to say that how well the 
problem can be solved is limited by the speed of the 
language/computer, and this also affects which algorithms 
are applicable.  Static typing also tends to catch a lot of 
dumb errors.  Static typing can be a burden when prototyping.
However, this is not the important reason why languages like C 
and C++ are poor prototyping and scripting languages.

>> So far as I can see, the only motivation to allow overloading based
>> on types in Ruby would be as a partial substitute for strong typing,
>> to be used at the programmer's discretion.
>
>That's the version I won't move to. Ruby is open source, and I'll just
>hang back at the previous version.

Such a feature needn't affect you if you didn't use it, but whatever.

-= Josh