ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib 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 1949 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
Mobile Processing in Distributed and Open Environments
Peter Sapaty
0 471 19572 3
Nigel Armstrong
Appeared in:
The publishers of this book ought to be prosecuted under the Trades Description Act. The title suggests a general treatise on mobile computing, but in fact this is about a very specific topic, that of the WAVE language, which appears to be the author's life's creation.

If you have not heard of the WAVE language do not worry; it seems to exist only in the author's head and as a somewhat limited implementation for the SunOS operating system. For a language that is supposed to be open the lack of ports is a disappointment to say the least, especially as it prevented me from evaluating it properly.

The language itself is unusual, though that should not count against it. According to the author it has applications in a very wide range of fields, from network management to the travelling salesman problem. Essentially, it is an architecture for distributed program interpreters. The language executes in a conceptual network in which each node acts as a local namespace; program fragments are transmitted between nodes and execute in parallel. This architecture, according to the author, is supposed to be highly flexible and have some unique advantages over more traditional approaches.

From my limited exposure to the language, I would suggest that there are some problems with it. There is no concept of data hiding or abstraction: this means that all parts of a program are potentially global in scope, with familiar consequences for scalability and maintainability. Another problem is that in the samples given it is frequently difficult to see how the problem translates readily to the solution. Part of this is due to the idiosyncratic syntax of the language, but I also suspect that the highly parallel nature of the architecture--which is not how people tend to tackle problems, even if their brains work that way--may act as a barrier.

In summary this is not a book one could recommend, except to the very small number of researchers who have enough time to investigate whether the author's claims are justified and to build the tools one would need to make practical use of the language.