Rob Kinyon skribis 2006-01-19  9:15 (-0500):
> OOP is all about black-box abstraction.

This is probably the fundament of our disagreement.

OO is about objects, which CAN BE but DO NOT HAVE TO BE
black-box/opaque.

It is customary, and good style, to treat objects as black boxes, but
their actual implementation can differ, given proper abstraction.

> To that end, three items have been identified as being mostly
> necessary to achieve that:

I'd say these are extremely useful and highly desired, but theoretically
optional.

> P5 excels at #1, does #2 ok, and fails completely at #3. Now, one can
> argue whether the programmer should make the decision as to whether
> strong encapsulation is desirable, but the point is that you cannot
> create encapsulation in Perl that someone else cannot violate.

Neither can you in any language that lets you poke into its internals.
However, that means that the internals define a property of the
language, which I think is reversed logic.

> it seems silly (to me) to cripple P6 out of a misguided effort
> to maintain backwards compatibility with P5.

It's as useful as Inline::Java. That means different things to different
people. To me, it means I can re-use code more easily.


Juerd
-- 
http://convolution.nl/maak_juerd_blij.html
http://convolution.nl/make_juerd_happy.html 
http://convolution.nl/gajigu_juerd_n.html

Reply via email to