Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
I'm looking for a list of well-written Perl modules.

This is a very difficult request, because of TIMTOWTDI one mans well written code is another mans crap. Personally Austen puts me to sleep and I think Hemingway can be a pompous homophobic ass, sure they can write well, but the subject matter and style don't appeal to me. I would rather a whirlwind of sex and insight with Henry Miller or a good drug-induced paranoid romp with Phillip K. Dick or enjoy a good graphic novel by Joe Sacco or Art Speigelman or one of my all time favorites Alfred Bester whose work always leaves me wishing he had written more. But hey, thats whay I enjoy reading, which is just a highly subjective opinion coming from a complete stranger.

Code I think (as you indicate as well) is much the same. I personally enjoy reading code, I get a lot of satisfaction from it and I agree with you that I find it a valuable learning experience. But given the choice I like to read code in functional languages (or code written in a functional style). Standard ML is a favorite of mine, along with Erlang and sometimes Haskell (LISP and Scheme just have to many parens to make them enjoyable to read). My code, although almost always OO, leans towards that functional style too. To those of the more imperitive persuasion, this may make my code akward and difficult to follow. Some people out there like reading C, personally it just gives me a headache (although I find I have to do it a lot, so I am getting more used to it).

So I guess my point is that you may have a hard time finding good modules to read if you go looking for them. I would instead suggest that you try reading the modules you use often first. Since you know what they do from the outside, you are better prepared to understand them from the inside. And don't worry so much about the good code/bad code thing as sometimes reading bad code can be a valuable learning experience too. And just like books, if you find an author you like, you can try reading their other works too.

... Things you've written yourself that you'd self-nominate for closer public scrutiny.

I was a fine arts painting major and we would many times have daily critiques and I used to really enjoy when I got blunty honest yet constructive criticism. So I don't mind throwing my work up for public scruitiny at all, here is my page on CPAN. I think I am the most happy with Tree::Binary right now, but that might a honeymoon thing since its my most recent one. But anyway, feel free to fire away.

-stvn

In reply to Re: Looking for examples of well-written modules by stvn
in thread Looking for examples of well-written modules by xdg

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others surveying the Monastery: (7)
    As of 2021-01-18 11:03 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?
      Notices?