ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1918 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Title:
Encyclopedia of Software Engineering (2 vols) edited
Author:
John Marciniak
ISBN:
0 471 37737 6
Publisher:
Wiley
Pages:
1920pp
Price:
£425
Reviewer:
Francis Glassborow
Subject:
engineering
Appeared in:
14-2
It is difficult to review an encyclopaedia because the quality will normally vary across the range of articles. This is further compounded because it is inconceivable that any single person will be able to judge the quality of all the material. Given those constraints a reviewer can only check such things as the authority of the contributors, the quality of the index and the apparent completeness of coverage.

With this in mind I turned to the index and looked up:

Objective C: no entry

Ruby: no entry

Scheme: two entries (the first is because it is mentioned a couple of times in a column and a half covering Specification Languages. Once in a list of other scripting languages.

Inferno: no entry, though it is in fact listed under other scripting languages.

Python: two entries. The first is one of those do nothing entries where the writer simply lists it as something he will cover. Two pages on we come to the main entry, which is a column and a half.

C#: no entry

Occam: two entries both of them are to mere mentions of that language which provide no detail.

FORTH: a single entry which points to a mention in an article on real-time languages which provides no useful information.

These are just a very few of the languages I could have checked had I been interested. You may think that looking for C# was unfair, but I will come too that in a moment.

I next, laboriously checked every one of the 52 entries listed under C and C++. During that check a number of points surfaced.

First the only article on C or C++ is one written by Bjarne Stroustrup and Andy Koenig. Those are excellent writers who can write with authority but note that there is no actual article on C, and Bjarne and Andy's article is substantially about C++ (as you would expect, I think they assumed that someone else would be writing on pure C)

Nowhere is there an article on embedded C, and the short article on Embedded Systems makes no reference to C.

One of the C references is actually to a mention of Objective-C (why wasn't that in the index). The first reference to C is to a page that also separately mentions C++ but is not in the C++ references in the index. Another of the C references is actually 'C' as in persons A, B and C.

Almost all the references listed are to trivial cases where no substantive information is provided.

From the above I think I can conclude that there are substantial omissions both in the work as a whole and in the index in particular. Correct indexing is always important but especially in the case of an encyclopaedia.

Now what about that lack of an entry for C#? Am I just being picky? I think not. The point is that material such as this just does not belong on the printed page. It needs constant updating. Note that there are many urls mentioned in articles. In principle these are very useful, but in practice they go out of date so enshrining them in print makes the book have a limited shelf life. Considering the cost of this book (obviously aimed at libraries in academia) it should have a credible life of at least five years.

Material such as this should be distributed on CD, perhaps with a regular update service. That makes quoted urls much more useful because they can be used without retyping and via updates can be corrected.

One final note about the programming side, the article on C++ specifically claims that C++ was developed for systems programming. But there is no mention of it in the article on systems programming languages. That sort of raises questions as to the authority of the writer of that article because we can assume that Bjarne Stroustrup knew what he was designing C++ to do.

These volumes also have an overwhelming US bias in places. A substantial article on intellectual property rights (copyright, patents, trademarks etc.) is by an American lawyer and entirely concerns US law. That would matter less if it were not the case that US and European law is substantially different in this important area.

I hardly need to say that I do not recommend you buy this book (at the price you would not consider it). However I should add that you should use a library copy with a degree of circumspection because despite the authority of many of the contributors it is, in my opinion deeply flawed.