Wednesday, January 14, 2009

Object Oriented Application Development in Java or Beginning Perl

Object-Oriented Application Development in Java

Author: E Reed Dok

Get complete coverage of the Object-Oriented development process! Utilizing Java to develop object-oriented information systems, this text moves from an overview of key concepts and Java fundamentals into a building case study utilizing UML models.



Table of Contents:
Part 1: Object Orientation and Java Fundamentals 1. Object-Oriented System Development 2. Java Programming Fundamentals 3. Java Programming with Supplied Classes 4. Object-Oriented Analysis and Design in a Nutshell Part 2: Defining Problem Domain Classes 5. Writing a Problem Domain Class Definition 6. More About Problem Domain Classes 7. Generalization/Specialization and Inheritance 8. Additional Inheritance Concepts and Techniques 9. Implementing Association Relationships Part 3: Defining GUI Classes 10. Writing Graphical User Interfaces 11. A GUI Interacting with a Problem Domain Class 12. Designing Multi-Window Applications 13. Using an Integrated Development Environment Part 4: Defining Data Access Classes 14. Designing Data Access Classes 15. Creating More Complex Database Applications Part 5: Deploying the Three-Tier Application 16. Combining the Three Tiers: GUI, Problem Domain, and Data Access Classes 17. Deploying Java Applications on the Web

New interesting textbook: Self Healing Reiki or Eldercare 911

Beginning Perl

Author: Simon Cozens

Perl is an immensely popular scripting language that combines the best features of C, key UNIX utilities and a powerful use of regular expressions. It has a wide range of uses beyond simple text processing and is commonly used for web programming - creating and parsing CGI forms, validating HTML syntax and hyperlinks - as well as e-mail and Usenet news filtering.

Perl is increasingly the system administrator's scripting language of choice and is used for file and directory manipulation, database access and a whole range of daily system operator chores.

Electronic Review of Computer Books

There are two groups of programmers in this world -- those who know enough about Perl, and those who don't. Thanks to Perl's rather exuberant personality, you can make a pretty good argument that the first group is the null set.

Which brings us to the obvious question: How does a reasonably educated programmer get up to speed with Perl? Simon Cozens's Beginning Perl is a respectable starting point, and it also weighs in at about 400 fewer pages than "the camel book" -- Programming Perl, third edition, by Larry Wall et al., (O'Reilly & Associates, 2000). Beginning Perl's stated audience, as well as its initial chapters, aim the book squarely at those new to programming. Of course, introducing someone to programming via Perl and its eccentricities is a disturbing concept, to say the least.

Cozens approaches his topic in a big way, tackling everything from Chapter One's "First Steps in Perl" (with the obligatory "hello, world" program), up to CGI programming, debugging, database access, and module creation and use, plus a series of reference appendices. Throughout, he displays a writing style that's casual enough to be inviting, but without losing much in precision.

That reader-friendly style is repeatedly put to the test by the subject matter, and Cozens does a nice job of detailing the ins-and-outs of Perl's handling of variables and variable interpolation, lists, hashes, references, control statements, and more. The author was clearly on the lookout for opportunities to drop into a shadowed box and emphasize some small but critical syntactic point, such as when to use brackets ([]) and when to use curly brackets ({}), or how to deal with Perl's built-in variables. About the only way the publisher could have improved that aspect of the book would have been to prehighlight those snippets in bright yellow and dog-ear the pages.

Nowhere are Cozens's pedagogical and descriptive skills put to a greater test than in Chapter Five, "Regular Expressions." This is probably the one area where Perl most earns its reputation for source code that looks like your cat walked across the keyboard. Undaunted, Cozens plunges in, and does an admirable job of explaining and demonstrating the key issues and techniques.

Thanks to the continued webification of the world, Chapters 12 and 13 (covering CGI programming and database access, respectively) are of particular interest. Even though both chapters are largely quick introductions to concepts with some code samples, they will likely be heavily used as references.

My biggest complaint with this book is that Cozens handles the language and the ramifications of its use a bit too gently. In numerous places, he points out minor potholes that authors such as himself can easily fall into, and he typically makes solid recommendations to help avoid problems. But then he doesn't go far enough, and some of his advice is akin to telling people that they should handle nitroglycerin carefully because it will stain their clothes. While this might well be true (I haven't a clue, not being an explosives expert), it ignores a far more compelling and potentially dangerous issue. For instance, when discussing object-oriented programming, Cozens provides an example that shows how to set the attributes and values of an instance of an object by passing its constructor a hash (basically a 2D array). This technique might be handy, but it's the equivalent of letting code outside the object determine the number, name, type, and contents of an object's variables, something that should make just about any self-respecting programmer run screaming for the hills. Yet Cozens is remarkably sanguine about the prospects of people doing such things. Perhaps long use of the language has made him immune to such anything-goes Perlisms.

A close second to the first objection is the use of examples. Beginning Perl is peppered with example code, normally an excellent thing in this type of book, but Cozens falls into the trap of making virtually all the examples so short and tightly focused on the topic at hand that they never give readers the "30,000-foot view" of the language. Given the amount of nontrivial code being written in Perl today, I'm sure many readers would benefit from seeing several much longer examples that pulled together techniques from various sections of the book into a more coherent whole.

Beginning Perl is a good book (its curious positioning as an introduction to programming aside), and it should provide just about anyone with a solid introduction to one of the hottest and most important languages on the Internet.



No comments:

Post a Comment