in reply to From the Void and into the Light...
When I was starting to look around for programming help for advanced languages (C/C++), at the time, the best resource was USENET (this was before Sept 1993). With a very high signal to noise, and with many of the bigger names posting help often, I learned a lot from just reading the newsgroups and trying things out on my own. These groups also commonly referred to a few key books that I strived to own (as a poor starving grad student :-), which is how I knew to distill the bulk of the programming books out there to key volumes. Unfortunately, I doubt that today that USENET can be used in a similar fashion; while most of the comp.lang.* tree is at a reasonably high S/N ratio compared to other groups, you don't have the big names posting, and thus advice there should be always taken with a grain of salt.
But sites like PM have come to replace the problems with USENET, with a significantly high S/N ratio and moderation to deal with 'problems'. And in similar fashion, some of the bigger names in the perl industry are posting here and helping out, and recommending books and other resources. So the best way to find out good resources (books or websites or otherwise) is to continue to read and keep your preverbal ears open for any sort of help.
Now part of the problem is that books on programming and design theory are typically taylored to a language, save for the number of volumes written on OOP (which generally have a fixed langauage as an example, but are not attempting to teach that language). As an example, the excellent "Object Oriented Perl" by Damian, while a great book about perl and OOP, is strictly about perl *and* OOP, so while you can get a lot of good perl programming design ideas, it does not particually lend itself well to, say, Java or C++ and OOP. Similarly, I've read some good Java OOP design pattern books, but the information on patterns does not reversibly apply to perl.
Note that this does not mean that that nothing in, say, a C++ OOP book could be used to help in perl. While there are significant differences at the language level that cannot be shared, there are some object designs, such as the Model-View-Controller of Swing/Java, or the so-called Factory object pattern, that can be applied to perl just as well. For example, Scott Meyers has two books, 50 Effective C++ Tips and 50 More Effective C++ Tips (titles off the top of my head) that have an assortment of language specific and design pattern, language neutral tips that I would recommend for perusal for a perl programmer, though not necessarily to buy for one's bookshelf.
So again, the best solution is to listen on newsgroups and web boards akin to PM to locate solutions that might be best for the language of interest. If that's perl, then there's already a good wealth of books on programming design for that, and you'll find reviews and comments on them here at PM. But if it's in Java or C++ or other language, you'll probably need to do a bit more digging. Look around at the newsgroup FAQs for the language, for a start; I'm pretty sure that a good list of comprehensive books for most languages is included in those FAQs. Find language 'index' pages that typically enumerate all the possible resources for that language on the net and in print. Look at reader reviews at sites like Amazon, or other specific programming sites. And if possible, spend time in a browsable bookstore and read through a chapter or two and see if it meets your goals. Some books even have sample chapters on the web in PDF format that you can view as well. But this last point is important: just because 99% of the population says a book is 'significant' doesn't mean that you'll automatically gain information from it; you may find the writing style to be hard to learn from, or poor, unexplained examples, or a presumed reader level that is much higher than you expected (a good example: Programming Perl is a great book, but you *need* to know a good amount of perl before you get your money's worth from the book, while the Learning Perl is better for the perl newbie).
Update Err, HIGH S/N, that is ;-)
-----------------------------------------------------
Dr. Michael K. Neylon - mneylon-pm@masemware.com
||
"You've left the lens cap of your mind on again, Pinky" - The Brain
"I can see my house from here!"
It's not what you know, but knowing how to find it if you don't know that's important
|
|---|