On Fri, 2002-09-06 at 13:48, Andrew Hunt wrote:
> 
> Larry Wall is reputed to have said:
> 
>     >For instance, I think it's a violation of the Beginner's Principle of 
>     >Least Surprise to make everything an object. To a beginner, a number is 
>     >just a number. A string is a string. They may well be objects as far as 
>     >the computer is concerned, and it's even fine for experts to treat them as 
>     >objects. But premature OO is a speed bump in the novice's onramp. "
> 
> I think Larry's off his rocker on this one.  Consistency is far
> more important than familiarity.  IMHO, Larry is demonstrating a 
> widely-held bias that objects are somehow "different" and should 
> be segregated and not taught to beginners.

Which, geven the time of his rise to ascendency would be expected. We
are all a product of "our times". While complexity theory has been
around since the 70's (some would say off and on since the time of the
Egyptians) but was not widely known outside of very tight academic
circles before the mid-90's. Thus, Larry can be forgiven for thinking
the concept of "objects" too difficult for the beginner.
> 
> I think that's a load of crap; exposing native types as non-objects
> in Java, for instance, is to me one the largest failings of that language.
> 

Unfortunately, it is worse than just a "mere load of crap"; it's a time
bomb. I know through a contact one large brand (not at liberty to say
who) had to replace their Java-based e-commerce solution in order to
efficiently scale up. (My contact solved their problem with perl/MySQL.)
I suspect, as time unfolds many more such issues will arise, especially
regarding maintainability.  

> I thinks that's why so many people have trouble mastering OO concepts:
> because it's taught as a sort of an add-on to already entrenched 
> procedural, linear thinking.  It's been my experience that you get
> better mileage is you start with objects right out of the gate -- which
> is exactly what Dave and I did in the pickaxe book.

OO isn't taught well IMO. "Pickaxe" is a rare exception. The irony is
that Ruby is closely modelled in accordance with contemporary thinking
in modern theoretical physics where everything -is- an object (in
concept, not necessarily name). The physical world in which we live is
de facto Rubyesque. :-)
 
Regards,

Kent Starr