Your local bookstore contains a vast warehouse of knowledge, but the most comprehensive and up-to-date volumes generally come at a steep price. There’s nothing worse than pulling your hair out trying to find the information you need in a substandard book that just set you back $80 or more!
To help out those of you who are looking to take up a new server-side Web development platform, I spent a few hours at my local Chapters superstore taking in more than one latte as well as some of the best books for ASP.NET, PHP, JSP and Cold Fusion available today! Check out my picks for the best books for each of these platforms; you should be able to decide on a title without spending a penny on overpriced coffee!
Though still in the Beta 2 stage as of this writing, Microsoft’s new Web development framework has reached the stage of feature stability; that is to say, the only changes between Beta 2 and the final release of ASP.NET (and the .NET framework upon which it is based) will be bug fixes. For this reason, books on this new platform are already hitting store shelves.
The master of tutorial-style books, SAMS doesn’t disappoint with this title. The practical way that material is presented through a series of 21 projects, each of which is designed to be completed in less than a day (experienced developers should be able to plow through each chapter in an hour or two of solid reading), will appeal to "hands-on" types that get frustrated with reference-style books that give you as much information as possible, expecting you to be able to put it to practical use on your own.
Though ASP.NET allows developers to work in any of the .NET framework’s supported languages (VB.NET, C#, and JScript.NET), this book focuses mainly on VB.NET, which many existing ASP developers will choose because of its similarities to VBScript, the most popular language for ASP 3.0 scripting. C# is introduced very briefly in Day 4 of the course; however, readers looking for a complete guide to ASP.NET development with C# may be better served by Wrox Press’ new title, Beginning ASP.NET with C#, which unfortunately was not available in bookstores at the time of this writing.
Existing ASP developers will also find a lot to like in Teach Yourself ASP.NET in 21 Days. Each day ends with a section entitled "That’s Not ASP!" that covers the differences betwen previous versions of ASP and the ASP.NET material covered that day. Experienced ASP’ers may want to start by reading this section at the end of each chapter to whet their appetite for the powerful new features ASP.NET has to offer, before diving into the meat of the chapters.
Beginning ASP.NET with VB.NET (Wrox Press)
Wrox Press actually offers two introductory ASP.NET books; in theory, your choice should depend on which .NET language you prefer to use for Web development, VB.NET or C#. Since the vast majority of ASP.NET developers will, at least at first, be migrating from ASP (where VBScript was the language of choice), Beginning ASP.NET with VB.NET will likely be the more popular choice. Developers with some Java (or better yet, JSP) experience may be more comfortable with Beginning ASP.NET with C#, which is syntactically much closer to Java.
Beginning ASP.NET with VB.NET covers a somewhat smaller core portion of the ASP.NET framework than the SAMS offering, leaving out such advanced topics as security and WAP development with mobile server controls. With this additional focus on the core features of the language comes slightly more depth in the technical aspects, though not enough to qualify this book as a technical reference. Technically minded readers getting started with ASP.NET may prefer the balance offered by this book, however.
The main difference between this title and SAMS’ is the structure. Where the Teach Yourself ASP.NET in 21 Days organized the material into day-long lessons to offer a structured learning path, Beginning ASP.NET with VB.NET adhere more closely to a feature-based breakdown, where each chapter covers a particular feature of the ASP.NET framework. For this reason, this title will be of greater use as a desk reference once its mission of providing an introductory tutorial is complete.
Unfortunately, what would otherwise be an ideal introductory text for ASP.NET developers is somewhat crippled by what I found to be some fairly week introductory sections. Fundamental concepts such as the basic server controls for generating forms are not covered in enough detail, and tend to suffer from a level of writing that is below par. If you’re happy coasting through these sections with only a partial understanding of the material, you should be able to pick it all up by examining the examples in later chapters; however, this weak foundation may be discouraging to inexperienced readers.
Professional ASP.NET (Wrox Press)
Following in the footsteps of Professional ASP 3.0 (see my review here), Professional ASP.NET provides the deepest, most technically detailed reference around for Microsoft’s new Web application development framework. Depending on the kind of developer you are, this may mean you’ll want to go out and buy the book today, or it may make you stay as far away from it as possible!
Developers who are new to server-side programming, or who are not completely comfortable with programming in general should look elsewhere. This book is not a tutorial guide to the basics of ASP.NET. Although the chapter titles of this book correspond very closely to those in the SAMS book above, the authors of this book have adopted an entirely different attitude. Instead of making it as easy as possible for the reader to learn the basics, this book delves deep into the technical minutiae of each ASP.NET feature covered, and leaves the applications for you to figure out.
As in Professional ASP 3.0, the appendices of this book are perhaps strikingly sparse. The reasons for this are twofold: firstly, the book itself is geared heavily towards easy reference, so providing appendices could be viewed as redundant. Secondly, Wrox have just announced a new title, ASP.NET Programmer’s Reference, which will no doubt satisfy the need for an alphabetical reference to all things ASP.NET.
Well of course I think my own book is the best book on the subject! Otherwise I wouldn’t have written it, would I?
Seriously, though, this book really does provide the best guide to building database driven Websites with PHP and MySQL. It assumes no prior programming knowledge, and guides you to a complete understanding of both PHP and MySQL, learning both of these exciting technologies "on the fly" as you build a database driven Website from the ground up. Don’t believe me? Check out the first four chapters online for free, and stay tuned for a more impartial 3rd party review on SitePoint.com soon.
Attractively designed and very easy to read, this book was a pleasant surprise. I honestly didn’t think there were any well-written, up-to-date books on the PHP language out there. Although it relies on a familiarity with the basic concepts of programming (statements, variables, if-statements, etc.), this book does a good job of presenting the basics of the PHP language from the ground up. Non-programmers may feel a little left behind, however; as the title suggests, the author does not waste much time teaching you the fundamentals of programming.
Topics in this book are logically organized to give you the information you need as you need it. String manipulation functions, for example, are covered in the same section as regular expressions, and are presented as "alternatives to regular expressions", a description that many seasoned PHP developer will nod along to. More advanced topics such as database interaction, session tracking, XML, and security are covered in sufficient detail for experienced developers to pick up the basics and learn the rest themselves, but beginners may struggle to put these tantalizing pieces together to produce a living, breathing Web application without additional guidance.
Be aware that this book does not provide a replacement for the PHP manual’s convenient function reference, nor does it pretend to. There are no reference appendices in this book, and the author clearly states from the start that the role of this book is to ease the learning process, not to regurgitate what can easily be found in the online reference.
Professional PHP Programming (Wrox Press)
Though outdated by some standards, Wrox’s original PHP reference remains my pick for non-programmers who are getting started with PHP. It lacks coverage of PHP4 features such as sessions, heredoc syntax, and Perl-compatible regular expressions, but most of these subjects can be picked up later by means of an online tutorial or two. What’s more, since this is an older title, you stand a good chance of finding a good bargain on a used copy if you take a little time to shop around.
For my complete review of this title, see this article.
Professional JSP, 2nd Ed. (Wrox Press)
For the authoritative work on JSP, you can’t go far wrong with Wrox’s updated and greatly expanded magnum opus, Professional JSP, 2nd Ed. It’s the result of the combined work of no less than 18 authors (all of whose mug shots appear on the cover, in traditional Wrox style). No other book that I’ve been able to get my hands on provides such a complete treatment not only of core JSP concepts, but of the techniques for extending JSP with custom tags, good JSP programming practices, common JSP development methodologies and the major technologies surrounding JSP.
This completeness comes with a big price tag, though, and developers looking only to get their feet wet or to learn the basics of JSP will be easily overwhelmed by the magnitude of this volume. Some readers may also be put off by the rather impersonal tone that a book written by so many different people invariably suffers from.
That said, it’s difficult to argue with the sheer depth of the material to be found in these pages. Professional JSP, 2nd Ed. is the serious JSP developer’s dream come true.
Beginning JSP Web Development (Wrox Press)
Although Professional JSP, 2nd Ed. covers pretty much everything there is to know about JSP and more, the presentation of that vast body of knowledge that is to be found there is not at all suited to the inexperienced developer. If you plan to take it on as an introduction to the world of JSP, you had better be a very capable Java programmer boasting a strong grasp of Web application programming concepts, and with a penchant for learning new technologies by reading technically detailed reference material.
For the typical Web developer seeking to get started with JSP, Beginning JSP Web Development is a much better choice. In fact, it is my best recommendation for an introductory JSP text. Without skimping on the details, this book provides a friendly introduction to the workd of JSP, tackling all the core aspects of the language, as well as some advanced topics like tag libraries, database interaction and email, with a consistent, task-oriented methodology.
As an example of the differences between Wrox’s two titles, I’d like to cite how user sessions are discussed in each title. In Professional JSP, 2nd Ed., knowledge of what user sessions are is all but assumed in advance, and no single section in the book covers how to exploit session management in JSP. The methodology for enabling sessions in a page and making use of them is covered in passing in Chapter 4 ("Basic JSP"), but beginners seeking a good introduction to sessions use will not even find them mentioned in the table of contents! Beginning JSP Web Development, meanwhile, considers this an advanced topic, and dedicates all of Chapter 11 ("Keeping Track of Users") to its discussion. The concepts involved are explained in detail, and several practical examples help drive home the fact that sessions are an integral part of JSP that should not be thought of separately, but used along with the rest of the power of the language.
In short, Beginning JSP Web Development is an excellent introductory text for developers looking to learn JSP from scratch, while experienced JSP developers will find the more voluminous reference that is Professional JSP, 2nd Ed. an indispensable desk reference.
JavaServer Pages (O’Reilly)
Compared to the massive bulk of Wrox’s offerings (though less so for Beginning JSP Web Development), O’Reilly’s JavaServer Pages looks like a light read indeed. Without a doubt, this book does not approach the scope of Wrox’s Professional JSP 2nd Ed., but what it does cover — the core aspects of JavaServer Pages, their relationship with Java Servlets, and the basics of expanding JSP with custom tag libraries — is clearly explained with just the right balance of supporting examples to round out each topic.
Developers eager to get started with JSP, and who don’t want to be overwhelmed by excessive material on complementary technologies or lots of unneccessary hand-holding will find a lot to like in this relatively slim volume. Sure, it won’t teach you the essentials of Enterprise JavaBeans (EJB), but there are entire books on that subject. If you’re an experienced developer who needs to learn JSP fast, O’Reilly’s JavaServer Pages will have you writing JSP pages in no time.
Mastering ColdFusion 5 (Sybex)
This gigantic book (it could easily break toes if dropped) may appear to be an imposing read, which might put off beginners. More tech-savvy readers might see this as a sign of copious attention to detail and depth of coverage. Finally, those who need a reference they can stuff in their laptop bag to take on the road might also be put off by its bulk. Upon closer inspection, however, all three of these assumptions proved to be false.
Of all the books I looked at, Mastering ColdFusion 5 offered the most newbie-friendly presentation and organization. With plenty of hand-holding, step-by-step guides that demonstrate how to accomplish various tasks, this book will provide a great tutorial introduction to ColdFusion for designers and other readers without a technical background. Copious screenshots and use of larger fonts and margins pad out what could have been a much slimmer book; whether this is a good thing or a bad thing is up to you to decide.
Unfortunately for advanced readers who may be enticed by the sheer heft of this massive volume, its size belies the relative lack of advanced material contained within. Advanced topics tend to be covered only in passing in the final chapters of the book.
The appendices in this book are attractively presented for easy reference and generally complete, though the two-column format may annoy some readers. The sheer bulk of the book might be a hindrance to its use as a handy reference, but the searchable PDF version of the book that comes included on the cover CD adds immensely to the portability of this book. If you do CF development on the road, having this complete guide to ColdFusion on your laptop in electronic format might be the factor to sell you on this book.
Programming ColdFusion (O’Reilly)
O’Reilly has always impressed me with its ability to pack more complete coverage of a subject into a smaller package than its competitors. This, I would say, is the chief strength of Programming ColdFusion. If you’re a professional in a hurry and you need to pick up a well-rounded knowledge of ColdFusion with a minimum of hand-holding checklists and step-by-step guides annotated with screenshots, then O’Reilly’s no-nonsense approach should definitely appeal.
A surprising number of advanced topics are treated in the later stages of this book; however, the author seems to have aimed for breadth rather than depth in his coverage here. This will be satisfying to readers who want a quick overview of all the ColdFusion is capable of and don’t mind a little experimentation and referral to the product documentation before gaining a complete understanding of the more obscure features of the language. Readers who need a complete guide to advanced topics such as security, WDDX, and external object integration will likely want to look into the Macromedia Press offering below.
The Macromedia ColdFusion 5 Web Application Construction Kit, 4th Ed. (Macromedia Press)
This offering from the makers of ColdFusion (one of the book’s lead authors is Macromedia’s ColdFusion Product Evangelist, Ben Forta) strikes a pleasing balance between depth of coverage and breadth of topics treated by leaving out the truly advanced features of ColdFusion and putting them into a separate volume (see below).
If anything, this book focuses too much on the basics. The sections explaining how the Internet works, what Web browsers are available, and what place server-side languages like ColdFusion have in the grand scheme of things may be deemed pendantic by more advanced readers (I thought the half-page screenshot of what happens when you misspell a domain name was a little over the top!). The relatively useless appendices (e.g. only a list of available tags with one-line descriptions next to each) were also quite a let-down.
If you’re after a complete treatment of the essentials of ColdFusion 5 without the frills of advanced features or voluminous reference appendices (the product documentation is, after all, fairly complete in this regard), this book is definitely a solid choice. The fact that it complements Macromedia’s advanced title, Advanced Macromedia ColdFusion 5 Application Development without duplication is also a good selling point for readers who need the completeness of this two-volume set and who don’t mind the sticker shock (this book was the most expensive of those I reviewed, let alone the Advanced volume, which will double the final price of your CF reference library!).