Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Re: Re: Re: Re: Re: Re: Re: Teach him a lesson with facts

by Anonymous Monk
on Feb 23, 2003 at 18:48 UTC ( #237926=note: print w/replies, xml ) Need Help??


in reply to Re^7: Teach him a lesson with facts
in thread Teach him a lesson with facts

;-) Pure tech discussion.

One problem with Perl OO is that it does not deliver everything OO requires in theory. That we all see it, and I saw you agreed.

Another big problem I see with Perl OO is that, becasue of Perl OO is usually implemented as hash, and Perl hash takes lots of memory, this "bad" combination actually make things worse.

I think something need to be done about this, before Perl's OO can be 100% accepted by me, actually not just me ...
  • Comment on Re: Re: Re: Re: Re: Re: Re: Re: Teach him a lesson with facts

Replies are listed 'Best First'.
Re^9: Teach him a lesson with facts
by adrianh (Chancellor) on Feb 23, 2003 at 20:36 UTC
    One problem with Perl OO is that it does not deliver everything OO requires in theory. That we all see it, and I saw you agreed.

    Actually, what I said was "It lacks useful things like direct support for private methods/attributes. However, these can be implemented using other language features. It's rarely an issue in real world code in my experience." (my emphasis).

    Perl's OO model has good and bad points. Personally I prefer Perl's OO and dynamic typing to Java's lack of multiple-implementation inheritance and lack of generic classes.

    I'm not anti-strong typing. When done well (e.g. Eiffel) it can be a god send. With Java's lack of generics it can be a complete pain.

    Another big problem I see with Perl OO is that, becasue of Perl OO is usually implemented as hash, and Perl hash takes lots of memory, this "bad" combination actually make things worse.

    If memory is an issue. Like speed it often isn't. When it is, there are alternate mechanisms for representing objects. I have never had memory problems due to using hashes as objects.

    I think something need to be done about this, before Perl's OO can be 100% accepted by me, actually not just me ...

    Perl 6 will be providing most of what is "hard" to do directly in Perl 5.

    If you're unhappy with Perl 5's "default" OO model you have the flexibility to write your own. Witness such neat modules as Class::Contract.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://237926]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2019-10-13 20:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?