From: gabriele renzi Date: 2005-07-19T19:10:55+09:00 Subject: Re: Ruby/Rails as a starter language? Navindra Umanee ha scritto: > James Britt wrote: > >>OO is a fairly straightforward concept. It gets messy with different >>implementations; Ruby's is quite clean. People are better off going >>straight to OO than trying to creep up on it via clumsy "newbie" >>alternatives. > > > Java, at least old Java, or Python would probably be an easier > introduction to OO. python is ok. I won't say that metaclass hackery, multiple inheritance and __mro__, the cooperative super() class, descriptors and so on are easy, but a noob won't hit them too soon. But the same is valid for ruby. But please no java for a beginner. Trust me, in my university Java is uased as the language for the first programming class, and the standard reaction to public class Test{ public static void main(String args[]){ System.out.println("hello world"); return; } } is people running away screaming, since they're introduced to a dozen of concepts in a single 5 line code. This does not mean they won't learn, in the end, but they find it freaking hard and non-funny. > I still find Ruby's OO to be mind-boggling with its classes are > objects and objects are classes, class variables and class instance > variables, virtual classes, self and so forth. Fact is, if you really > want to understand Ruby's object model it also helps if you go down to > the C level implementation.[1] maybe this is because you have always thought classes were not objects, I, for one, found it extremely strange when I discovered in some languages they are not :) (Classes are objects even in java and python, btw ;)