Tuesday, May 12, 2009

A Great Free Online Books Repository

I recently blogged about the availability of Common Java Cookbook as an open and freely available book focusing on Apache Commons. I also pointed out in that blog post that I had learned of the availability of this book via a DZone post. Another DZone post has now pointed me to an outstanding collection of freely available online technical books.

The E-Books Directory has links to online viewable and downloadable books on subjects as diverse as Ada, C, C++, Java, Ruby, XML, and general software engineering. Although I did not see a link to Common Java Cookbook, the book Apache Jakarta Commons: Reusable Java Components (2005) is linked to from this repository. The freely available online books linked to from this site vary in format; some are PDF, some are HTML, some are zipped PDF and/or HTML, and so forth.

Several books of interest to Java developers that are linked-to from this site include 1000 Java Tips (2005), Beyond Java (2005), Thinking in Enterprise Java (2003), How to Think Like a Computer Scientist (Java Version) [2008], and Introduction to Programming Using Java (2006). There are also several other older editions of well-known Java-related books available here. I found that I was aware of the availability of about 1/3 of the listed books related to Java, but there were some nice surprises.

Books for the Ruby developer include several that most serious Ruby developers were already aware of such as "the Pick Axe Book" (Programming Ruby: A Pragmatic Programmer's Guide, 2000) and why's poignant guide to Ruby (current/2008). One of the listed books here, Ruby Essentials (2007), is available via online HTML for no charge or in PDF for a nominal charge ($4.99 at time of this writing).

Some potentially useful and interesting XML-related books linked to from this repository include SVG Essentials (2002), Processing XML with Java (2002), Essential XML Quick Reference (2001), and An Introduction to XML and Web Technologies (2006).

The Software Engineering section of this repository has links to books on general software engineering such as Building Skills in Object-Oriented Design (2008), Essential Skills for Agile Development (2004), Software Engineering (2008), and The Guide to the Software Engineering Body of Knowledge (2004), but also includes books on other miscellaneous software development subjects. For example, the section includes several books on version control: Version Control with Subversion (2008), Subversion Version Control (2005), Essential CVS (2006), and Version Control with SVK (2004).

As far as I can tell, this is a repository of links to online books rather than a repository of the online books themselves. Many of the books are old in technical years, but some are relatively recent and some cover subjects for which books can age fairly well. In many cases, some of these freely available books might be helpful for at least getting an overall view of a particular concept and then freely available online articles and blogs can be used to supplement and update information. Some of the books are very current and are freely available for reasons other than the age of the book.

When looking at any of these freely available books, I do think it is important to take into account the year published, the effect of the year published on the particular topic, the quality of the author, the quality of the publisher, and so forth. Even though the book is freely available, it is still caveat emptor with your time being the "cost" you pay as the buyer. In some cases, technologies have changed enough that learning from an old edition can actually be more harmful than helpful. In other technologies and concepts, a few years won't make that much of a difference.

No comments: