On Apr 22, 2006, at 9:51 AM, Phil Tomson wrote:
On 4/22/06, Tim Dysinger <[EMAIL PROTECTED]> wrote:
It's curious that the Java, C# and Ruby (w/ Rails) camps are like the
French, English and Natives in the new America. It's all OO
programming right?
Well, yes and no. There are other axis of measurement than OO;
dynamicity for example.
Ruby is much more dynamic than the other two. You can do things like
add methods to an instance at runtime.
Cool. Does ruby have reflection? I was thinking about that
yesterday. I guess I could google that.
Ruby's dynamicity makes
metaprogramming quite easy and as such you run into it even in the
standard libraries. Ruby also has closures (though I hear C# is
getting them). And Ruby is strongly-dynamically typed as opposed to
being statically typed as Java is.
So Ruby is in the same camp as Python (strongly-dynamically typed).
I like that, but it seems that it makes it harder to write IDEs for
such languages that can be helpful in such things as refactoring
(because of things like not explicitly declaring the parameter class
type in method declarations for example).
I do like the idea of strongly-dynamically typed languages a lot. I
just wish there was a rippin IDE. I haven't used VI in 10 years for
anything serious.
For example, in Java (and C#), we use the hell out of AbstractFactory
patterns or IoC containers to get around the fact that we want
dynamic type features but we are stuck with static.
With Ruby lots of interesting things can happen at runtime that aren't
possible in more static languages. To use a sculpting metaphore:
think of Ruby as modelling clay and languages like Java, C++, C# as
marble.
(caveat: I haven't done much Java. I came more from a C++/Perl
background)
Phil
_______________________________________________
PDXRuby mailing list
[email protected]
IRC: #pdx.rb on irc.freenode.net
http://lists.pdxruby.org/mailman/listinfo/pdxruby
_______________________________________________
PDXRuby mailing list
[email protected]
IRC: #pdx.rb on irc.freenode.net
http://lists.pdxruby.org/mailman/listinfo/pdxruby