From: Joao Pedrosa Date: 2005-01-30T14:26:08+09:00 Subject: Re: Ten Things Every Java Programmer Should Know About Ruby Hi, At least it was possible to present some meaningful information on the subject. :-) > An object in Ruby may even change its type from one moment to the > other. A Socket object may suddenly become a File object. dewd@heaven:~ $ irb irb(main):001:0> a = b = "ccc" => "ccc" irb(main):002:0> a = 1 => 1 irb(main):003:0> a == b => false irb(main):004:0> b => "ccc" The "ccc" object was not changed in any way. If we didn't have any further references to it, then it would be free to be garbage collected. The _a_ variable, on the other hand, now references the new object _1_. In other words, no type was changed whatsoever. Just a new object was created. I don't like the "Duck Typing" term. I prefer just "Dynamic Typing." I have tasted the dynamism provided by the dynamic typing when coding in Ruby. It allows for great designing opportunities, without pushing the design to UML or such tools. I can try new ideas without much effort. So I can let the curiosity flow while I'm coding. I mean, if I didn't like designing while I'm coding (Agile/XP), I would choose a slower language like Java and think and chat a lot about the design before trying it in code. Rings any bell? :-) Cheers, Joao