Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^4: Often Overlooked OO Programming Guidelines

by hardburn (Abbot)
on Dec 30, 2003 at 14:54 UTC ( #317694=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Re: Often Overlooked OO Programming Guidelines
in thread Often Overlooked OO Programming Guidelines

Nah, it's a hack. Useful, but still a hack. Why?

  • Before even using objects (in the bless sense), a Perl programmer already has to understand references, packages, and complex datastructures. Java programmers create their first object when they write a "Hello, World!"
  • Lack of a good way of doing protected methods/attributes (many people think that doing private data can't be done, but it's do-able using lexicals declared at the top of the package)
  • No subroutine prototypes (well, no useful subroutine prototypes, especially in terms of objects)
  • No compile-time checking of method lookups, which consequently makes it:
    • Slow
    • Unable to inline constant methods
    • Impossible for use strict 'subs'; to help you
  • Generally makes it easy to do objects wrong

----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer

: () { :|:& };:

Note: All code is untested, unless otherwise stated


Comment on Re^4: Often Overlooked OO Programming Guidelines
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (10)
As of 2014-08-29 22:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (289 votes), past polls