Talking with Computers: Explorations in the Science and Technology of Computing

Charles Oppenheim (Loughborough University, Loughborough, UK)

Journal of Documentation

ISSN: 0022-0418

Article publication date: 1 December 2005

163

Keywords

Citation

Oppenheim, C. (2005), "Talking with Computers: Explorations in the Science and Technology of Computing", Journal of Documentation, Vol. 61 No. 6, pp. 813-814. https://doi.org/10.1108/00220410510632149

Publisher

:

Emerald Group Publishing Limited

Copyright © 2005, Emerald Group Publishing Limited


The vast bulk of this 300‐page paperback is a rambling exploration of programming skills and tasks; using a variety of different examples of tasks, the author takes the reader through his thought processes for building the code using a variety of different programming languages, including Perl, Prolog, Lisp, shell programming, UNIX, and Scheme. Using these simple tasks, the author shows how he would go about programming the tasks, something he clearly enjoys as he states that he writes code virtually every day of his life. There is an associated website that complements the book and offers bits of code, tips on installing software, links to online resources (a few of which did not work when I tried them) and exercises.

The vast bulk of the book is devoted to these simple programming examples, but towards the end, the author moves into more interesting areas, including genetics, machine intelligence and free will.

It is unclear who the book is aimed at, though I suspect it is computer science students. If it is aimed at proficient programmers, it is difficult to understand the value of Chapter 9, which considers the fundamentals of how computers work, or the simplicity of the programs being described. Chapter 12 requires a sophisticated understanding of mathematics which, from my experience of computer science students, few will have. On the other hand, the two chapters at the end will appeal to non‐computer professionals, but many of them will have given up on the book before they reach those chapters.

All told, this book will probably only appeal to computer science students and those who program for a living or as a hobby and it is unclear to me how useful or interesting they will find such a book, as I am not of their ilk. Despite the claim in the blurb that this book considers such questions as how can a computer recognise junk mail; what happens when you click on a link in a browser; how can you program a robot to do two things at once; and are there limits to what a computer can do, it is much more focused, and many of the questions are answered simply in terms of programs.

Overall, the book is unlikely to be of interest to readers of Journal of Documentation. It will be interesting to see what reviewers in computer science make of this curious mixture of a book.

Related articles