http://qs1969.pair.com?node_id=489771


in reply to Documenting non-public OO components

Perl actually has infiniti levels of access -- just name them and document them! Access control is no substitute for documentation and self-discipline.
  • Comment on Re: Documenting non-public OO components

Replies are listed 'Best First'.
Re^2: Documenting non-public OO components
by creamygoodness (Curate) on Sep 08, 2005 at 00:37 UTC
    Freedom isn't free.

    It's a PITA to figure out how to convey public/package/protected/private when the code CAN'T self-document because access control levels aren't part of the language. Not having those constraints in Perl allows all kinds of wacky OO structures (for better and worse), but there's no easy, efficient, widely understood ACL-documenting convention in Perl besides the leading underscore, and that's totally inadequate for large systems consisting of dozens of classes.

    It would be nice if I didn't have to reinvent this wheel. I strive to be one of those people who can assess the strengths and weaknesses of various languages without descending into polemics and bigotry; I humbly submit that while the straight-jacket Java imposes causes other problems, it sure does make documenting ACLs a lot easier than good-ol'-anything-goes Perl. As a consequence, I have less time to spend on other things, and I don't like that.

    --
    Marvin Humphrey
    Rectangular Research ― http://www.rectangular.com