in reply to Is Perl Truly an Object Oriented Language?
I can't comment on 2), but as for 1) I would say no, definitely not.
When most people question the OO-ness of a supposedly OO language, usually it's because everything in the language is not an object. Alan Kay invented the term object-oriented to describe his language, Smalltalk, where everything is an object and all operations involve sending messages to objects.
Perl certainly doesn't fit Kay's definition, but even we use the more welcoming standard of the inheritince/encapsulation/polymorphism trio, I still think it doesn't pass, because Perl has no real object inheritance. Yes, you can inherit the methods from another class, but not objects. This results in cruft like this:
sub new { ... my $self = $class->SUPER::new; $self->{host} = shift; $self->{port} = shift; ... }
which clearly violates the law of encapsulation--as well as the law of abstraction--because you have to know the internals of the class you wish to inherit from, and then you go right on in and mess with it directly.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Is Perl Truly an Object Oriented Language?
by Anonymous Monk on Dec 03, 2004 at 15:18 UTC | |
by William G. Davis (Friar) on Dec 03, 2004 at 18:34 UTC | |
|
Re^2: Is Perl Truly an Object Oriented Language?
by hardburn (Abbot) on Dec 03, 2004 at 15:57 UTC | |
by William G. Davis (Friar) on Dec 03, 2004 at 19:11 UTC | |
by Anonymous Monk on Dec 04, 2004 at 03:36 UTC | |
|
Re^2: Is Perl Truly an Object Oriented Language?
by BrentDax (Hermit) on Feb 05, 2005 at 23:21 UTC |