Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Elements of Programming with Perl

by martin (Friar)
on Jan 29, 2006 at 17:39 UTC ( #526293=note: print w/replies, xml ) Need Help??

in reply to Elements of Programming with Perl

Teaching Perl to an audience with little or no programming background is quite an ambitious task. Elements does a surprisingly decent job filling that niche of introductory texts.

However, I find the coverage of object orientation in the last two chapters plain dreadful. The point of OO is abstraction, separation of different aspects of a problem in order to get reusable components of limited complexity. A textbook should aim to showcase how a carefully designed component is indeed reusable.

Johnson misses this mark rather spectacularly when he builds a "Queue" class based on a "Stack" class that has of course to be changed in the course of this endeavour (and thus proven not to be reusable).

I recommend students to switch to Learning Perl Objects, References and Modules after chapter 17. Besides that, I like the book.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://526293]
[choroba]: Well, merging two hashes recursivelly is not that hard either, but...
[Corion]: choroba: Yeah - I think I used (and extended) Hash::Merge for recursive merging
[Corion]: I still wonder if I should maybe publish Config::Collect, which (I think) is the dumb hash merger
[Corion]: It still needs some more ways of specifying defaults (in memory) and loading files (user-supplied loader(s)/ callbacks?), and the app-specific parts ripped out...
[Corion]: Also, the Config::Spec part(s) need more work to document how to pass in things from a data structure and from %ENV (or any other hash)

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (8)
As of 2018-02-23 19:28 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (310 votes). Check out past polls.